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

Σχετικά έγγραφα
Διάλεξη 12 Καθυστερήσεις (Stalls)

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Κεφάλαιο 4. Ο επεξεργαστής

Αρχιτεκτονική Υπολογιστών

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Pipelined Datapath, Hazards and Forwarding

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

Διάλεξη 11 Προώθηση (Forwarding)

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

Τέτοιες λειτουργίες γίνονται διαμέσου του

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 30 min κάθε «φάση»

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

Άσκηση IF ID EX MEM WB α. 300ps 400ps 350ps 500ps 100ps β. 200ps 150ps 120ps 190ps 140ps

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Multicycle datapath

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου

Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)

Αρχιτεκτονική Υπολογιστών

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 4. Ο επεξεργαστής

Κεντρική Μονάδα Επεξεργασίας

Σχεδίαση της Μονάδας Ελέγχου

Διοχέτευση (Pipeline)

Απλός επεξεργαστής (Επανάληψη)

Οργάνωση Υπολογιστών

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Θέµατα Φεβρουαρίου

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

Κεφάλαιο 5. Ο Μικροεπεξεργαστής: Διάδρομος Δεδομένων και Μονάδα Ελέγχου. (The Processor: Datapath and Control)

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος

Εντολές του MIPS (2)

Αρχιτεκτονική Υπολογιστών

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση

Αρχιτεκτονική Υπολογιστών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Αρχιτεκτονική υπολογιστών

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Μικροαρχιτεκτονική του LC3

Κεφάλαιο 4: Pipelining 75

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Τελική Εξέταση, Απαντήσεις/Λύσεις

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

Πανεπιστήµιο Θεσσαλίας

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

Σχεδίαση της Διόδου Δεδομένων

Transcript:

Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 29-2 Νεκτάριος Κοζύρης nkoziris@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/courses/comparch/

Datapath ενός κύκλου με τη μονάδα ελέγχου 2

Έλεγχος ALU Γραμμές ελέγχου ALU Λειτουργία AND OR add subtrac t set on less than NOR Opc ode ALUOp Λειτουργία εντολής Πεδίο func t Επιθυμητή ενέργεια ALU Είσοδος ελέγχου ALU LW load word XXXXXX add SW store word XXXXXX add Branc h equal branc h equal XXXXXX subtrac t R-T ype add add R-T ype subtrac t subtrac t R-T ype AND AND R-T ype OR OR R-T ype set on less than set on less than 3

Πίνακας αληθείας για τα τέσσερα bit ελέγχου της ALU ALUOp Πεδίο func t Λειτουργία ALUOp ALUOp F5 F4 F3 F2 F F Είσοδοι: ALUOp, πεδίο κωδικού συνάρτησης (funct) Έξοδος: τέσσερα bit ελέγχου της ALU ρήση αδιάφορων όρων (don t care terms): X στον πίνακα αληθείας Από τον πίνακα αληθείας η συνάρτηση ελέγχου μπορεί να βελτιστοποιηθεί και να μετατραπεί σε λογικές πύλες μηχανικά 4

Τα σήματα ελέγχου ενός bit και το αποτέλεσμά τους Όνομα σήματος RegDst RegWrite ALUSrc PCSrc Αποτέλεσμα όταν είναι απενεργοποιημένο Αποτέλεσμα όταν είναι ενεργοποιημένο Ο αριθμός καταχωρητή προορισμού για τον καταχωρητή εγγραφής προέρχεται από το πεδίο rt (bit 2:6) Κανένα Ο αριθμός καταχωρητή προορισμού για τον καταχωρητή εγγραφής προέρχεται από το πεδίο rd (bit 5:) Στον καταχωρητή στην είσοδο καταχωρητή εγγραφής γράφεται η τιμή που δίνεται στην είσοδο δεδομένων εγγραφής Ο δεύτερος τελεστέος της ALU είναι τα Ο δεύτερος τελεστέος της ALU κατώτερα 6 bit της εντολής αφού προέρχεται από τη δεύτερη έξοδο του αρχείου καταχωρητών (Δεδομένα υποστούν επέκταση προσήμου ανάγνωσης 2) Ο PC αντικαθίσταται από την έξοδο Ο PC αντικαθίσταται από την έξοδο του του αθροιστή που υπολογίζει την αθροιστή που υπολογίζει τον τιμή PC + 4 προορισμό της διακλάδωσης 5

