Παράλειψη περιήγησης

Χαρακτηριστικά & Κατηγορίες μικροεπεξεργαστών

Χαρακτηριστικά μικροεπεξεργαστών

Για να εκτελέσει μια εντολή ο μικροεπεξεργαστής, εκτελεί μια σειρά από διαδοχικές λειτουργίες. Κάθε μία από τις λειτουργίες αυτές διαρκεί ένα χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο
κάποιο ρολόι. Σε κάθε ''κτύπο'' του ρολογιού ο μικροεπεξεργαστής εκτελεί μία στοιχειώδη λειτουργία. Το ρολόι είναι ένα σήμα το οποίο παράγεται από ένα εξωτερικό κύκλωμα.Το σήμα του ρολογιού, εναλλάσσεται μεταξύ της στάθμης των 5 Volts και αυτής των 0 Volt. Λόγω του σχήματος του το σήμα αυτό ονομάζεται τετραγωνική παλμοσειρά. Το χρονικό διάστημα μεταξύ δύο διαδοχικών εναλλαγών του σήματος, για παράδειγμα από τα 0 Volt στα 5 Volts και πάλι στα 0 Volt είναι ίσο με μια ημιπερίοδο του ρολογιού. Δύο διαδοχικές ημιπερίοδοι αποτελούν μια περίοδο ή έναν κύκλο του ρολογιού.

Η συχνότητα του ρολογιού δείχνει το πλήθος των κύκλων του ρολογιού στη διάρκεια ενός δευτερολέπτου. Για τους σύγχρονους μικροεπεξεργαστές το μέγεθος αυτό είναι της τάξης των 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 εκατομμύρια προσθέσεις το δευτερόλεπτο.

Ένας μικροεπεξεργαστής μπορεί να κάνει αριθμητικές ή λογικές πράξεις μεταξύ των καταχωρητών του. Συνεπώς κάθε φορά τα δεδομένα εισάγονται από τη μνήμη ή από τις περιφερειακές μονάδες σε κάποιο καταχωρητή του μικροπεξεργαστή και μετά πραγματοποιείται η επεξεργασία τους. Ένα σημαντικό χαρακτηριστικό των καταχωρητών του μικροεπεξεργαστή (αλλά και του ίδιου του μικροεπεξεργαστή) είναι το εύρος των καταχωρητών σε δυαδικά ψηφία bits. Όσο πιο ''μεγάλος'' είναι ένας καταχωρητής τόσα ''περισσότερα δεδομένα χωράει''.

Έστω ότι θέλουμε να εκτελέσουμε μια πρόσθεση χρησιμοποιώντας ένα μικροεπεξεργαστή με τρεις καταχωρητές, τους 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-μπιτοι μικροεπεξεργαστές’)

Ένα άλλο σημαντικό χαρακτηριστικό ενός μικροεπεξεργαστή είναι το ρεπερτόριο των εντολών που διαθέτει. Με τον όρο ρεπερτόριο εντολών (instruction set) ενός μικροεπεξεργαστή, αναφερόμαστε στις εντολές που μπορεί να εκτελέσει. Το ρεπερτόριο εντολών ενός μικροεπεξεργαστή είναι καθοριστικός παράγοντας για να αποφασίσουμε αν είναι κατάλληλος για να χρησιμοποιηθεί σε μια εφαρμογή. Για παράδειγμα, σε μια εφαρμογή ψηφιακής επεξεργασίας της ανθρώπινης φωνής, ο μικροεπεξεργαστής θα πρέπει να διαθέτει εντολές που εκτελούν γρήγορα μαθηματικές πράξεις. Αντιθέτως, για να χρησιμοποιηθεί ένας μικροεπεξεργαστής σε μια εφαρμογή όπως η μεταγωγή κλήσεων σε ένα ψηφιακό τηλεφωνικό κέντρο, πρέπει να διαθέτει εντολές για γρήγορη μεταφορά δεδομένων από τη μνήμη και τις περιφερειακές μονάδες.

Ένα άλλο σημαντικό χαρακτηριστικό των εντολών ενός μικροεπεξεργαστή είναι η συμβατότητα με παλαιότερους μικροεπεξεργαστές. Η πείρα έδειξε ότι ένας νέος μικροεπεξεργαστής είναι καλό να μπορεί να εκτελεί προγράμματα που εκτελούνταν σε παλαιότερους μικροεπεξεργαστές. Με άλλα λόγια το ρεπερτόριο των εντολών ενός νέου μικροεπεξεργαστή, θα έπρεπε να περιέχει όλες τις εντολές του προηγούμενου μικροεπεξεργαστή της ίδιας εταιρείας. Με αυτό τον τρόπο, τα προγράμματα που έχουν γραφτεί για ένα παλαιότερο μικροεπεξεργαστή δε χρειάζεται να ξαναγραφτούν από την αρχή.

