Αξιολόγηση Χρήστη: 5 / 5

Αστέρια ΕνεργάΑστέρια ΕνεργάΑστέρια ΕνεργάΑστέρια ΕνεργάΑστέρια Ενεργά
 

Μάθημα 3.3: Χαρακτηριστικά της ΚΜΕ

 3.3.1 Το ρολόι (clock)

 

Για να εκτελέσει η ΚΜΕ μια εντολή, εκτελεί όπως είδαμε ένα αριθμό από διαδοχικές λειτουργίες. Για παράδειγμα στο προηγούμενο μάθημα, είδαμε ότι η ανάκληση και η εκτέλεση της εντολής του πολλαπλασιασμού (1010)¬Α·Β, έγινε σε συγκεκριμένο αριθμό βημάτων στις διάφορετικές μονάδες της ΚΜΕ.

 

Κάθε μία από αυτές τις λειτουργίες διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι. Σε κάθε «κτύπο» του ρολογιού η ΚΜΕ εκτελεί μία στοιχειώδη λειτουργία.

 

Το κύκλωμα παραγωγής του ρολογιού είναι συνήθως εξωτερικό, και παράγει μια κυματομορφή όπως αυτή του παρακάτω σχήματος.

 

Σχήμα 3.3.1: Η κυματομορφή του ρολογιού συχνότητας 100 MHz  

 

Παρατηρούμε ότι το σήμα του ρολογιού, εναλλάσσεται μεταξύ της στάθμης των 5 V και αυτής των 0V. Λόγω του σχήματος του το σήμα αυτό ονομάζεται τετραγωνική παλμοσειρά. Το χρονικό διάστημα μεταξύ δύο διαδοχικών εναλλαγών του σήματος, για παράδειγμα από τα 0V στα 5V και πάλι στα 0V είναι ίσο με μια ημιπερίοδο του ρολογιού. Δύο διαδοχικές ημιπερίοδοι αποτελούν μια ολόκληρη περίοδο ή όπως αλλιώς λέμε ένα κύκλο του ρολογιού. Το αντίστροφο της περιόδου είναι η συχνότητα. Η συχνότητα μας πληροφορεί τον αριθμό των κύκλων του ρολογιού στη διάρκεια του ενός δευτερολέπτου και για τους μικροεπεξεργαστές συνήθως είναι της τάξης των εκατοντάδων MHz. Το ένα MHz είναι ίσο με ένα εκατομμύριο κύκλους το δευτερόλεπτο.

 

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

 

 

 

Τύπος ΚΜΕ

Συχνότητα Ρολογιού

8088

4.77, 8, 10, 12 MHz

80286

6, 8, 12 ,16, 20 MHz

80386

16, 20, 25, 33, 40 MHz

80486

25, 33, 50,75,100,120 MHz

 

Πίνακας 3.3.1: Συχνότητες ρολογιού

 

Στον πίνακα 3.3.1 βλέπουμε τις διαφορετικές ΚΜΕ και αντίστοιχα της επιτρεπτές συχνότητες ρολογιού για κάθε μια από αυτές. Οι διαφορετικές τιμές στη συχνότητα ρολογιού για τον ίδιο τύπο KME, οφείλεται στο γεγονός ότι ο κάθε τύπος ΚΜΕ κυκλοφόρησε σε διαφορετικές εκδόσεις με γρηγορότερο ρολόι κάθε φορά.

 

Εάν προσπαθήσουμε να υπερβούμε τη μέγιστη συχνότητα λειτουργίας, το αποτέλεσμα θα είναι είτε η λανθασμένη λειτουργία του ολοκληρωμένου είτε ακόμα και η καταστροφή του ολοκληρωμένου της ΚΜΕ.

 