Τα σήματα ελέγχου ενός bit και το αποτέλεσμά τους (2) Όνομα σήματος Αποτέλεσμα όταν είναι απενεργοποιημένο MemRead Κανένα MemWrite Κανένα MemtoReg Η τιμή που παρέχεται στην είσοδο δεδομένων εγγραφής των καταχωρητών προέρχεται από την ALU Αποτέλεσμα όταν είναι ενεργοποιημένο Τ α περιεχόμενα της μνήμης δεδομένων που καθορίζονται από την είσοδο διεύθυνσης τοποθετούνται στην έξοδο δεομένων ανάγνωσης Τ α περιεχόμενα της μνήμης δεδομένων που καθορίζονται από την είσοδο διεύθυνσης αντικαθίστανται από την τιμή στην είσοδο δεδομένων εγγραφής Η τιμή που παρέχεται στην είσοδο δεδομένων εγγραφής των καταχωρητών προέρχεται από τη μνήμη δεδομένων 6

Σήματα ελέγχου συναρτήσει του πεδίου opcode της εντολής Από τους προηγούμενους πίνακες προκύπτουν οι τιμές που πρέπει να παίρνουν τα σήματα ελέγχου για κάθε κωδικό λειτουργίας (πεδίο opcode της εντολής) Εντολή RegDst R-Type lw sw beq X X ALUSrc MemtoReg RegWrite MemRead MemWrite Branch X X ALUOp ALUOp 7

Λειτουργία datapath για εντολή τύπου R add $t,$t2,$t3. Η εντολή προσκομίζεται και ο PC αυξάνεται 2. Οι καταχωρητές $t2 και $t3 διαβάζονται από το αρχείο καταχωρητών και η κύρια μονάδα ελέγχου υπολογίζει τις τιμές των γραμμών ελέγχου 8

Λειτουργία datapath για εντολή τύπου R (2) add $t,$t2,$t3 3. Η ALU επενεργεί στα δεδομένα χρησιμοποιώντας το πεδίο funct 4. Το αποτέλεσμα από την ALU γράφεται στο αρχείο καταχωρητών επιλέγοντας τον $t μέσω των bit 5: της εντολής 9

Λειτουργία datapath για εντολή load lw $t, offset($t2). Η εντολή προσκομίζεται και ο PC αυξάνεται 2. Ο καταχωρητής $t2 διαβάζεται από το αρχείο καταχωρητών και η κύρια μονάδα ελέγχου υπολογίζει τις τιμές των γραμμών ελέγχου 3. Η ALU υπολογίζει το άθροισμα της τιμής που διαβάστηκε και τα κατώτερα 6 bit της εντολής (offset) που έχουν υποστεί επέκταση προσήμου

Λειτουργία datapath για εντολή load (2) lw $t, offset($t2) 4. Το άθροισμα χρησιμοποιείται ως διεύθυνση για τη μνήμη δεδομένων 5. Τα δεδομένα από τη μνήμη γράφονται στο αρχείο καταχωρητών επιλέγοντας τον $t μέσω των bit 2:6 της εντολής

Λειτουργία datapath για εντολή branch equal beq $t,$t2,offset. Η εντολή προσκομίζεται και ο PC αυξάνεται 2. Οι καταχωρητές $t και $t2 διαβάζονται από το αρχείο καταχωρητών και η κύρια μονάδα ελέγχου υπολογίζει τις τιμές των γραμμών ελέγχου 2

Λειτουργία datapath για εντολή branch equal (2) beq $t,$t2,offset 3. Η ALU εκτελεί αφαίρεση των δεδομένων. Η τιμή PC + 4 προστίθεται στα κατώτερα 6 bit της εντολής (offset) που έχουν υποστεί επέκταση προσήμου και αριστερή ολίσθηση κατά 2 θέσεις. Το αποτέλεσμα είναι η διεύθυνση προορισμού της διακλάδωσης 4. Το αποτέλεσμα Zero από την ALU χρησιμοποιείται για να αποφασιστεί η τιμή που θα αποθηκευτεί στον PC 3

Συνάρτηση ελέγχου της υλοποίησης ενός κύκλου Είσοδος ή έξοδος Είσοδοι Έξοδοι Όνομα σήματος R-T ype lw sw beq Op5 Op4 Op3 Op2 Op Op RegDst X X ALUSrc MemtoReg X X RegWrite MemRead MemWrite Branc h ALUOp ALUOp Από αυτό τον πίνακα αληθείας μπορούμε να υλοποιήσουμε απευθείας με πύλες τη συνάρτηση ελέγχου 4

Datapath πολλών κύκλων με τη μονάδα ελέγχου 5

