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

Σχετικά έγγραφα
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θέματα Μεταγλωττιστών

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

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

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

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

Θέματα Μεταγλωττιστών

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

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

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

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

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

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

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

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

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

Παραλληλισμός σε επίπεδο εντολών

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

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

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

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

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

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

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

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

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

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

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

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

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

Συναρτήσεις-Διαδικασίες

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση) Μανόλης Γ.Η.

Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής. Αρχιτεκτονική Υπολογιστών. 3ο Μάθημα

Transcript:

Γιώργος Δημητρίου Μάθημα 8 ο Μερική Επικάλυψη

Κίνδυνοι στη Μερική Επικάλυψη Αδυναμία ιδανικής εκτέλεσης με μερική επικάλυψη Εξαρτήσεις μεταξύ εντολών Ανάγκη εκτέλεσης λειτουργιών σε συγκεκριμένη σειρά Κίνδυνοι από πιθανότητα παραβίασης των εξαρτήσεων μεταξύ εντολών Αντιμετώπιση των κινδύνων με εφαρμογή στη ΜΕΔ MIPS

Εξαρτήσεις και Κίνδυνοι Κίνδυνοι από δομικές εξαρτήσεις Εξαρτήσεις υλικού Κίνδυνοι από εξαρτήσεις δεδομένων Εξαρτήσεις εγγραφής καταχωρητών, όπως: add $7, $10, $26 sub $9, $7, $8 Κίνδυνοι από διαδικασιακές εξαρτήσεις Εξαρτήσεις ροής προγράμματος, όπως: beq $2, $8, Label add $7, $10, $26

Δομικοί Κίνδυνοι Όπως ήδη είδαμε: Στη μνήμη, μεταξύ των φάσεων Φ1, Φ4 Στην ΑΛΜ, στη φάση Φ3 εντολών άλματος με συνθήκη Αντιμετωπίστηκαν με αντιγραφή υλικού Επιπλέον: Σε μονάδες πράξεων διάρκειας μεγαλύτερης από έναν κύκλο μηχανής, όπως: mult $4,$6 mult $10,$8

Εξαρτήσεις Δεδομένων Ανάγνωση μετά από εγγραφή (ΑΜΕ) Εγγραφή (Φ5) Ανάγνωση (Φ2) Εγγραφή μετά από εγγραφή (ΕΜΕ) Εγγραφή (Φ5) Εγγραφή (Φ5) Εγγραφή μετά από ανάγνωση (ΕΜΑ) Ανάγνωση (Φ2) Εγγραφή (Φ5) Οι ΕΜΕ και ΕΜΑ δε μας απασχολούν στη ΜΕΔ που μελετάμε (γιατί;)

Κίνδυνοι Εξαρτήσεων ΑΜΕ Παραδείγματα: add $8, $12, $7 lw $10, -100($8) sub $5, $12, $10 Φ1 Φ2 Φ3 Φ4 Το κόκκινο δείχνει τις πραγματικές σχέσεις εξάρτησης μεταξύ παραγωγής και χρήσης!

Πάγωμα Εξαρτημένων Εντολών Παραδείγματα: add $8, $12, $7 lw $10, -100($8) Φ1 Φ2 Χ Φ2 Χ Φ2 Φ3 Φ4 Φ5 sub $5, $12, $10 Πάγωμα μέχρι τα δεδομένα να γίνουν διαθέσιμα Γιατί πάγωμα 2 και όχι 3 κύκλων; Φ1 Φ2 Χ Φ2 Χ Φ2 Φ3 Φ4 Φ5

Τεχνική Παροχέτευσης Προωθούμε τα δεδομένα όπου και όταν χρειάζονται Παραδείγματα: add $8, $12, $7 lw $10, -100($8) sub $5, $12, $10 Φ1 Φ2 Χ Φ2 Φ3 Φ4 Φ5

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

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

Διαδικασιακοί Κίνδυνοι Εξαρτήσεις εντολών μετά από άλμα: Εκτέλεση (Φ3) Ανάκληση (Φ1) Παραδείγματα: j 0x1a402c0 add $7, $5, $12 beq $3, $6, -2044 lw $16, 4($9) υποθέτοντας άμεσα άλματα στη Φ3 υποθέτοντας άλματα διακλαδώσεων στη Φ3