Ο ρυθμός με τον οποίο εκτελούνται οι εντολές είναι συνάρτηση της συχνότητας λειτουργίας της ΚΜΕ. Είναι όμως λάθος να πιστεύουμε ότι η ΚΜΕ εκτελεί εντολές με τη συχνότητα λειτουργίας του ρολογιού της. Εάν το ρολόι της ΚΜΕ είναι 100 MHz (100.000.000 κύκλους το δευτερόλεπτο) αυτό δε σημαίνει απαραίτητα ότι εκτελούνται και 100.000.000 εντολές το δευτερόλεπτο.

 

Όπως έχουμε αναφέρει ανάλογα με το πώς έχει κατασκευαστεί μια ΚΜΕ μια εντολή για να εκτελεστεί χρειάζεται πολλές διαδοχικές λειτουργίες κάθε μια από τις οποίες διαρκεί ένα κύκλο του ρολογιού.

 

Ο κατασκευαστής συνήθως δίνει τον αριθμό των κύκλων του ρολογιού που απαιτούνται για την ανάκληση και εκτέλεση κάθε εντολής. Έτσι εάν μια εντολή πρόσθεσης χρειάζεται 5 κύκλους ρολογιού για να ανακληθεί και να εκτελεστεί και η συχνότητα λειτουργίας της ΚΜΕ είναι 100 MHz, δηλαδή κάθε κύκλος διαρκεί 10 ns, τότε η εντολή της πρόσθεσης χρειάζεται συνολικά 5*10 ns=50 ns για να εκτελεστεί. Συνεπώς μπορούνται να εκτελούνται 20.000.000 εκατομμύρια προσθέσεις το δευτερόλεπτο.

 

Ένα μέτρο της ταχύτητας της ΚΜΕ είναι ο μέσος όρος των εντολών που μπορεί να εκτελέσει σε ένα δευτερόλεπτο. Με ειδικά προγράμματα (benchmarks) μπορούν οι κατασκευαστές να μετρήσουν πόσες εντολές εκτελεί κατά μέσο όρο η ΚΜΕ. Ο μέσος όρος των εντολών που εκτελεί μια ΚΜΕ το δευτερόλεπτο μετριέται σε MIPS (Million Instructions Per Second), δηλαδή σε εκατομμύρια εντολές το δευτερόλεπτο. Στην περίπτωση που για παράδειγμα έχουμε μια ΚΜΕ με ρολόι 100 MHz το δευτερόλεπτο, και η κάθε εντολή διαρκεί 5 κύκλους ρολογιού, τότε η ταχύτητα της είναι 100.000.000/5=20.000.000 εντολές= 20 MIPS.

 

Καταλήγοντας συμπεραίνουμε ότι η ταχύτητα της ΚΜΕ εξαρτάται από τη συχνότητα του ρολογιού της και αποτελεί ένα βασικό δείκτη του ρυθμού με τον οποίο εκτελούνται οι εντολές. Όσο πιο γρήγορο είναι το ρολόι τόσο πιο γρήγορα εκτελεί το πρόγραμμα η ΚΜΕ.

 

3.3.2 Το εύρος σε bits της ΚΜΕ

 

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

 

Ένα σημαντικό χαρακτηριστικό της ΚΜΕ είναι το εύρος σε bits των καταχωρητών και της Αριθμητικής και Λογικής Μονάδας (ΑΛΜ), που διαθέτει. Όσο πιο «μεγάλος» είναι ένας καταχωρητής τόσα «περισσότερα bits του δεδομένου χωράει».

 

Για παράδειγμα έστω ότι θέλουμε να εκτελέσουμε την πρόσθεση 1230+ 2243 χρησιμοποιώντας μια ΚΜΕ με τρεις καταχωρητές, τους A, B, C. Για να εκτελέσει η ΚΜΕ την πρόσθεση θα πρέπει πρώτα να μεταφερθούν οι αριθμοί σε δύο από τους καταχωρητές της. Ο αριθμός 123010 είναι ίσος με 4CE16= 100110011102 και χρειαζόμαστε τουλάχιστον 11 bits για να τον αποθηκεύσουμε. Εάν η ΚΜΕ μας διαθέτει καταχωρητές και ΑΛΜ των 16 bits τότε η αποθήκευση του δεδομένου θα γίνει μόνο σε ένα καταχωρητή, για παράδειγμα στον καταχωρητή Α. Όμοια η αποθήκευση του 224310=8C316= 1000110000112 θα γίνει σε ένα άλλο καταχωρητή, για παράδειγμα στον καταχωρητή Β.

 