Ενέργειες των σημάτων ελέγχου bit Όνομα σήματος Αποτέλεσμα όταν εί ναι απενεργοποι ημένο Αποτέλεσμα όταν εί ναι ενεργοποι ημένο RegWrite Ο αρι θμός προορι σμού του αρχεί ου καταχωρητών γι α τον καταχωρητή εγγραφής προέρχεται από το πεδί ο rt Κανένα ALUSrcA Ο πρώτος τελεστέος της ALU εί ναι ο PC MemRead Κανένα MemWrite Κανένα Ο αρι θμός προορι σμού του αρχεί ου καταχωρητών γι α τον καταχωρητή εγγραφής προέρχεται από το πεδί ο rd Στον καταχωρητή γενι κού σκοπού που επι λέγεται από τον αρι θμό του καταχωρητή εγγραφής γράφεται η τι μή της ει σόδου δεδομένων εγγραφής Ο πρώτος τελεστέος της ALU προέρχεται από τον καταχωρητή Α Τα περι εχόμενα της μνήμης δεδομένων που καθορί ζονται από την εί σοδο δι εύθυνσης τοποθετούνται στην έξοδο δεομένων μνήμης Τα περι εχόμενα της μνήμης δεδομένων που καθορί ζονται από την εί σοδο δι εύθυνσης αντι καθί στανται από την τι μή στην εί σοδο δεδομένων εγγραφής RegDst 6

Ενέργειες των σημάτων ελέγχου bit (2) Όνομα σήματος Αποτέλεσμα όταν εί ναι απενεργοποι ημένο IRWrite Η τι μή που παρέχεται στην εί σοδο δεδομένων εγγραφής των καταχωρητών προέρχεται από την ALU Ο PC χρησι μοποι εί ται γι α να δώσει τη δι εύθυνση στη μονάδα μνήμης Κανένα PCWrite Κανένα PCWriteCond Κανένα MemtoReg IorD Αποτέλεσμα όταν εί ναι ενεργοποι ημένο Η τι μή που παρέχεται στην εί σοδο δεδομένων εγγραφής των καταχωρητών προέρχεται από τον καταχωρητή δεδομένων μνήμης Ο ALUOut χρησμι ποι εί ται γι α να δώσει τη δι εύθυνση στη μονάδα μνήμης Η έξοδος της μνήμης γράφεται στον καταχωρητή εντολής Γί νεται εγγραφή στον PC. Η προέλευση ελέγχεται από το PCSrc Γί νεται εγγραφή στον PC αν η έξοδος Zero από την ALU εί ναι επί σης ενεργός 7

Ενέργειες των σημάτων ελέγχου 2 bit Όνομα σήματος Τ ιμή (δυαδική) ALUOp ALUSrc B PCSourc e Αποτέλεσμα H ALU εκτελεί μια πράξη πρόσθεσης H ALU εκτελεί μια πράξη αφαίρεσης Τ ο πεδίο func t της εντολής καθορίζει την πράξη της ALU Η δεύτερη είσοδος της ALU προέρχεται από τον καταχωρητή Β Η δεύτερη είσοδος της ALU είναι η σταθερά 4 Η δεύτερη είσοδος της ALU είναι τα χαμηλότερα 6 bit του καταχωρητή εντολής αφού έχουν υποστεί επέκταση προσήμου Η δεύτερη είσοδος της ALU είναι τα χαμηλότερα 6 bit του καταχωρητή εντολής αφού έχουν υποστεί επέκταση προσήμου και αριστερή ολίσθηση κατά 2 bit Η έξοδος της ALU (PC + 4) πηγαίνει στον PC για εγγραφή Τ α περιεχόμενα του ALU (η διεύθυνση προορισμού διακλάδωσης) πηγαίνουν στον PC για εγγραφή Η διεύθυνση προορισμού άλματος (εντολή[25:] μετά από αριστερή ολίσθηση κατά 2 bit και συνένωση με το PC + 4[3:28]) πηγαίνει στον PC για εγγραφή 8

Υλοποίηση μονάδας ελέγχου με FSM Μηχανή πεπερασμένης κατάστασης (FSM - Finite State Machine): Σύνολο καταστάσεων: κάθε κατάσταση ορίζει ένα σύνολο εξόδων που ενεργοποιούνται όταν η μηχανή είναι σε αυτή την κατάσταση (όσες δεν είναι ρητά ενεργοποιημένες, είναι απενεργοποιημένες) Συνάρτηση επόμενης κατάστασης: απεικονίζει την τρέχουσα κατάσταση και τις εισόδους σε μια νέα κατάσταση 9