Πάγωμα Επόμενης Εντολής Αν ξέρουμε έγκαιρα ότι έχουμε άλμα! Παραδείγματα: j 0x10a402c0 επόμενη εντολή εντολή προορισμού beq $3, $6, -2044 Φ1 Χ Φ1 Χ επόμενη εντολή Φ1 Χ Φ1 Χ εντολή προορισμού Προσκομίζουμε την εντολή που πρέπει! Είναι εφικτό να ξέρουμε πριν τη φάση Φ2;

Ακύρωση Επόμενης Εντολής Αν δεν ξέρουμε έγκαιρα ότι έχουμε άλμα, η επόμενη εντολή δε μπορεί να παγώσει: j 0x1a402c0 επόμενη εντολή Φ1 Φ1 Χ - - - - εντολή προορισμού beq $3, $6, -2044 Παγώνουμε μετά την αποκωδικοποίηση! επόμενη εντολή Φ1 Φ1 Χ - - - - εντολή προορισμού (πάγωμα!) (πάγωμα!) (ακύρωση!) (ακύρωση!)

Εκτέλεση Αλμάτων Διακλαδώσεων στη Φ4 Μοντέλο βιβλίου Patterson-Hennessy: Υπολογισμός προορισμού και αποτίμηση συνθήκης στη Φ3, αλλά άλμα στη Φ4 Παράδειγμα: beq $3, $6, -2044 επόμενη εντολή Φ1 Φ1 Χ Φ1 Χ - - - - εντολή προορισμού (πάγωμα!) (ακύρωση!) Απώλεια 3 κύκλων σε εκτέλεση άλματος

Εκτέλεση Αλμάτων στη Φ2 Τροποποιώντας το υλικό, μεταφέρουμε στη Φ2 την εκτέλεση αλμάτων Παραδείγματα: jr $18 επόμενη εντολή Φ1 - - - - (ακύρωση!) εντολή προορισμού beq $3, $6, -2044 επόμενη εντολή Φ1 - - - - (ακύρωση!) εντολή προορισμού

Καθυστερημένα Άλματα Το άλμα εκτελείται μετά την επόμενη εντολή Η επόμενη εντολή δεν είναι διαδικασιακά εξαρτημένη από το άλμα Παραδείγματα (εκτέλεση στη Φ2): j 0x1a402c0 add $7, $5, $12 εντολή προορισμού beq $3, $6, -2044 lw $16, 4($9) εντολή προορισμού

Θέση Καθυστέρησης Μεταφράζοντας για επεξεργαστή με καθυστερημένα άλματα, ο μεταγλωττιστής πρέπει να συμπληρώνει τη θέση καθυστέρησης Κατά προτίμηση με χρήσιμη εντολή Διαφορετικά με nop Πόσο εύκολο είναι να βρίσκουμε χρήσιμη εντολή για τη θέση καθυστέρησης;

Παραμένοντα Προβλήματα Ο συνδυασμός: Εκτέλεση στη φάση Φ2 και Καθυστερημένο άλμα λύνει το πρόβλημα; Προβλήματα από εξαρτήσεις από δεδομένα σε άλματα με ή χωρίς συνθήκη Για άλματα με συνθήκη (διακλαδώσεις), δεν είναι πάντα δυνατή η αποτίμηση της συνθήκης στη φάση Φ2

Διακλαδώσεις Στη συνέχεια αφήνουμε τη δυνατότητα εκτέλεσης στη Φ2 καθώς και τα καθυστερημένα άλματα, και υποθέτουμε εκτέλεση στη Φ3 Μπορούμε με κάποιον τρόπο να προβλέψουμε αν θα συνεχίσουμε με τις επόμενες εντολές ή αν θα εκτελέσουμε άλμα στον προορισμό;

Πρόβλεψη Διακλαδώσεων Πρόβλεψη της συνθήκης άλματος Σωστή πρόβλεψη (μη εκτέλεσης άλματος): beq $3, $6, -2044 Λάθος πρόβλεψη (μη εκτέλεσης άλματος): beq $3, $6, -2044 lw $16, 4($9) add $8, $16, $3 εντολές που ακολουθούν τη διακλάδωση lw $16, 4($9) Φ1 Φ2 - - - add $8, $16, $3 Φ1 - - - - sw $10, 28($5) εντολή στη διεύθυνση προορισμού Αντίστοιχα για πρόβλεψη εκτέλεσης άλματος