Σχήμα 3.3.2: Πρόσθεση με 16 bit καταχωρητές

 

Η πρόσθεση θα γίνει με μια μόνο εντολή, την C¬A+B στην ΑΛΜ ενώ το αποτέλεσμα χωράει να αποθηκευτεί σε ένα καταχωρητή εύρος 16 bit. Η μεταφορά του αποτελέσματος από την ΚΜΕ στη μνήμη ή σε κάποια περιφερειακή μονάδα χρειάζεται επίσης μόνο μια εντολή.

 

Εάν η ΚΜΕ όμως που χρησιμοποιούμε διαθέτει καταχωρητές και ΑΛΜ των 8 bits τότε η αποθήκευση του κάθε αριθμού θα χρειαστεί τουλάχιστον δύο βήματα.

 

Σχήμα 3.3.3: Πρόσθεση με 8-bit καταχωρητές. Βήμα 1ο

 

Στο σχήμα φαίνεται ο τρόπος αποθήκευσης των προσθετέων και του αποτελέσματος μέσα στους καταχωρητές της ΚΜΕ. Έτσι στον καταχωρητή Α βάζουμε τα 8 bit με τη μικρότερη αξία του αριθμού 123010=100110011102. Στον καταχωρητή B αποθηκεύονται με τον ίδιο ακριβώς τρόπο τα 8 bit με τη μικρότερη αξία του αριθμού 224310= 1000110000112. Η πρόσθεση γίνεται και το αποτέλεσμα αποθηκεύεται στον καταχωρητή C. Εάν έχει προκύψει κρατούμενο κατά την πρόσθεση των δύο καταχωρητών, τότε η σημαία του κρατουμένου της ΑΛΜ τίθεται στην τιμή 1. Το αποτέλεσμα αποθηκεύεται στη μνήμη και είμαστε έτοιμοι για το δεύτερο βήμα.

 

Στο δεύτερο βήμα, στους καταχωρητές Α και Β της ΚΜΕ θα φορτωθούν, τα υπόλοιπα υψηλότερης αξίας bit των αριθμών 123010=100110011102 και 224310= 1000110000112 όπως ακριβώς φαίνεται στο σχήμα.

 

Σχήμα 3.3.4: Πρόσθεση με 8-bit καταχωρητές. Βήμα 2ο

 

Η πρόσθεση τώρα γίνεται πιο πολύπλοκη μια και πρέπει να συμπεριλάβουμε και το κρατούμενο που έχει προκύψει από την προηγούμενη πρόσθεση. Συνεπώς στην περίπτωση όπου έχει προκύψει κρατούμενο, όπως συμβαίνει στο παράδειγμα μας θα πρέπει να προσθέσει επιπλέον άλλη μια μονάδα στο άθροισμα που προκύπτει από την πρόσθεση των καταχωρητών Α και Β που περιέχουν τα υψηλότερης αξίας δεδομένα. Το αποτέλεσμα αυτής της πρόσθεσης αποθηκεύεται στον καταχωρητή C.

 

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

 

Συμπεραίνουμε ότι το μήκος σε bits των καταχωρητών και της ΑΛΜ της KME επηρεάζει σημαντικά την επίδοση της KME. Όσο πιο μεγάλοι είναι οι καταχωρητές της KME τόσο πιο γρήγορα κατά κανόνα γίνεται η εκτέλεση των προγραμμάτων. Βέβαια το μήκος των καταχωρητών δεν μπορεί να γίνει απεριόριστα μεγάλο αφού γίνεται εξαιρετικά πολύπλοκη η κατασκευή της KME.

 

