Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι. Κρήτης. Τελευταία τροποποίηση: 2016-2017 χειμερινό εξάμηνο.
Εισαγωγή Παράγοντες απόδοσης μιας CPU Πλήθος εντολών Καθορίζεται από την αρχιτεκτονική (ISA) και τον μεταγλωττιστή Κύκλοι ρολογιού/εντολή (CPI) & χρόνος κύκλου ρολογιού Καθορίζονται από την υλοποίηση του επεξεργαστή (CPU hardware) Μελετώνται δύο υλοποιήσεις του MIPS Μια απλοποιημένη έκδοση Μια πιο πραγματική έκδοση με διοχέτευση Απλά υποσύνολα, αναδεικνύουν την πλειονότητα των απόψεων Εντολές αναφοράς στη μνήμη: lw, sw Αριθμητικές /Λογικές εντολές: add, sub, and, or, slt Εντολές ελέγχου διακλάδωσης : beq, j Η υλοποίηση των υπολοίπων εντολών θα είναι παρόμοια Chapter 5 The Processor 2
Εκτέλεση εντολής Προσκόμιση (fetch) της εντολής που δείχνει ο μετρητής προγράμματος (PC) από την μνήμη κώδικα Ανάγνωση ενός ή δύο καταχωρητών από την συστοιχία των καταχωρητών με βάση τους αριθμούς καταχωρητών από τα πεδία της εντολής Ανάλογα με την κατηγορία της εντολής Χρησιμοποίηση της ALU για τον υπολογισμό Αριθμητικού αποτελέσματος Διεύθυνσης μνήμης για φόρτωση / αποθήκευση Διεύθυνσης στόχου διακλάδωσης Πρόσβαση στην μνήμη δεδομένων για φόρτωση / αποθήκευση Αποθήκευση αποτελέσματος σε καταχωρητή Μεταβολή της ένδειξης του μετρητή προγράμματος (PC), είτε φορτώνοντάς του την διεύθυνση στόχου διακλάδωσης, είτε απλά αυξάνοντάς τον κατά 4 (PC PC + 4) Chapter 5 The Processor 3
Μια αφ υψηλού επιπέδου άποψη της CPU (Μνήμη εντολών) (Καταχωρητές) (Μνήμη δεδομένων) Chapter 5 The Processor 4
Πολυπλέκτες (Multiplexers) Οι γραμμές δεδομένων δεν μπορούν απλά να συνδεθούν μεταξύ τους Χρησιμοποιούνται πολυπλέκτες Chapter 5 The Processor 5
Μονάδα και γραμμές ελέγχου Chapter 5 The Processor 6
Μεθοδολογία χρονισμού Η συνδυαστική λογική επενεργεί στα δεδομένα κατά την διάρκεια των κύκλων του ρολογιού Ανάμεσα στα μέτωπα πυροδότησης του ρολογιού Διαβάζει από στοιχεία κατάστασης και γράφει σε στοιχεία κατάστασης Η μεγαλύτερη καθυστέρηση είναι αυτή που καθορίζει την περίοδο του ρολογιού Δίαυλοι δεδομένων (buses) Μια ακμοπυροδοτούμενη μεθοδολογία χρονισμού επιτρέπει την ανάγνωση από ένα στοιχείο κατάστασης και την εγγραφή στο ίδιο στοιχείο κατάστασης στον ίδιο κύκλο ρολογιού χωρίς να δημιουργείται συναγωνισμός (race), που πιθανότατα θα οδηγούσε σε απροσδιοριστίες. Chapter 5 The Processor 7
Κατασκευή διαδρομής δεδομένων Διαδρομή δεδομένων (datapath) Λειτουργική μονάδα που χρησιμοποιείται για να επενεργήσει ή να διατηρήσει δεδομένα και διευθύνσεις μέσα σ έναν επεξεργαστή Καταχωρητές (registers), αριθμητικές και λογικές μονάδες (ALUs), πολυπλέκτες (mux s), μνήμες (memories), κ.α. Χτίζεται προοδευτικά μια διαδρομή δεδομένων για τον MIPS Αναλύοντας την συνοπτική σχεδίαση Chapter 5 The Processor 8
Προσκόμιση εντολής 32-bit register Increment by 4 for next instruction Chapter 5 The Processor 9
Εντολές μορφής R Ανάγνωση δύο τελεστέων από καταχωρητές Διενέργεια της αριθμητικής / λογικής πράξης Εγγραφή του αποτελέσματος σε καταχωτητή Chapter 4 The Processor 10
Εντολές Φόρτωσης/Αποθήκευσης (Load/Store Instructions) Ανάγνωση τελεστέων καταχωρητών Υπολογισμός διεύθυνσης χρησιμοποιώντας 16άμπιτη σχετική απόσταση (16-bit offset) Χρήση της ALU, με επέκταση προσήμου του offset Load: Ανάγνωση της μνήμης και ενημέρωση του καταχωρητή Store: Εγγραφή της τιμής του καταχωρητή στη μνήμη α. Μονάδα μνήμης δεδομένων β. Μονάδα επέκτασης προσήμου Chapter 4 The Processor 11
Εντολές Διακλάδωσης (Branch Instructions) Ανάγνωση τελεστέων καταχωρητών Σύγκριση τελεστέων Χρήση ALU, αφαίρεση και έλεγχος της εξόδου Zero Υπολογισμός διεύθυνσης στόχου (προορισμού) Επέκταση προσήμου μετατόπισης (displacement) Ολίσθηση αριστερά κατά 2 θέσεις (μετατόπιση λέξης) Πρόσθεση στο PC + 4 Το οποίο έχει ήδη υπολογιστεί από την προσκόμιση της εντολής Chapter 4 The Processor 12
Εντολές Διακλάδωσης Απλά μετατοπίζει τα καλώδια (Just re-routes wires) Κλωνοποιείται το καλώδιο με το δυαδικό ψηφίο του προσήμου (Sign-bit wire replicated) Chapter 4 The Processor 13
Συνθέτοντας τα στοιχεία Η πρώτη προσπάθεια για διαδρομή δεδομένων (data path) εκτελεί μια εντολή μέσα σ ένα κύκλο ρολογιού Κάθε στοιχείο της διαδρομής δεδομένων μπορεί να κάνει μόνο μια λειτουργία την φορά Συνεπώς, χρειαζόμαστε ξεχωριστές μνήμες εντολών και δεδομένων Χρησιμοποιείστε πολυπλέκτες όταν υπάρχουν εναλλακτικές προελεύσεις δεδομένων για διαφορετικές εντολές Chapter 4 The Processor 14
R-Type/Load/Store Datapath Chapter 4 The Processor 15
Πλήρης διαδρομή δεδομένων Chapter 4 The Processor 16