Λανθασμένη Πρόβλεψη Επαναφορά στην προηγούμενη κατάσταση: Δε μπορεί να αλλάζει η κατάσταση που φαίνεται εξωτερικά, άρα Δε γράφονται καταχωρητές γενικού σκοπού Δε γράφεται μνήμη πριν αποτιμηθεί η συνθήκη άλματος Κόστος λάθους Ανάλογα με την απόσταση από τη Φ1 της φάσης αποτίμησης της συνθήκης και ακύρωσης εντολών

Στατική Πρόβλεψη Η πρόβλεψη κάθε διακλάδωσης δεν αλλάζει με την εκτέλεση του κώδικα Πρόβλεψη ανάλογα με την εντολή Γίνεται από το σχεδιαστή του συστήματος Πρόβλεψη ανάλογα με τη μετατόπιση Καλή για βρόχους (αρνητική μετατόπιση) Πρόβλεψη που ορίζει ο μεταγλωττιστής Ανάλογα με τα στοιχεία που έχει ο μεταγλωττιστής για βελτιστοποίηση του κώδικα

Δυναμική Πρόβλεψη Η πρόβλεψη αλλάζει κατά τη διάρκεια εκτέλεσης του κώδικα, ανάλογα με τη συμπεριφορά της διακλάδωσης Πρόβλεψη στην αποτίμηση της συνθήκης: Κρατάμε τις τιμές που αποτιμήθηκαν Πρόβλεψη στον προορισμό της διακλάδωσης: Κρατάμε τις διευθύνσεις προορισμού

Δυναμική Πρόβλεψη Πρόβλεψη συνθήκης και προορισμού Σωστή πρόβλεψη (εκτέλεσης άλματος): beq $3, $6, -2044 sw $10, 28($5) add $6, $25, $12 Λάθος πρόβλεψη (εκτέλεσης άλματος): beq $3, $6, -2044 εντολή στη διεύθυνση προορισμού sw $10, 28($5) Φ1 Φ2 - - - add $6, $25, $12 Φ1 - - - - lw $16, 4($9) εντολή που ακολουθεί τη διακλάδωση Όμοια για πρόβλεψη μη εκτέλεσης άλματος

Υλοποίηση Δυναμικής Πρόβλεψης Αποθηκεύουμε τη συμπεριφορά κάθε διακλάδωσης: Πίνακας ιστορικού διακλαδώσεων Πίνακας διευθύνσεων προορισμού διακλαδώσεων Η φάση ανάκλησης συνοδεύεται από έλεγχο διακλάδωσης και πρόβλεψη Σε διακλάδωση ακολουθούμε την πρόβλεψη που δίνει κατάλληλος αλγόριθμος Η φάση εκτέλεσης ενημερώνει την αποθηκευμένη συμπεριφορά

Αλγόριθμοι Πρόβλεψης Κλασικός αλγόριθμος με 2 bits ιστορίας 11 10 01 00 Πρόβλεψη εναλλαγών;

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

Αποθήκευση Συμπεριφοράς Διακλαδώσεων Περιορισμοί στο χώρο αποθήκευσης: Δύο πίνακες έναντι ενός ενιαίου Λίγα bits στον πίνακα ιστορικού ανά διακλάδωση Μία διεύθυνση στον πίνακα διευθύνσεων προορισμού ανά διακλάδωση Πολυπλέκουμε πολλές διακλαδώσεις μαζί Μικρός αριθμός ενεργών διακλαδώσεων

ΑΛΜ Πρόβλεψη Διακλαδώσεων ΑΥΞ ΜΕΔ με Επικάλυψη Εντολών Αρχιτεκτονική MIPS PCSel PC wrdis Ανίχνευση Κινδύνων Μονάδα Ελέγχου CZ M1 c1 c2 c3 ΑΘΡ c2 c3 c3 F pc D pc E M ΜΔΜ & Αποθηκευμένο Πρόγραμμα ir Φάκελος Καταχωρητών Γενικού Σκοπού a b M4 M5 M2 Z c ΜΔΜ & Αποθηκευμένα Δεδομένα dr c M3 flush ir fwd b Διακοπή Παροχέτευση