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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στο σχήμα 3.1 δίνεται μια μονάδα επεξεργασίας δεδομένων σταθερής υποδιαστολής που εκτελεί οποιαδήποτε από τις κάτωθι εντολές σε ένα κύκλο ρολογιού.

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

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

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

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

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

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

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

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

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

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

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

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

Στο σχήμα 4.1 δίνεται μια μονάδα επεξεργασίας δεδομένων σταθερής υποδιαστολής που εκτελεί κάθε μια από τις κάτωθι εντολές σε όσους κύκλους απαιτείται.

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

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

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

Transcript:

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 7 ο ΠΜΣ Εφαρμοσμένη Πληροφορική

ΔΙΑΔΟΧΙΚΕΣ ΔΙΑΔΙΚΑΣΙΕΣ Σειριακή εκτέλεση, χωρίς καμία επικάλυψη: 50ns 100ns Δ1 Χρόνος Δ2 Δ3 Συνολικός χρόνος ολοκλήρωσης τριών όμοιων διαδικασιών: 150ns Ρυθμός ολοκλήρωσης (διεκπεραιωτική ικανότητα): 1 διαδικασία ανά 50ns

ΧΡΟΝΙΚΗ ΕΠΙΚΑΛΥΨΗ ΔΙΑΔΙΚΑΣΙΩΝ Πλήρης επικάλυψη: Δ1 50ns Χρόνος Δ2 Δ3 Μερική επικάλυψη: Δ1 Δ2 Δ3

ΤΟ ΚΛΑΣΙΚΟ ΠΑΡΑΔΕΙΓΜΑ

ΜΕΡΙΚΗ ΕΠΙΚΑΛΥΨΗ ΕΝΤΟΛΩΝ Διαχωρισμός σε ισόχρονες φάσεις Ομοιόμορφη επικάλυψη 50ns Ε 55ns Ε1 Χρόνος Ε2 Ε3 Συνολικός χρόνος: 77ns Ρυθμός ολοκλήρωσης: 1 εντολή ανά 11ns

ΕΠΙΤΥΧΗΣ ΕΠΙΚΑΛΥΨΗ Όταν ολοκληρώνουμε διαδοχικές εντολές με το μέγιστο δυνατό ρυθμό Ουσιαστικά δεν επιτυγχάνεται ποτέ Ε Ε1 50ns 55ns Χρόνος Ε2 Φ1 Φ2 Χ Φ2 Φ3 Φ4 Φ5 Ε3 Φ1 Χ Φ1 Φ2 Φ3 Φ4 Φ5 Οι Ε2, Ε3 παγώνουν για μία φάση

ΥΛΟΠΟΙΗΣΗ ΜΕΡΙΚΗΣ ΕΠΙΚΑΛΥΨΗΣ ΕΝΤΟΛΩΝ Διαχωρισμός φάσεων με μία φάση ανά κύκλο μηχανής Όπως έχουμε δει σε προηγούμενο μάθημα η διάρκεια κύκλου μηχανής καθορίζεται από τη μακρύτερη φάση Μερική επικάλυψη, αλλά: Ανεξαρτητοποιούμε κάθε φάση από τις προηγούμενες με χρήση ενδιάμεσων καταχωρητών τι θα γινόταν αν λαμβάναμε τη λέξη εντολής από τον IR για όλη τη διάρκεια της εντολής;

ΑΛΜ ΑΥΞ ΜΕΔ ΜΕ ΕΠΙΚΑΛΥΨΗ ΕΝΤΟΛΩΝ Αρχιτεκτονική MIPS Διακοπή Μ1 ΑΘΡ PC Μονάδα Ελέγχου c1 c2 c3 c2 c3 c3 F D E M ΜΔΜ & Αποθηκευμένο Πρόγραμμα pc ir Φάκελος Καταχωρητών Γενικού Σκοπού pc a b ir Μ2 Ζ c b ΜΔΜ & Αποθηκευμένα Δεδομένα dr c Μ3 όπου Μ1 = PCSrc, M2 = ALUSrcB και M3 = MemtoReg