Συνήθως οι καταχωρητές έχουν ίδιο μήκος με το μήκος σε bits των υπόλοιπων εσωτερικών μονάδων της KME, όπως η ΑΛΜ το οποίο λεμε και μήκος της ΚΜΕ . Η παράμετρος αυτή είναι αρκετά σημαντική για την επίδοση του συστήματος. Έτσι μια 16 bit ΚΜΕ σε σύγκριση με μια 8 bit ΚΜΕ που έχουν παρόμοιες εσωτερικές μονάδες, την ίδια συχνότητα ρολογιού και το ίδιο ρεπερτόριο εντολών είναι τουλάχιστον δύο φορές πιο γρήγορη.

 

Στον πίνακα 3.3.2 βλέπουμε τον μεγαλύτερο φυσικό αριθμό που μπορούμε να αποθηκεύσουμε σε ένα καταχωρητή ανάλογα με το εύρος του. Γενικά σε ένα καταχωρητή των n bit μπορούμε να αποθηκεύσουμε όλους τους αριθμούς από 0 έως 2n-1.

 

Εύρος σε bits

 

Μέγιστη ακέραια τιμή που μπορούμε να παραστήσουμε

8

28-1= 255

16

216-1= 65.535

32

232-1= 4.294.967.295

64

264-1= 18.446.744.073.709.551.615

Πίνακας 3.3.2 Μέγιστη ακέραια τιμή που μπορούμε να παραστήσουμε σε συνάρτηση του αριθμού των bits

Στον πίνακα 3.3.3, παρουσιάζεται το εύρος σε bits μερικών από τις γνωστότερες KME. Θα πρέπει να διευκρινίσουμε εδώ ότι μια 8 bit ΚΜΕ μπορεί να περιέχει κάποιους 16 bit καταχωρητές καθώς επίσης και 16 bit   εσωτερικές μονάδες. Παρ’ όλα αυτά, δεν λέμε ότι το εύρος αυτής είναι 16 bit, παρά μόνο εάν όλες οι εσωτερικές μονάδες και κυρίως οι καταχωρητές και η αριθμητική και λογική μονάδα, της ΚΜΕ δεν είναι 16 bit.

Για παράδειγμα η ΚΜΕ, Z80, διαθέτει μετρητή προγράμματος των 16 bit και μπορεί να διαχειρίζεται διευθύνσεις μνήμης των 16 bit. Επιπλέον η αριθμητική και λογική μονάδα υποστηρίζει προσθέσεις και αφαιρέσεις μεταξύ 16 bit καταχωρητών η ίδια η ΑΛΜ είναι των 8 bit (η πράξη των 16 bit γίνεται σε δύο βήματα). Για αυτό η KME Ζ80 λέμε ότι έχει εύρος 8 bit.

ΚΜΕ

Εύρος της ΚΜΕ σε bit

Z80

8 bit

8085

8 bit

8086

16 bit

8088

16 bit

80386

32 bit

80486

32 bit

Pentium

32 bit

Πίνακας 3.3.3 Εύρος γνωστών ΚΜΕ σε bit

3.3.3 Ρεπερτόριο εντολών

Στη συνέχεια, θα εξετάσουμε ένα άλλο σημαντικό χαρακτηριστικό της ΚΜΕ, το ρεπερτόριο των εντολών που διαθέτει, δηλαδή τις εντολές που μπορεί να εκτελέσει.

Η κάθε ΚΜΕ (8086, 68000, Ζ80 κ.τ.λ.) υποστηρίζει και ένα διαφορετικό ρεπερτόριο εντολών.