Με βάση το κριτήριο του μεγέθους του ρεπερτορίου εντολών, οι μικροεπεξεργαστές διακρίνονται σε δύο κατηγορίες. Τους μικροεπεξεργαστές διευρυμένου ρεπερτορίου εντολών και τους μικροεπεξεργαστές μειωμένου ρεπερτορίου εντολών. Συχνότατα στην πράξη, αναφερόμαστε στα μικροϋπολογιστικά συστήματα που χρησιμοποιούν τους μικροεπεξεργαστές αυτούς. Έτσι, μιλάμε για υπολογιστικά συστήματα διευρυμένου ρεπερτορίου εντολών (complex instruction set computers, CISC) και για υπολογιστικά συστήματα μειωμένου ρεπερτορίου εντολών (reduced instruction set computers RISC).

Είναι σαφές ότι το ρεπερτόριο εντολών ενός μικροεπεξεργαστή διευρυμένου ρεπερτορίου εντολών περιλαμβάνει πιο πολύπλοκες εντολές, επομένως μπορεί με λιγότερες εντολές να εκτελέσει πιο πολύπλοκες διαδικασίες. Οι μικροεπεξεργαστές που σχεδιάζονταν αρχικά ανήκαν στην κατηγορία αυτή. Στη φάση αυτή, οι σχεδιαστές προσπαθούσαν να σχεδιάζουν μικροεπεξεργαστές που μπορούσαν να εκτελέσουν όλο και πιο πολύπλοκες εντολές, επομένως θα ήταν και πιο ισχυροί.

Με την πάροδο όμως του χρόνου και ύστερα από μελέτες, προέκυψαν τα ακόλουθα συμπεράσματα:

  • Όσο μεγαλύτερο είναι το πλήθος του ρεπερτορίου εντολών ενός μικροεπεξεργαστή, τόσο πιο πολύπλοκη είναι η σχεδίασή του, επομένως τόσο περισσότερο καθυστερεί η εκτέλεση κάθε εντολής.
  • Κατά την εκτέλεση ενός τυπικού προγράμματος, μόνο ένα μικρό μέρος των εντολών χρησιμοποιείται συχνότατα, ενώ το μεγαλύτερο πλήθος των (πολύπλοκων συνήθως) εντολών χρησιμοποιείται σπάνια.

Ξεκίνησε λοιπόν μια νέα αντίληψη στην κατεύθυνση της σχεδίασης μικροεπεξεργαστών. Στην κατεύθυνση αυτή άρχισαν να σχεδιάζονται μικροεπεξεργαστές με όσο το δυνατό πιο μικρό σύνολο εντολών, κάθε μια από τις οποίες εκτελείται όσο το δυνατό πιο γρήγορα. Έτσι, η σχεδίαση του μικροεπεξεργαστή απλοποιείται σημαντικά και κάθε εντολή μπορεί να εκτελεστεί πολύ πιο γρήγορα από ότι μια εντολή ενός μικροεπεξεργαστή διευρυμένου ρεπερτορίου εντολών. Οι μικροεπεξεργαστές που σχεδιάστηκαν σύμφωνα με τη φιλοσοφία αυτή είναι οι μικροεπεξεργαστές μειωμένου ρεπερτορίου εντολών (Reduced Instruction Set Computers, RISC).

Άσκηση

Να αναφέρετε τα χαρακτηριστικά ως προς τα οποία διακρίνουμε τους μικροεπεξεργαστές.

Άσκηση

Ένας μικροεπεξεργαστής λειτουργεί με συχνότητα ρολογιού f=20MHz.

- Σε κάθε δευτερόλεπτο εκτελούνται κύκλοι μηχανής.

- Ο χρόνος ενός κύκλου μηχανής είναι μsec.

- Αν ο κύκλος εντολής μιας πρόσθεσης αντιστοιχεί σε 4 κύκλους μηχανής, τότε η εκτέλεση μιας πρόσθεσης διαρκεί μsec.

- Στη διάρκεια ενός δευτερολέπτου ο εν λόγω μικροεπεξεργαστής μπορεί να εκτελέσει προσθέσεις

Ενεργοποίηση JavaScript

Άσκηση

- Αν ο κύκλος της εντολής πρόσθεσης διαρκεί 50 nsec, τότε κατά τη διάρκεια ενός δευτερολέπτου ο επεξεργαστής μπορεί να εκτελέσει προσθέσεις.

