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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

Transcript:

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

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

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

Εξαρτήσεις εδοµένων Ανάγνωση µετά από εγγραφή (ΑΜΕ) nφ5 Φ2 Εγγραφή µετά από εγγραφή (ΕΜΕ) nφ5 Φ5 Εγγραφή µετά από ανάγνωση (ΕΜΑ) nφ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 Φ1 Φ2 Χ Φ2 Χ Φ2 Φ3 Φ4 Φ5 Γιατί όχι πάγωµα 3 κύκλων;

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

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

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

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

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

Ακύρωση Επόµενης Εντολής Ανδενξέρουµεέγκαιραότιέχουµεάλµα, η επόµενη εντολή δε µπορεί να παγώσει: j 0x1a402c0 επόµενη εντολή Φ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 - - - - εντολή προορισµού (ακύρωση!) (ακύρωση!)

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

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

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

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

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

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

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

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

Αλγόριθµοι Πρόβλεψης Κλασικός αλγόριθµος µε 2 bits ιστορίας 11 10 01 00 Πρόβλεψη εναλλαγών; Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

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

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