Το ρεπερτόριο εντολών μιας ΚΜΕ είναι καθοριστικός παράγοντας για να μπορέσουμε να αποφανθούμε εάν η ΚΜΕ αυτή είναι κατάλληλη για μια συγκεκριμένη χρήση. Για παράδειγμα στην περίπτωση, όπου έχουμε μια εφαρμογή ψηφιακής επεξεργασίας της ανθρώπινης φωνής, η ΚΜΕ θα πρέπει να διαθέτει εντολές όπου εκτελούν γρήγορα μαθηματικές πράξεις τόσο με ακεραίους όσο και με δεκαδικούς αριθμούς. Σε αντίθεση, η χρήση μιας ΚΜΕ σε μια εφαρμογή όπως η μεταγωγή κλήσεων σε ένα ψηφιακό τηλεφωνικό κέντρο, απαιτεί η ΚΜΕ να διαθέτει «έξυπνες» εντολές για τη γρήγορη μεταφορά των δεδομένων προς τη μνήμη και τις περιφερειακές μονάδες.

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

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

Τι έμαθες:

  • Τι είναι το ρολόι και ο κύκλος του ρολογιού
  • Ποιά είναι η μέγιστη συχνότητα λειτουργίας της ΚΜΕ
  • Ποιό είναι το εύρος ενός καταχωρητή και πως επηρεάζει την ταχύτητα με την οποία μπορούμε να κάνουμε συγκεκριμένες πράξεις
  • Τι είναι το ρεπερτόριο εντολών

Ορολογία

  • Ρολόι (Clock)
  • Κύκλος ρολογιού (Clock Cycle)
  • Τετραγωνική Παλμοσειρά
  • MIPS
  • Εύρος των Καταχωρητών
  • Ρεπερτόριο Εντολών

Έλεγχος γνώσεων

  1. 1.Μια ΚΜΕ είναι σχεδιασμένη να εκτελεί όλες τις εντολές στη διάρκεια 4 κύκλων του ρολογιού της. Η ΚΜΕ εκτελεί ένα πρόγραμμα 500 εντολών.
  • Υπολογίστε πόσους κύκλους ρολογιού χρειάζεται η ΚΜΕ για την ολοκληρώση του προγράμματος.
  • Εάν το ρολόι της ΚΜΕ έχει συχνότητα 1 MHz, πόσο χρόνο χρειάζεται η ΚΜΕ για να ολοκληρώσει το πρόγραμμα;
  • Υπολογίστε επίσης την ταχύτητα της ΚΜΕ σε MIPS.
  1. 2.Μια άλλη ΚΜΕ διαθέτει δύο ομάδες εντολών. Οι εντολές της ομάδας Α, διαρκούν 5 κύκλους, ενώ οι εντολές της ομάδας Β 8 κύκλους. Η ΚΜΕ εκτελεί ένα πρόγραμμα που διαθέτει 150 εντολές τύπου Α και 300 εντολές τύπου Β.
  • Υπολογίστε πόσους κύκλους ρολογιού χρειάζεται η ΚΜΕ για την ολοκληρώση του προγράμματος.
  • Εάν το ρολόι της ΚΜΕ έχει συχνότητα 4 MHz, πόσο χρόνο χρειάζεται η ΚΜΕ για να ολοκληρώσει το πρόγραμμα;
  • Υπολογίστε επίσης την ταχύτητα της ΚΜΕ σε MIPS.
  • Εάν η ΚΜΕ του ερωτήματος 1 έκανε την ίδια δουλειά, ποιά από τις δύο ΚΜΕ είναι κατά τη γνώμη σας η πιο γρήγορη και γιατί;
  1. 3.Πόσους καταχωρητές χρειαζόμαστε για να αποθηκεύσουμε τον αριθμό 123.456.78910 = 1110101101111001101000101012 σε

Α) μια 32-bit ΚΜΕ:   _____________

Β) μια 16-bit KME: _____________

                        Γ) μια 8-bit ΚΜΕ: _____________

Υπόδειξη: Χωρίστε την δυαδική παράσταση του αριθμού, σε τμήματα που να χωρούν μέσα σε ένα καταταχωρητή, ξεκινώντας από δεξιά προς τα αριστερά. Μετρήστε τον αριθμό των τμημάτων που είναι απαραίτητα (από το LSB προς το MSB).

 

Προσθήκη νέου σχολίου


Κωδικός ασφαλείας
Ανανέωση