ΑΝΑΚΛΗΣΗ ΕΝΤΟΛΗΣ (Φ1) Γιατί θέλουμε σταθερό μέγεθος εντολής; Φ11 Φ12 Φ13 Φ2 Φ3 Φ4 Φ5 Φ1 Χ Φ1 Χ Μεταβλητό μέγεθος εντολής: Μακρύτερος χρόνος εκτέλεσης Πολύπλοκος έλεγχος

ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ ΕΝΤΟΛΗΣ (Φ2) Ανάγνωση καταχωρητών Οι διευθύνσεις ανάγνωσης βρίσκονται από τον F Υπολογισμός διεύθυνσης προορισμού άλματος Μπορεί να γίνει τώρα; Μπορεί να γίνει στην ΑΛΜ; Παραγωγή σημάτων ελέγχου Όλα τα σήματα παράγονται σε έναν κύκλο και μεταφέρονται προς τους επόμενους

ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΗΣ (Φ3) Εκτέλεση εντολών ΑΛΜ Πού βρίσκουμε τα άμεσα τελούμενα; Υπολογισμός τελικής διεύθυνσης για εντολές προσπέλασης μνήμης Πού βρίσκουμε τη σταθερά μετατόπισης; Εκτέλεση αλμάτων Πού βρίσκουμε τον PC; Μήπως είναι πολύ αργά για άλματα; Τι μπορούμε να κάνουμε;

ΠΡΟΣΠΕΛΑΣΗ ΜΝΗΜΗΣ (Φ4) Κοινή κρυφή μνήμη εντολών/δεδομένων: sw add lw Φ1 Χ ori Κρυφή μνήμη διπλής προσπέλασης Διαχωρισμός κρυφής μνήμης

ΠΡΟΒΛΗΜΑ ΑΡΓΗΣ ΜΝΗΜΗΣ Χρήση πιο γρήγορης κρυφής μνήμης Διάσπαση προσπέλασης σε μικρότερες φάσεις του ενός κύκλου μηχανής Επικαλυπτόμενες φάσεις! Πολύπλοκος έλεγχος Η ενσωματωμένη κρυφή μνήμη της ΚΜΕ του MIPS έχει χρόνο προσπέλασης 1 κύκλο μηχανής

ΑΠΟΘΗΚΕΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΟΣ (Φ5) Πρόβλημα με τη φάση αποκωδικοποίησης (Φ2) Ταυτόχρονη προσπέλαση για εγγραφή (Φ5) και για ανάγνωση (Φ2) Σύντομη προσπέλαση στο φάκελο καταχωρητών: Εγγραφή στο πρώτο μισό του κύκλου μηχανής Ανάγνωση στο δεύτερο μισό του κύκλου μηχανής

ΧΡΟΝΙΣΜΟΣ ΦΑΣΕΩΝ Φ1 Φ2 Φ3 Φ4 Φ5 Φ1 Φ2 Φ3 Φ4 Φ5 Φ1 Φ2 Φ3 Φ4 Φ5 Φ1 Φ2 Φ3 Φ4 Φ5 Εγγραφές καταχωρητών επικάλυψης στην άνοδο του παλμού Εγγραφές φακέλου καταχωρητών στην πτώση του παλμού

ΚΙΝΔΥΝΟΙ ΕΠΙΚΑΛΥΨΗΣ Δομικοί κίνδυνοι (structural hazards) Ανάγκη ταυτόχρονης χρήσης υλικού Κίνδυνοι από εξαρτήσεις δεδομένων (data hazards) Μια εντολή χρησιμοποιεί το αποτέλεσμα κάποιας προηγούμενης, όπως: add $7, $10, $26 sub $9, $7, $8 Κίνδυνοι από διαδικασιακές εξαρτήσεις ή εξαρτήσεις ελέγχου (control hazards) Υποθετική εκτέλεση εντολών κάτω από άλματα, όπως: 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 Φ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

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