Instruction fetch/decode, register fetch 2

FSM για εντολές αναφοράς στη μνήμη 2

FSM για εντολές τύπου R 22

FSM για εντολές διακλάδωσης και άλματος 23

Υλοποίηση FSM Τμήμα συνδυαστικής λογικής Καταχωρητής που αποθηκεύει την τρέχουσα κατάσταση 24

Πλήρης μονάδα ελέγχου FSM για datapath πολλών κύκλων 25

FSM με προσθήκες για το χειρισμό της ανίχνευσης εξαιρέσεων Προσθήκες EPC: 32-bit καταχωρητής, κρατά τη διεύθυνση της εντολής που επηρεάζεται Cause: καταχωρητής που καταγράφει την αιτία της εξαίρεσης Νέα σήματα ελέγχου: EPCWrite, CauseWrite (εγγραφή στους EPC, Cause) PCSource=: PC σημείο εισόδου λειτουργικού συστήματος για το χειρισμό της εξαίρεσης Εξαιρέσεις που ανιχνεύονται: Μη ορισμένη εντολή (Cause=) Αριθμητική υπερχείλιση (Cause=) 26

Μονάδα ελέγχου pipeline Το pipeline με προσδιορισμένα τα σήματα ελέγχου 27

Τα σήματα ελέγχου και το αποτέλεσμά τους Όνομα σήματος RegDst RegWrite ALUSrc PCSrc Αποτέλεσμα όταν είναι απενεργοποιημένο Αποτέλεσμα όταν είναι ενεργοποιημένο Ο αριθμός καταχωρητή προορισμού για τον καταχωρητή εγγραφής προέρχεται από το πεδίο rt (bit 2:6) Κανένα Ο αριθμός καταχωρητή προορισμού για τον καταχωρητή εγγραφής προέρχεται από το πεδίο rd (bit 5:) Στον καταχωρητή στην είσοδο καταχωρητή εγγραφής γράφεται η τιμή που δίνεται στην είσοδο δεδομένων εγγραφής Ο δεύτερος τελεστέος της ALU είναι τα Ο δεύτερος τελεστέος της ALU κατώτερα 6 bit της εντολής αφού προέρχεται από τη δεύτερη έξοδο του αρχείου καταχωρητών (Δεδομένα υποστούν επέκταση προσήμου ανάγνωσης 2) Ο PC αντικαθίσταται από την έξοδο Ο PC αντικαθίσταται από την έξοδο του του αθροιστή που υπολογίζει την αθροιστή που υπολογίζει τον τιμή PC + 4 προορισμό της διακλάδωσης 28

Τα σήματα ελέγχου και το αποτέλεσμά τους (2) Όνομα σήματος Αποτέλεσμα όταν είναι απενεργοποιημένο M em Read Κανένα M em Write Κανένα M em toreg Η τιμή που παρέχεται στην είσοδο δεδομένων εγγραφής των καταχωρητών προέρχεται από την ALU Αποτέλεσμα όταν είναι ενεργοποιημένο Τ α περιεχόμενα της μνήμης δεδομένων που καθορίζονται από την είσοδο διεύθυνσης τοποθετούνται στην έξοδο δεομένων ανάγνωσης Τ α περιεχόμενα της μνήμης δεδομένων που καθορίζονται από την είσοδο διεύθυνσης αντικαθίστανται από την τιμή στην είσοδο δεδομένων εγγραφής Η τιμή που παρέχεται στην είσοδο δεδομένων εγγραφής των καταχωρητών προέρχεται από τη μνήμη δεδομένων Τα σήματα ελέγχου έχουν την ίδια λειτουργία όπως και στην υλοποίηση ενός κύκλου Το σήμα ALUOp και η υλοποίηση του ελέγχου της ALU είναι επίσης όπως στην υλοποίηση ενός κύκλου Δεν χρειάζονται σήματα εγγραφής για τον PC και για τους καταχωρητές του pipeline, αφού γίνεται εγγραφή σε κάθε κύκλο 29

Γραμμές ελέγχου pipeline Γραμμές ελέγχου σταδίου EX Γραμμές ελέγχου σταδίου ΜΕΜ Εντολή MemRead MemWrite Γραμμές ελέγχου σταδίου WB RegDst ALUOp ALUOp ALUSrc Branc h MemtoReg RegWrite R-T ype lw sw X X beq X X Όπως στην υλοποίηση ενός κύκλου, αλλά εδώ χωρίζονται σε ομάδες ανάλογα με τα στάδια του pipeline: IF: τα σήματα ελέγχου για την ανάγνωση της μνήμης εντολών και την εγγραφή του PC είναι πάντα ενεργοποιημένα, άρα δεν χρειάζονται γραμμές ελέγχου ID: όμοιες λειτουργίες σε κάθε κύκλο, δε χρειάζονται γραμμές ελέγχου EX: RegDst, ALUOp, ALUSrc MEM: Branch, MemRead, MemWrite WB: MemtoReg, RegWrite 3

