Χαρακτηριστικά & Κατηγορίες μικροεπεξεργαστών
Χαρακτηριστικά μικροεπεξεργαστών
.png)
.png)
Για να εκτελέσει μια εντολή ο μικροεπεξεργαστής, εκτελεί μια σειρά από διαδοχικές λειτουργίες. Κάθε μία από τις λειτουργίες αυτές διαρκεί ένα χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο
κάποιο ρολόι. Σε κάθε ''κτύπο'' του ρολογιού ο μικροεπεξεργαστής εκτελεί μία στοιχειώδη λειτουργία. Το ρολόι είναι ένα σήμα το οποίο παράγεται από ένα εξωτερικό κύκλωμα.Το σήμα του ρολογιού, εναλλάσσεται μεταξύ της στάθμης των 5 Volts και αυτής των 0 Volt. Λόγω του σχήματος του το σήμα αυτό ονομάζεται τετραγωνική παλμοσειρά. Το χρονικό διάστημα μεταξύ δύο διαδοχικών εναλλαγών του σήματος, για παράδειγμα από τα 0 Volt στα 5 Volts και πάλι στα 0 Volt είναι ίσο με μια ημιπερίοδο του ρολογιού. Δύο διαδοχικές ημιπερίοδοι αποτελούν μια περίοδο ή έναν κύκλο του ρολογιού.
.png)
Η συχνότητα του ρολογιού δείχνει το πλήθος των κύκλων του ρολογιού στη διάρκεια ενός δευτερολέπτου. Για τους σύγχρονους μικροεπεξεργαστές το μέγεθος αυτό είναι της τάξης των GHz. Το ένα GΗz είναι ίσο με ένα δισεκατομμύριο κύκλους το δευτερόλεπτο. Αν ένας μικροεπεξεργαστής έχει περίοδο 10 nsec, τότε η συχνότητα λειτουργίας του είναι 1/(10x10-9)= 108 = 100ΜΗz. Κάθε μικροεπεξεργαστής είναι σχεδιασμένος να λειτουργεί μέχρι κάποια μέγιστη συχνότητα. Συνήθως η συχνότητα του ρολογιού, επιλέγεται να είναι ίση με τη μέγιστη επιτρεπόμενη συχνότητα λειτουργίας του μικροεπεξεργαστή και αυτό γιατί όσο μεγαλύτερη είναι η συχνότητα του ρολογιού τόσο πιο γρήγορα εκτελεί τις εντολές ο μικροεπεξεργαστής. Η συχνότητα του ρολογιού ονομάζεται συχνότητα λειτουργίας του μικρο-επεξεργαστή. Εάν προσπαθήσουμε να υπερβούμε τη μέγιστη συχνότητα λειτουργίας, το αποτέλεσμα θα είναι είτε η λανθασμένη λειτουργία του ολοκληρωμένου είτε ακόμα και η καταστροφή του ολοκληρωμένου κυκλώματος του μικροεπεξεργαστή. Ο ρυθμός με τον οποίο εκτελούνται οι εντολές είναι συνάρτηση της συχνότητας λειτουργίας του μικροεπεξεργαστή. Για την ακρίβεια, η συχνότητα του ρολογιού δείχνει το πλήθος των κύκλων μηχανής που εκτελούνται σε ένα δευτερόλεπτο. Έτσι, αν το ρολόι του μικροεπεξεργαστή είναι 100 ΜΗz (100.000.000 κύκλους το δευτερόλεπτο) αυτό σημαίνει ότι εκτελούνται 100.000.000 κύκλοι μηχανής το δευτερόλεπτο. Ένας κύκλος εντολής αποτελείται από (περισσότερους από ένα) κύκλους μηχανής. Έτσι, αν για παράδειγμα μια εντολή πρόσθεσης χρειάζεται 5 κύκλους μηχανής για να ανακληθεί και να εκτελεστεί και η συχνότητα λειτουργίας του μικροεπεξεργαστή είναι 100 ΜΗz (δηλαδή κάθε κύκλος μηχανής
διαρκεί 10 ns) τότε η εντολή της πρόσθεσης χρειάζεται συνολικά 5*10ns = 50ns για να εκτελεστεί. Συνεπώς είναι δυνατό να εκτελούνται 20.000.000 εκατομμύρια προσθέσεις το δευτερόλεπτο.
.png)
Ένας μικροεπεξεργαστής μπορεί να κάνει αριθμητικές ή λογικές πράξεις μεταξύ των καταχωρητών του. Συνεπώς κάθε φορά τα δεδομένα εισάγονται από τη μνήμη ή από τις περιφερειακές μονάδες σε κάποιο καταχωρητή του μικροπεξεργαστή και μετά πραγματοποιείται η επεξεργασία τους. Ένα σημαντικό χαρακτηριστικό των καταχωρητών του μικροεπεξεργαστή (αλλά και του ίδιου του μικροεπεξεργαστή) είναι το εύρος των καταχωρητών σε δυαδικά ψηφία bits. Όσο πιο ''μεγάλος'' είναι ένας καταχωρητής τόσα ''περισσότερα δεδομένα χωράει''.
.png)
Έστω ότι θέλουμε να εκτελέσουμε μια πρόσθεση χρησιμοποιώντας ένα μικροεπεξεργαστή με τρεις καταχωρητές, τους A, Β, C. Για να εκτελέσει ο μικροεπεξεργαστής την πρόσθεση θα πρέπει πρώτα να μεταφερθούν σε δύο από τους καταχωρητές του οι δύο αριθμοί. Έστω ότι για να αποθηκεύσουμε καθένα από τους αριθμούς χρειαζόμαστε 16 bits. Αν ο μικροεπεξεργαστής διαθέτει καταχωρητές των 16 bits, τότε η αποθήκευση των δεδομένων θα γίνει στους καταχωρητές Α και Β. Η πρόσθεση θα γίνει με μια μόνο εντολή, και το αποτέλεσμα θα αποθηκευτεί στον καταχωρητή C. Η μεταφορά του αποτελέσματος από το μικροεπεξεργαστή στη μνήμη ή σε κάποια περιφερειακή μονάδα χρειάζεται επίσης μόνο μια εντολή. Αν όμως ο μικροεπεξεργαστής που χρησιμοποιούμε διαθέτει καταχωρητές των 8 bits, τότε η αποθήκευση του κάθε αριθμού θα χρειαστεί τουλάχιστον δύο βήματα.
Στο πρώτο βήμα θα πρέπει να βάλουμε στον καταχωρητή Α τα 8 χαμηλής τάξης δυαδικά ψηφία του πρώτου αριθμού, ενώ στον καταχωρητή Β τα 8 χαμηλής τάξης δυαδικά ψηφία του δεύτερου αριθμού. Το αποτέλεσμα της πρόσθεσης αποθηκεύεται στον καταχωρητή C. Αν έχει προκύψει κρατούμενο κατά την πρόσθεση των δύο καταχωρητών, τότε τίθεται η σημαία κρατουμένου της ALU. Τέλος το αποτέλεσμα αποθηκεύεται στη μνήμη
Στο δεύτερο βήμα, στους καταχωρητές Α και Β του μικροεπεξεργαστή θα φορτωθούν τα υπόλοιπα υψηλότερης αξίας δυαδικά ψηφία των αριθμών. Στην πρόσθεση τώρα πρέπει να συμπεριλάβουμε και το κρατούμενο που έχει προκύψει από την προηγούμενη πρόσθεση. Συνεπώς, αν έχει προκύψει κρατούμενο, θα πρέπει να προστεθεί άλλη μια μονάδα στο άθροισμα που προκύπτει από την πρόσθεση των καταχωρητών Α και Β που περιέχουν τα υψηλότερης αξίας δεδομένα. Το αποτέλεσμα αυτής της πρόσθεσης αποθηκεύεται στον καταχωρητή C. Έτσι, για την εκτέλεση της πρόσθεσης απαιτούνται δύο εντολές.
Από το παράδειγμα που αναφέραμε, μπορεί κανείς να συμπεράνει ότι το μήκος των καταχωρητών του μικροεπεξεργαστή επηρεάζει την ταχύτητα με την οποία εκτελούνται οι πράξεις στο μικροεπεξεργαστή. Όσο πιο μεγάλοι είναι οι καταχωρητές του, τόσο πιο γρήγορα κατά κανόνα εκτελούνται τα προγράμματα. Συνήθως οι καταχωρητές έχουν ίδιο μήκος με το μήκος σε bits των υπόλοιπων εσωτερικών μονάδων του μικροεπεξεργαστή, όπως η ALU, το οποίο λέμε και μήκος λέξης του μικροεπεξεργαστή. Η παράμετρος αυτή είναι αρκετά σημαντική για την απόδοση του συστήματος.
Οι μικροπεξεργαστές που χρησιμοποιούνται στην πράξη, χωρίζονται σε 4 κατηγορίες:
• τους μικροεπεξεργαστές με μέγεθος καταχωρητή 8 δυαδικά ψηφία (αναφερόμαστε στους μικροεπεξεργαστές αυτούς με τον όρο ’8-μπιτοι μικροεπεξεργαστές’)
• τους μικροεπεξεργαστές με μέγεθος καταχωρητή 16 δυαδικά ψηφία (αναφερόμαστε στους μικροεπεξεργαστές αυτούς με τον όρο ’16-μπιτοι μικροεπεξεργαστές’)
• τους μικροεπεξεργαστές με μέγεθος καταχωρητή 32 δυαδικά ψηφία (αναφερόμαστε στους μικροεπεξεργαστές αυτούς με τον όρο ’32-μπιτοι μικροεπεξεργαστές’)
• τους μικροεπεξεργαστές με μέγεθος καταχωρητή 64 δυαδικά ψηφία (αναφερόμαστε στους μικροεπεξεργαστές αυτούς με τον όρο ’64-μπιτοι μικροεπεξεργαστές’)
.png)
Ένα άλλο σημαντικό χαρακτηριστικό ενός μικροεπεξεργαστή είναι το ρεπερτόριο των εντολών που διαθέτει. Με τον όρο ρεπερτόριο εντολών (instruction set) ενός μικροεπεξεργαστή, αναφερόμαστε στις εντολές που μπορεί να εκτελέσει. Το ρεπερτόριο εντολών ενός μικροεπεξεργαστή είναι καθοριστικός παράγοντας για να αποφασίσουμε αν είναι κατάλληλος για να χρησιμοποιηθεί σε μια εφαρμογή. Για παράδειγμα, σε μια εφαρμογή ψηφιακής επεξεργασίας της ανθρώπινης φωνής, ο μικροεπεξεργαστής θα πρέπει να διαθέτει εντολές που εκτελούν γρήγορα μαθηματικές πράξεις. Αντιθέτως, για να χρησιμοποιηθεί ένας μικροεπεξεργαστής σε μια εφαρμογή όπως η μεταγωγή κλήσεων σε ένα ψηφιακό τηλεφωνικό κέντρο, πρέπει να διαθέτει εντολές για γρήγορη μεταφορά δεδομένων από τη μνήμη και τις περιφερειακές μονάδες.
Ένα άλλο σημαντικό χαρακτηριστικό των εντολών ενός μικροεπεξεργαστή είναι η συμβατότητα με παλαιότερους μικροεπεξεργαστές. Η πείρα έδειξε ότι ένας νέος μικροεπεξεργαστής είναι καλό να μπορεί να εκτελεί προγράμματα που εκτελούνταν σε παλαιότερους μικροεπεξεργαστές. Με άλλα λόγια το ρεπερτόριο των εντολών ενός νέου μικροεπεξεργαστή, θα έπρεπε να περιέχει όλες τις εντολές του προηγούμενου μικροεπεξεργαστή της ίδιας εταιρείας. Με αυτό τον τρόπο, τα προγράμματα που έχουν γραφτεί για ένα παλαιότερο μικροεπεξεργαστή δε χρειάζεται να ξαναγραφτούν από την αρχή.
.png)
Με βάση το κριτήριο του μεγέθους του ρεπερτορίου εντολών, οι μικροεπεξεργαστές διακρίνονται σε δύο κατηγορίες. Τους μικροεπεξεργαστές διευρυμένου ρεπερτορίου εντολών και τους μικροεπεξεργαστές μειωμένου ρεπερτορίου εντολών. Συχνότατα στην πράξη, αναφερόμαστε στα μικροϋπολογιστικά συστήματα που χρησιμοποιούν τους μικροεπεξεργαστές αυτούς. Έτσι, μιλάμε για υπολογιστικά συστήματα διευρυμένου ρεπερτορίου εντολών (complex instruction set computers, CISC) και για υπολογιστικά συστήματα μειωμένου ρεπερτορίου εντολών (reduced instruction set computers RISC).
Είναι σαφές ότι το ρεπερτόριο εντολών ενός μικροεπεξεργαστή διευρυμένου ρεπερτορίου εντολών περιλαμβάνει πιο πολύπλοκες εντολές, επομένως μπορεί με λιγότερες εντολές να εκτελέσει πιο πολύπλοκες διαδικασίες. Οι μικροεπεξεργαστές που σχεδιάζονταν αρχικά ανήκαν στην κατηγορία αυτή. Στη φάση αυτή, οι σχεδιαστές προσπαθούσαν να σχεδιάζουν μικροεπεξεργαστές που μπορούσαν να εκτελέσουν όλο και πιο πολύπλοκες εντολές, επομένως θα ήταν και πιο ισχυροί.
.png)
Με την πάροδο όμως του χρόνου και ύστερα από μελέτες, προέκυψαν τα ακόλουθα συμπεράσματα:
- Όσο μεγαλύτερο είναι το πλήθος του ρεπερτορίου εντολών ενός μικροεπεξεργαστή, τόσο πιο πολύπλοκη είναι η σχεδίασή του, επομένως τόσο περισσότερο καθυστερεί η εκτέλεση κάθε εντολής.
- Κατά την εκτέλεση ενός τυπικού προγράμματος, μόνο ένα μικρό μέρος των εντολών χρησιμοποιείται συχνότατα, ενώ το μεγαλύτερο πλήθος των (πολύπλοκων συνήθως) εντολών χρησιμοποιείται σπάνια.
Ξεκίνησε λοιπόν μια νέα αντίληψη στην κατεύθυνση της σχεδίασης μικροεπεξεργαστών. Στην κατεύθυνση αυτή άρχισαν να σχεδιάζονται μικροεπεξεργαστές με όσο το δυνατό πιο μικρό σύνολο εντολών, κάθε μια από τις οποίες εκτελείται όσο το δυνατό πιο γρήγορα. Έτσι, η σχεδίαση του μικροεπεξεργαστή απλοποιείται σημαντικά και κάθε εντολή μπορεί να εκτελεστεί πολύ πιο γρήγορα από ότι μια εντολή ενός μικροεπεξεργαστή διευρυμένου ρεπερτορίου εντολών. Οι μικροεπεξεργαστές που σχεδιάστηκαν σύμφωνα με τη φιλοσοφία αυτή είναι οι μικροεπεξεργαστές μειωμένου ρεπερτορίου εντολών (Reduced Instruction Set Computers, RISC).
Άσκηση
Να αναφέρετε τα χαρακτηριστικά ως προς τα οποία διακρίνουμε τους μικροεπεξεργαστές.
Άσκηση
Άσκηση
Άσκηση
Άσκηση
Τι ονομάζουμε:
α) γλώσσα μηχανής (machine language)
β) συμβολική γλώσσα (assembly language) και
γ) συμβολομεταφραστή (assembler);
Άσκηση
Άσκηση
1. Τι εννοούμε με τον όρο ρεπερτόριο εντολών ενός μικροεπεξεργαστή;
2. Αν ο αριθμός των δυαδικών ψηφίων του κώδικα (opcode) των εντολών ενός μικροεπεξεργαστή είναι 5, πόσες διαφορετικές εντολές μπορεί να αναγνωρίσει αυτός ο μικροεπεξεργαστής;
Άσκηση
Σε ποιες κατηγορίες διακρίνονται οι μικροεπεξεργαστές με βάση το ρεπερτόριο εντολών τους;
Άσκηση
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Λάθος
Σε κάθε χτύπο ρολογιού ο μ/Ε εκτελεί πάντα ένα κύκλο μηχανής. Ένας κύκλος εντολής αποτελείται από ένα ή περισσότερους κύκλους μηχανής, ανάλογα με την εντολή.
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Λάθος
όσο πιο μεγάλο είναι το μήκος λέξης του καταχωρητή, τόσο πιο γρήγορος είναι ο μικροεπεξεργαστής στην εκτέλεση των προγραμμάτων
Ανατροφοδότηση
Λάθος
όσο πιο μεγάλο είναι το μήκος λέξης, τόσο πιο γρήγορος είναι ο μικροεπεξεργαστής
Ανατροφοδότηση
Λάθος
ανάλογα με τις εντολές που υποστηρίζει ένας μικροεπεργαστής, επιλέγεται ή απορρίπτεται για μια εφαρμογή
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Σωστό
Ανατροφοδότηση
Λάθος
κάθε μικροεπεξεργαστής έχει το δικό του ρεπερτόριο
(c) Αμπατζόγλου Γιάννης, MSc Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ84
Αδειοδοτημένο υπό τους όρους Creative Commons Αναφορά Δημιουργού 4.0