- Αν ο κύκλος εντολής πρόσθεσης αντιστοιχεί σε 4 κύκλους μηχανής, τότε κάθε κύκλος μηχανής διαρκεί nsec.

- Η συχνότητα ρολογιού του εν λόγω επεξεργαστή είναι ΜΗz.

Ενεργοποίηση JavaScript

Άσκηση

Αν μια εντολή πρόσθεσης ενός μικροεπεξεργαστή χρειάζεται τέσσερις (4) κύκλους μηχανής για να ανακληθεί και να εκτελεστεί και η συχνότητα λειτουργίας του είναι f=2GHz, τότε κάθε δευτερόλεπτο ο μικροεπεξεργαστής θα εκτελεί κύκλους μηχανής και προσθέσεις.

Ενεργοποίηση JavaScript

Άσκηση

Τι ονομάζουμε:

α) γλώσσα μηχανής (machine language)

β) συμβολική γλώσσα (assembly language) και

γ) συμβολομεταφραστή (assembler);

Άσκηση

Ερώτηση

Σε ποιες κατηγορίες διακρίνουμε τους μικροεπεξεργαστές με βάση το μήκος λέξης.

Απαντήσεις

8 bit και 16 bit

8 bit, 16 bit και 32 bit

8 bit, 16 bit, 32 bit και 64 bit

Ανατροφοδότηση

Άσκηση

1. Τι εννοούμε με τον όρο ρεπερτόριο εντολών ενός μικροεπεξεργαστή;

2. Αν ο αριθμός των δυαδικών ψηφίων του κώδικα (opcode) των εντολών ενός μικροεπεξεργαστή είναι 5, πόσες διαφορετικές εντολές μπορεί να αναγνωρίσει αυτός ο μικροεπεξεργαστής;

Άσκηση

Σε ποιες κατηγορίες διακρίνονται οι μικροεπεξεργαστές με βάση το ρεπερτόριο εντολών τους;

Άσκηση

Ερώτηση 1

Η συχνότητα του ρολογιού δείχνει το πλήθος των κύκλων μηχανής στη διάρκεια ενός δευτερολέπτου.

Ερώτηση 2

Σε κάθε χτύπο ρολογιού ο μ/Ε εκτελεί πάντα ένα κύκλο εντολής.

Ερώτηση 3

Όσο μεγαλύτερη είναι η συχνότητα ρολογιού, τόσο πιο γρήγορα εκτελεί ο μ/Ε τις εντολές.

Ερώτηση 4

Όσο μικρότερη είναι η συχνότητα ρολογιού, τόσο λιγότεροι κύκλοι μηχανής εκτελούνται το δευτερόλεπτο.

Ερώτηση 5

Όσο μεγαλύτερο είναι το μήκος λέξης ενός μ/Ε, τόσο πιο γρήγορα και πιο εύκολα εκτελεί πράξεις και μεταφέρει δεδομένα.

Ερώτηση 6

Όσο πιο μεγάλοι είναι οι καταχωρητές, τόσο πιο αργά εκτελούνται τα προγράμματα.

Ερώτηση 7

Ένας 8μπιτος επεξεργαστής είναι πιο γρήγορος από ένα 32μπιτο μικροεπεξεργαστή.

Ερώτηση 8

Όλοι οι μικροεπεξεργαστές μπορούν να χρησιμοποιηθούν σε όλες τις εφαρμογές, ανεξάρτητα του ρεπερτορίου εντολών τους.

Ερώτηση 9

Όταν το ρεπερτόριο εντολών ενός νεότερου επεξεργαστή περιλαμβάνει όλες τις εντολές του παλαιότερου επεξεργαστή, τότε θεωρούνται συμβατοί μεταξύ τους.

Ερώτηση 10

Οι επεξεργαστές των συστημάτων CISC είναι διευρυμένου ρεπερτορίου εντολών που σημαίνει ότι εκτελούν πολύπλοκες εντολές

Ερώτηση 11

Οι επεξεργαστές των συστημάτων RISC εκτελούν μικρές, απλές και γρήγορες εντολές.

Ερώτηση 12

Όλοι οι μικροεπεξεργαστές έχουν το ίδιο ρεπερτόριο εντολών


(c) Αμπατζόγλου Γιάννης, MSc  Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ84

Αδειοδοτημένο υπό τους όρους Creative Commons Αναφορά Δημιουργού 4.0

Δημιουργήθηκε με το eXeLearning (Νέο παράθυρο)