Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική μηχανή: ο επεξεργαστής Επεξεργαστής Κεντρική Επεξεργασίας (ΚΜΕ) συχνά και το σύστημα γραφικών μέσα στον επεξεργαστή οθόνη σύστημα γραφικών ποντίκι, πληκτρολόγιο, εκτυπωτές, σαρωτές... διασυνδετικός δίαυλος Ie (x16) έως 8GB/s USB έως 5Gbit/s CPU core north bridge south bridge έως 500ΜB/s CPU core > 90GB/s κρυφή (3 ου επιπέδου) M-bus (mem bus) 25 GB/s (multi-channel) SATA 600ΜB/s DRAM σκληροί δίσκοι, CD/DVD, δικτυακή σύνδεση οι ρυθμοί μεταφοράς που δίνονται είναι οι θεωρητικά μέγιστοι! Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 2... Κεντρική Επεξεργασίας (ΚΜΕ) Σχεδιασμός μιας απλής ΚΜΕ (Μικρο)επεξεργαστής Ψηφιακό σύστημα που εκτελεί υπολογισμούς σε πολλαπλά βήματα Κεντρική Επεξεργασίας Παλαιότερα: συνώνυμο του επεξεργαστή Στην ίδια συσκευασία σήμερα Κρυφή Μνήμη (1 ου, 2 ου ή και 3 ου επιπέδου) Ελεγκτές Ε/Ε Σύστημα Γραφικών i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Παραδοχές Μοντέλο load-store Αριθμητικές-λογικές πράξεις Ανάγνωση-εγγραφή από/στη Ν καταχωρητές γενικού σκοπού Απλουστευμένο μοντέλο ς Ως κουτί που δέχεται διεύθυνση και επιστρέφει δεδομένα και εντολές Αντιπροσωπεύει στην πραγματικότητα μια ιεραρχία ς! Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 3 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 4
Εκτέλεση πράξεων: ΑΛΜ Εντολές για αριθμητικές λογικές πράξεις i Μ είσοδος Α είσοδος Β επιλογή πράξης Αριθμητική-Λογική (ΑΛΜ) Arithmetic-Logic Unit () αποτέλεσμα Εκτέλεση αριθμητικών και λογικών πράξεων Εκτέλεση συγκρίσεων (για διακλάδωση υπό συνθήκη) Υπολογισμός διευθύνσεων (για προσπέλαση ς) R3 R1 R2 Σε κάθε εκτέλεση ς Ανάγνωση από 2 καταχωρητές Εγγραφή σε 1 καταχωρητή Ίδια ροή διαφορετική επιλεγόμενη πράξη Μ Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 5 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 6 Συστοιχία καταχωρητών ( ) Συστοιχία καταχωρητών ( ) επιλογή B επιλογή A είσοδος έξοδος Α επιλογή εγγραφής έξοδος Β επίτρεψη εγγραφής επιλογή B επιλογή A είσοδος έξοδος Α επιλογή εγγραφής έξοδος Β επίτρεψη εγγραφής! Τα σήματα στο σχήμα αυτό (και στα επόμενα) πιθανόν να αποτελούνται από πολλά bits το καθένα! Ανάγνωση: Επιλογή Α και Επιλογή Β Ποιων καταχωρητών το περιεχόμενο θα εμφανιστεί στην αντίστοιχη έξοδο Εγγραφή: στη θετική ακμή του Στον καταχωρητή που ορίζει η επιλογή εγγραφής, εάν το επιτρέπει η επίτρεψη εγγραφής Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 7 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 8
Ένα απλό μονοπάτι (datapath) Η μονάδα (control unit) rdselb rdsela wrsel wr sel control unit datapath Ποιος οδηγεί τα σήματα Εκτέλεση μιας ς ανά κύκλο ρολογιού Ανάγνωση και εγγραφή στον ίδιο κύκλο Ναι, η ανάγνωση θα δώσει το αποτέλεσμα της εγγραφής του προηγούμενου κύκλου Ενώ η εγγραφή θα είναι διαθέσιμη για ανάγνωση στον επόμενο κύκλο Από πού προέρχονται οι εντολές Αποκωδικοποίηση bits της ς Επιλογή καταχωρητών προέλευσης Επιλογή καταχωρητή αποθήκευσης αποτελέσματος Επιλογή λειτουργίας ΑΛΜ Το δυσκολότερο στη σχεδίαση τμήμα της ΚΜΕ Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 9 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 10 Η Η διεύθυνση της επόμενης ς διεύθυνση d Μια χρήσιμη αφαίρεση Στην πραγματικότητα Αντιπροσωπεύει μια ιεραρχία ς Από την κρυφή 1 ου επιπέδου μέχρι την κύρια Πιθανόν να μην είναι δυνατή η ανάκτηση ς ανά κύκλο ρολογιού Program Counter () Περιέχει τη διεύθυνση στη της επόμενης ς Αυξάνεται κατά την εκτέλεση κάθε ς Επόμενη διεύθυνση = τρέχουσα d Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 11 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 12
Ο κύκλος μηχανής Instruction Fetch (IF) Στάδια εκτέλεσης ς Instruction Fetch (IF) Ανάκτηση ς προς εκτέλεση Instruction Decode (ID) Επιλογή και λειτουργιών ανάλογα με Execute (EX) d Εκτέλεση υπολογισμού στην ΑΛΜ Ποια στάδια χρησιμοποιούν οι εντολές για αριθμητικές και λογικές πράξεις Data Memory Access (DM) ς Write Back (WB) Αποθήκευση αποτελεσμάτων σε καταχωρητή Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 13 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 14 Instruction Decode (ID) Execute (EX) d d Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 15 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 16
Write Back (WB) Εντολές (branch ή jump) d Παράδειγμα beq R1 R2 offset if R1 == R2 then offset branch if equal Τι πρέπει να αλλάξει για την χρήση μιας σταθεράς στις πράξεις Διακλάδωση υπό συνθήκη Βασισμένο σε αποτέλεσμα πράξης ΑΛΜ Σχετική διεύθυνση Υπολογισμός συνθήκης και διακλάδωση στην ίδια Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 17 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 18 Διακλαδώσεις και ενημέρωση Execute (EX) d επιλογή νέας διεύθυνσης R1 R2 offs d R1 R2 offs Επιλογή νέας (επόμενης) διεύθυνσης Η νέα τιμή του Από τη μονάδα Σύμφωνα με τιμές από πράξη στην ΑΛΜ Π.χ. σύγκριση 2 καταχωρητών συνθήκη μετά την πράξη Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 19 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 20
Ενημέρωση ( DM ) Εντολές προσπέλασης ς (load-store) d R1 R2 offs συνθήκη μετά την πράξη ς Παράδειγμα load R1 R2 offset R1 mem[r2 offset] Μόνο οι εντολές load και store προσπελαύνουν τη Η διεύθυνση ς παράγεται από την ΑΛΜ Ως άθροισμα περιεχομένου καταχωρητή σταθεράς (offset) Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 21 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 22 Η Προσπέλαση ς ς διεύθυνση δεδομένα εγγραφής read/write Μια επίσης χρήσιμη αφαίρεση Ή εγγραφή ή ανάγνωση για την εγγραφή Στην πραγματικότητα Αντιπροσωπεύει μια ιεραρχία ς δεδομένα ανάγνωσης ς d R1 R2 offs Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 23 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 24
Execute (EX) Data Memory Access (DM) ς d ld R1 R2 offs ς d ld R1 R2 offs Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 25 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 26 Write Back (WB) Σύνοψη λειτουργίας ΚΜΕ ς d ld R1 R2 offs ς Σύνοψη Κύκλοι ρολογιού ανά Clocks per Instruction (CPI) Περίοδος κύκλου ρολογιού Clock Cycle (Period) (CC) Στο σημερινό παράδειγμα ΚΜΕ CPI = 1 CC σταθερό ανεξάρτητα από είδος ς CC εξαρτάται από την πιο χρονοβόρα πράξη! Όχι αποδοτικό σχήμα Υπάρχει τεχνική για βελτίωση της απόδοσης (στο επόμενο μάθημα) Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 27 Αρχιτεκτονική Υπολογιστών Κεντρική Επεξεργασίας 28