Υλοποίηση ελέγχου pipeline Απλούστερος τρόπος υλοποίησης: επέκταση των καταχωρητών του pipeline ώστε να περιλαμβάνουν πληροφορίες ελέγχου δημιουργία των σημάτων στο στάδιο ID 3

Datapath με τις γραμμές ελέγχου συνδεδεμένες στα τμήματα ελέγχου των καταχωρητών του pipeline 32

Προσθήκη προώθησης (forwarding) Έλεγχος πολυπλέκτη Προέλευση Ερμηνεία ForwardA= ID/EX Ο πρώτος τελεστέος της ALU προέρχεται από το αρχείο καταχωρητών ForwardA= EX/M EM Ο πρώτος τελεστέος της ALU προωθείται από το προηγούμενο αποτέλεσμα της ALU ForwardA= M EM/WB Ο πρώτος τελεστέος της ALU προωθείται από τη μνήμη δεδομένων ή από ένα προηγούμενο αποτέλεσμα της ALU Ο δεύτερος τελεστέος της ALU προέρχεται από το αρχείο καταχωρητών Ο δεύτερος τελεστέος της ALU προωθείται από το προηγούμενο αποτέλεσμα της ALU ForwardB= ID/EX ForwardB= EX/M EM ForwardB= M EM/WB Ο δεύτερος τελεστέος της ALU προωθείται από τη μνήμη δεδομένων ή από ένα προηγούμενο αποτέλεσμα της ALU 33

Προσθήκη προώθησης (forwarding) (2) Συνθήκες για την ανίχνευση κινδύνων Κίνδυνος EX if (EX/MEM.RegWrite and (EX/MEM.RegisterRd ) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA= if (EX/MEM.RegWrite and (EX/MEM.RegisterRd ) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) ForwardB= Κίνδυνος ΜΕΜ if (MEM/WB.RegWrite and (MEM/WB.RegisterRd ) and (EX/MEM.RegisterRd ID/EX.RegisterRs) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = if (MEM/WB.RegWrite and (MEM/WB.RegisterRd ) and (EX/MEM.RegisterRd ID/EX.RegisterRt) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = 34

Προσθήκη μονάδας ανίχνευσης κινδύνου Κίνδυνος : μια εντολή προσπαθεί να διαβάσει έναν καταχωρητή μετά από μια εντολή load που τον γράφει Συνθήκη ανίχνευσης κινδύνου: if (ID/EX.MemRead and ((ID/EX.RegisterRt = IF/ID.RegisterRs) or (ID/EX.RegisterRt = IF/ID.RegisterRt))) stall 35

Προσθήκη μονάδας ανίχνευσης κινδύνου (2) Η μονάδα ανίχνευσης κινδύνου προστίθεται στο στάδιο ID Πώς γίνεται το stall; όλα τα σήματα ελέγχου στο στάδιο Ε γίνονται (nop), και δε γίνεται εγγραφή στους PC, IF/ID, άρα καθυστερούνται έναν κύκλο οι εντολές στα στάδια IF και ID 36

Xειρισμός κινδύνων διακλάδωσης Πρόβλεψη μη ληφθείσας διακλάδωσης Αν τελικά η διακλάδωση συμβεί, οι εντολές που έχουν ξεκινήσει να εκτελούνται μετά τη διακλάδωση πρέπει να απορριφθούν (flush) Μετακίνηση της εκτέλεσης των διακλαδώσεων στο στάδιο ID μείωση της καθυστέρησής τους, με κόστος σε υλικό και την πιο περίπλοκη προώθηση και 37 ανίχνευση κινδύνων

ειρισμός εξαιρέσεων Προσθήκες Καταχωρητής Cause (αιτία της εξαίρεσης) Καταχωρητής EPC (διεύθυνση εντολής που προκάλεσε την εξαίρεση) Είσοδος 8 8hex (αρχική διεύθυνση για να ξεκινήσει η προσκόμιση εντολών όταν συμβεί μια εξαίρεση) Το σήμα υπερχείλισης από την ALU είναι μια είσοδος στη μονάδα ελέγχου Σήματα για εκκένωση των σταδίων ID και Ε 38