1. Κεφϊλαιο 3: Το υλικό του υπολογιςτό
Ενότητα 3.2: Το κεντρικό μϋροσ
Υποενότητα 3.2.1: Η Κεντρικό Μονϊδα Επεξεργαςύασ (ΚΜΕ)
• Η Κεντρική Μονάδα Επεξεργαςίασ - ΚΜΕ (αγγλικϊ:
Central Processing Unit - CPU) εύναι το κεντρικό
εξάρτημα ενόσ ηλεκτρονικού υπολογιςτό, και ςυχνϊ
αναφϋρεται απλϊ ωσ επεξεργαςτήσ. Η ΚΜΕ ελϋγχει τη
λειτουργύα του υπολογιςτό, εύναι δηλαδό υπεύθυνη για
τον έλεγχο και τον ςυγχρονιςμό του κεντρικού και του
περιφερειακού μϋρουσ και εκτελεύ τα προγρϊμματα που
εύναι αποθηκευμϋνα ςτην κύρια μνόμη, ανακαλώντασ τισ
εντολϋσ τουσ, αποκωδικοποιώντασ τισ και εκτελώντασ
τισ τη μύα μετϊ την ϊλλη.
• Αν η ΚΜΕ αποτελεύται από ϋνα μόνο ολοκληρωμϋνο
κύκλωμα τότε
ονομϊζεται μικροεπεξεργαςτήσ (microprocessor)
ό μικροελεγκτόσ (microcontroller).
3. Κεντρικό Μονϊδα Επεξεργαςύασ
Η Κεντρική Μονάδα Επεξεργαςίασ αποτελεύται
από:
Την Αριθμητική και Λογική Μονάδα
Τη Μονάδα Ελέγχου
Τουσ Καταχωρητέσ
4. Η Αριθμητικό και Λογικό Μονϊδα
(Arithmetic and Logic Processing Unit- ALU)
η αριθμητική/λογική μονάδα (ALU) εύναι ϋνα ψηφιακό
κύκλωμα το οπούο εκτελεύ γρόγορα αριθμητικούσ και
λογικούσ υπολογιςμούσ.
Μια ALU, πρϋπει να επεξεργϊζεται αριθμούσ
χρηςιμοποιώντασ την ύδια μορφό όπωσ και το υπόλοιπο
ψηφιακό κύκλωμα, δηλαδό αριθμούσ του δυαδικού
ςυςτόματοσ (με 0 και 1).
Οι περιςςότερεσ ALU, μπορούν να εκτελϋςουν τισ
παρακϊτω πρϊξεισ :
1. Ακϋραιεσ αριθμητικϋσ πρϊξεισ (πρόςθεςη, αφαύρεςη και
μερικϋσ φορϋσ πολ/ςμο και διαύρεςη, αν και η υλοπούηςη
τουσ εύναι ακριβό).
2. Λογικϋσ πρϊξεισ (και, ό , όχι)
Ταχύτητα εκτϋλεςησ πρϊξεων <10^-7
5. Η Μονϊδα Ελϋγχου
(Control Unit)
Η μονϊδα ελϋγχου εύναι ϋνα κύκλωμα που ελϋγχει τη
ροό των πληροφοριών προσ τον επεξεργαςτό.
Κατϊ κϊποιο τρόπο εύναι το "μυαλό μϋςα ςτο μυαλό",
καθώσ ελϋγχει ότι γύνεται μϋςα ςτον επεξεργαςτό, ο
οπούοσ ελϋγχει τον υπόλοιπο υπολογιςτό.
Σε ϋνα κανονικό επεξεργαςτό, η μονϊδα ελϋγχου
εκτελεύ τισ λειτουργύεσ τησ ανϊκληςησ, τησ
αποκωδικοπούηςησ, τησ εκτϋλεςησ των εντολών και
μετϊ την αποθόκευςη των αποτελεςμϊτων.
Επύςησ ελϋγχει την επικοινωνύα του περιφερειακού
μϋρουσ με το κεντρικό.
6. Οι Καταχωρητϋσ
(Registers)
ο καταχωρητήσ εύναι ϋνασ τύποσ μικρόσ αλλϊ πολύ γρόγορησ
μνόμησ που βρύςκεται μϋςα ςτο τςιπ του επεξεργαςτό. Η μνόμη
αυτό χρηςιμοποιεύται για την βελτύωςη τησ ταχύτητασ εκτϋλεςησ
των διαφόρων προγραμμϊτων, αφού ςε αυτόν ςυνόθωσ
αποθηκεύονται δεδομϋνα που χρηςιμοποιούνται ςυνϋχεια από
τα προγρϊμματα.
Οι περιςςότεροι από τουσ ςύγχρονουσ ηλεκτρονικούσ
υπολογιςτϋσ λειτουργούν ςύμφωνα με την εξόσ λογικό:
μεταφϋρουν δεδομϋνα από την κεντρικό μνόμη ςτουσ
καταχωρητϋσ, κϊνουν τισ διϊφορεσ πρϊξεισ πϊνω ςτα δεδομϋνα
και ςτην ςυνϋχεια μεταφϋρουν το αποτϋλεςμα από τουσ
καταχωρητϋσ πύςω ςτην κύρια μνόμη.
7. Οι Καταχωρητϋσ
(Registers) (2)
Κατηγορύεσ καταχωρητών:
καταχωρητέσ διευθύνςεων μνήμησ (MAR-Memory Address Register):Ο
καταχωρητόσ αυτόσ χρηςιμοποιεύται για την αποθόκευςη τησ διεύθυνςησ
μνόμησ ςτην οπούα θα αποθηκευτεύ ό θα διαβαςτεύ ϋνα δεδομϋνο.
καταχωρητήσ δεδομένων(MDR-Memory Data Register)Ο καταχωρητόσ αυτόσ
χρηςιμοποιεύται για την αποθόκευςη των δεδομϋνων που θα αποθηκευτούν ςτη
μνόμη ό που ϋχουν διαβαςτεύ από τη μνόμη.
διάφοροι ειδικοί καταχωρητέσ όπως:
Kαταχωρητήσ Εντολών(IR-Instruction Register)Εύναι ο καταχωρητόσ που
περιϋχει την κωδικοποιημϋνη εντολό που πρόκειται να εκτελεςτεύ.
Απαριθμητήσ προγράμματοσ(program counter-PC) καταχωρητόσ που
περιϋχει τη διεύθυνςη τησ επόμενησ εντολόσ που πρόκειται να εκτελεςτεύ.
Καταχωρητήσ κατάςταςησ (SREG- Status Register)
Συςςωρευτήσ Συςςωρεύει τα ενδιϊμεςα αποτελϋςματα διαφόρων πρϊξεων
που εκτελούνται.
8. Εντολϋσ ςτην ΚΜΕ:
Αρχιτεκτονικό ςυνόλου εντολών
Το ςύνολο εντολών (instruction set) ό αρχιτεκτονική ςυνόλου
εντολών (instruction set architecture, ISA), εύναι το τμόμα
τησ αρχιτεκτονικόσ υπολογιςτών που ςυνδϋεται με
τον προγραμματιςμό και περιλαμβϊνει τουσ τύπουσ
δεδομϋνων τησ μηχανόσ, τισ εντολϋσ, τουσ καταχωρητϋσ, τουσ
τρόπουσ διευθυνςιοδότηςησ (addressing modes),
την αρχιτεκτονικό μνόμησ, τον
χειριςμό διακοπών καιεξαιρϋςεων, καθώσ και την εξωτερικό
εύςοδο/ϋξοδο (Input/output, I/O). Μια αρχιτεκτονικό ςυνόλου
εντολών περιλαμβϊνει το ςύνολο των μνημονικών εντολών
(opcodes) τησ γλώςςασ μηχανόσ, και τισ εντολϋσ που
υλοποιούνται από τον ύδιο τον επεξεργαςτό.
Το πλόθοσ τουσ κυμαύνεται από 20-300 εντολϋσ οι οπούεσ
διαφϋρουν ανϊλογα με τον τύπο τησ ΚΜΕ.
9. Εντολϋσ ςτην ΚΜΕ:
Κύκλοσ Εντολόσ
Κύκλοσ εντολήσ εύναι το διϊςτημα που απαιτεύται για την
αποπερϊτωςη μιασ εντολόσ και την ϋναρξη τησ επόμενησ.
Υπϊρχουν τέςςερα ςτάδια για την ολοκλόρωςη ενόσ κύκλου: η
ανάκληςη (fetch), η αποκωδικοποίηςη (decode), η εκτέλεςη (execute)
και αποθήκευςη του αποτελϋςματοσ (store/writeback).
ανάκληςη, ανϊκταται η εντολό από την θϋςη μνόμησ που εύναι
αποθηκευμϋνη. Η θϋςη τησ εντολόσ ςτην μνόμη περιϋχεται ςτον
απαριθμητό προγρϊμματοσ. Όταν η εντολό μεταφερθεύ από την μνόμη
ςτον επεξεργαςτό αποθηκεύεται ςτον καταχωρητό εντολών. Έπειτα
αυξϊνεται η τιμό του απαριθμητό προγρϊμματοσ, όςο εύναι και το
μόκοσ τησ εντολόσ ςε μονϊδεσ μνόμησ, ώςτε να υποδεικνύει την θϋςη
τησ επόμενησ εντολόσ ό την διεύθυνςη των τελεςτών ςε περύπτωςη
που η τρϋχουςα εντολό ϋχει τελεςτϋσ.
αποκωδικοποίηςη, η εντολό διαςπϊται και ερμηνεύεται από τον
επεξεργαςτό. Ανϊλογα με τον κωδικό εντολόσ, κατϊ την
αποκωδικοπούηςη, ανακαλούνται και τυχόν τελεςτϋσ. Η τιμό των
τελεςτών ανακαλεύται εύτε ϊμεςα ωσ ςταθερϊ, εύτε ϋμμεςα ωσ μια
διεύθυνςη ςτην οπούα βρύςκεται αποθηκευμϋνη η τιμό, ςε κϊποιο
καταχωρητό ό μνόμη, όπωσ ορύζει το εκϊςτοτε πρότυπο
διευθυνςιοδότηςησ.
10. Εντολϋσ ςτην ΚΜΕ:
Κύκλοσ Εντολόσ (2)
εκτέλεςη τησ εντολόσ. Σε αυτό το ςτϊδιο, διϊφορεσ μονϊδεσ του επεξεργαςτό
ςυνδϋονται ώςτε να γύνει εφικτό η εκτϋλεςη τησ επιθυμητόσ λειτουργύασ. Αν, για
παρϊδειγμα, ζητόθηκε μια λειτουργύα πρόςθεςησ, η αριθμητικό μονϊδα (AU) θα
ςυνδεθεύ με ϋνα ςύνολο ειςόδων και εξόδων. Οι εύςοδοι θα παρϋχουν τουσ
αριθμούσ που πρϋπει να προςτεθούν και οι ϋξοδοι θα περιϋχουν το ϊθροιςμα.. Η
αριθμητικό λογικό μονϊδα (ALU) ςτο ςύνολό τησ περιϋχει κυκλώματα για την
εκτϋλεςη απλών αριθμητικών και λογικών πρϊξεων, όπωσ η πρόςθεςη και η
ςύγκριςη αριθμών.
αποθήκευςη, η ΚΜΕ ςτϋλνει τα δεδομϋνα προσ αποθόκευςη ςτην μνόμη. Τα
αποτελϋςματα αρχικϊ αποθηκεύονται προςωρινϊ ςε κϊποιο καταχωρητό για
ταχύτερη προςπϋλαςη από επόμενεσ εντολϋσ και ϋπειτα αποθηκεύονται ςτην
κύρια μνόμη του ςυςτόματοσ.
Μετϊ την αποθόκευςη των αποτελεςμϊτων που προϋκυψαν, ο κύκλοσ
εντολόσ ολοκληρώνεται και επαναλαμβϊνεται με την επόμενη εντολό,
αφού αυξόθηκε ο απαριθμητόσ προγρϊμματοσ. Σε επεξεργαςτϋσ με πιο
περύπλοκη αρχιτεκτονικό, περιςςότερεσ εντολϋσ μπορεύ να ανακαλούνται,
να αποκωδικοποιούνται και να εκτελούνται ταυτόχρονα.
11. Σχεδιαςμόσ και υλοπούηςη τησ ΚΜΕ:
Χρονιςμόσ ρολογιού
Οι περιςςότερεσ κεντρικϋσ μονϊδεσ επεξεργαςύασ εύναι ςύγχρονεσ ςυςκευϋσ.
Εύναι δηλαδό ςχεδιαςμϋνεσ να λειτουργούν ςύμφωνα με ϋνα ηλεκτρικό ςόμα
ςυγχρονιςμού, που ονομϊζεται ςόμα ρολογιού.
Το ρολόι εύναι ϋνασ ηλεκτρικόσ τετραγωνικόσ παλμόσ που εκπϋμπεται από τον
δύαυλο ελϋγχου και εναλλϊςςεται περιοδικϊ μεταξύ μηδϋν και ϋνα.
Ο χρόνοσ που χρειϊζεται το ρολόι για να μεταπηδόςει από το μηδϋν ςτο ϋνα και
πύςω ςτο μηδϋν, ονομϊζεται περύοδοσ ό κύκλοσ του ρολογιού.
Η ςυχνότητα με την οπούα γύνεται αυτό η εναλλαγό ονομϊζεται ςυχνότητα
ρολογιού.
Η ςυχνότητα μετριϋται ςε Hertz (Hz) ενώ ο κύκλοσ, που εύναι αντύςτροφο
μϋγεθοσ τησ ςυχνότητασ, μετριϋται ςε δευτερόλεπτα.
Ο κύκλοσ ρολογιού εύναι το μικρότερο χρονικό διϊςτημα ςτο οπούο μπορεύ να
ςυμβεύ μια λειτουργύα.
Κϊποιεσ λειτουργύεσ εκτελούνται ς' ϋναν κύκλο ρολογιού ενώ κϊποιεσ ϊλλεσ
χρειϊζονται περιςςότερουσ κύκλουσ.
12. Σχεδιαςμόσ και υλοπούηςη τησ ΚΜΕ:
Χρονιςμόσ ρολογιού (2)
Αν ϋνα ρολόι για παρϊδειγμα, ϋχει ταχύτητα 500 MHz, αυτό πρακτικϊ ςημαύνει
ότι κϊθε 2nsec παρϊγεται ϋνασ παλμόσ.
Αν ϋνα πρόγραμμα, για να εκτελεςτεύ από την ΚΜΕ απαιτεύ την απαςχόληςό τησ
για Α sec, και αν το ρολόι τησ ϋχει ταχύτητα Β Hz τότε ϋχουμε:
Αριθμόσ κύκλων ρολογιού για το πρόγραμμα: C=AxB
και αν το πρόγραμμα ϋχει IC αριθμό εντολών:
Κύκλοι ρολογιού ανά εντολή (cycles per instruction-CPI)= C/IC
13. Συνοψύζοντασ…
Τα κύρια χαρακτηριςτικϊ που προςδιορύζουν τισ δυνατότητεσ
μύασ ΚΜΕ εύναι:
1. Το ςύνολο εντολών του επεξεργαςτό
2. Η ταχύτητα του ρολογιού
3. Το μόκοσ λϋξησ του επεξεργαςτό*
*λέξη ορύζεται ωσ ϋνα ςταθερό πλόθοσ δυαδικών ψηφύων. Η ΚΜΕ ϋχει τη
δυνατότητα να διαβϊςει από την μνόμη ό να γρϊψει ςε αυτόν μύα μόνο λϋξη ςε κϊθε
προςπϋλαςη.
Με την εξϋλιξη τησ τεχνολογύασ οι ΚΜΕ βελτιώνονται χρόνο με το
χρόνο. Αυτό που επιδιώκεται εύναι μικρό πλόθοσ εντολών ςτο
ςύνολο εντολών, μεγϊλεσ λϋξεισ και υψηλϋσ ταχύτητεσ ρολογιού.
Στισ ςύγχρονεσ ΚΜΕ ϋχουμε επιτύχει να ϋχουμε 30-40 εντολϋσ, 64
bit λϋξεισ και πϊνω από 500 MHz ταχύτητα ρολογιού.