ΔΙΑΔΙΚΑΣΙΑΚΟΙ ΚΙΝΔΥΝΟΙ Εξαρτήσεις εντολών μετά από άλμα: Φ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 Μοντέλο MIPS: Τροποποίηση υλικού για υπολογισμό προορισμού, αποτίμηση συνθήκης και άλμα στη Φ2 Παράδειγμα: beq $3, $6, -2044 επόμενη εντολή Φ1 - - - - (ακύρωση!) εντολή προορισμού Απώλεια 1 κύκλου σε εκτέλεση άλματος Αλλά μπορούμε να έχουμε καθυστερημένο άλμα και να μην ακυρώνουμε την επόμενη εντολή!

ΠΡΟΒΛΕΨΗ ΔΙΑΚΛΑΔΩΣΕΩΝ Πρόβλεψη στην αποτίμηση της συνθήκης Εκτέλεσης / Μη εκτέλεσης άλματος Σωστή πρόβλεψη (μη εκτέλεσης άλματος): beq $3, $6, -2044 lw $16, 4($9) εντολή που ακολουθεί τη διακλάδωση Λάθος πρόβλεψη (με εκτέλεση στη Φ2): beq $3, $6, -2044 lw $16, 4($9) Φ1 - - - - sw $10, 28($5) εντολή στη διεύθυνση προορισμού Αντίστοιχα για πρόβλεψη εκτέλεσης άλματος

ΛΑΝΘΑΣΜΕΝΗ ΠΡΟΒΛΕΨΗ Επαναφορά στην προηγούμενη κατάσταση: Δε μπορεί να αλλάζει η κατάσταση που φαίνεται εξωτερικά, άρα Δε γράφονται καταχωρητές γενικού σκοπού Δε γράφεται μνήμη πριν αποτιμηθεί η συνθήκη άλματος Κόστος λάθους Ανάλογα με την απόσταση από τη Φ1 της φάσης αποτίμησης της συνθήκης

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

ΔΥΝΑΜΙΚΗ ΠΡΟΒΛΕΨΗ Η πρόβλεψη αλλάζει κατά τη διάρκεια εκτέλεσης του κώδικα, ανάλογα με τη συμπεριφορά της διακλάδωσης Πρόβλεψη στην αποτίμηση της συνθήκης: Κρατάμε τις τιμές που αποτιμήθηκαν Πρόβλεψη στον προορισμό της διακλάδωσης: Κρατάμε τις διευθύνσεις προορισμού

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

ΥΛΟΠΟΙΗΣΗ ΔΥΝΑΜΙΚΗΣ ΠΡΟΒΛΕΨΗΣ Αποθηκεύουμε τη συμπεριφορά κάθε διακλάδωσης: Πίνακας ιστορικού διακλαδώσεων Πίνακας διευθύνσεων προορισμού διακλαδώσεων Η φάση ανάκλησης συνοδεύεται από έλεγχο διακλάδωσης και πρόβλεψη Σε διακλάδωση ακολουθούμε την πρόβλεψη που δίνει κατάλληλος αλγόριθμος Η φάση εκτέλεσης ενημερώνει την αποθηκευμένη συμπεριφορά

ΑΛΓΟΡΙΘΜΟΙ ΠΡΟΒΛΕΨΗΣ Κλασικός αλγόριθμος με 2 bits ιστορίας 11 10 01 00

ΑΛΜ Πρόβλεψη Διακλαδώσεων ΑΥΞ ΜΕΔ ΜΕ ΕΠΙΚΑΛΥΨΗ ΕΝΤΟΛΩΝ Αρχιτεκτονική MIPS 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 Διακοπή Παροχέτευση