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

Σχετικά έγγραφα
Αρχιτεκτονική Υπολογιστών

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

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

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

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

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

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές

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

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

Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Branch Prediction Mechanisms)

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

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

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

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

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών

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

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

Εντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer.

Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)

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

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

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

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

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

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών

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

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

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

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

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

Εντολές γλώσσας μηχανής

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

CS425 Computer Systems Architecture

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής

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

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

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

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

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

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

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

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

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

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης

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

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

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ

Transcript:

Γιώργος Δημητρίου Ενότητα 5 η : Δυναμική Δρομολόγηση Εντολών (Διακλαδώσεις, Υποθετική & Υπερβαθμωτή Εκτέλεση)

Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη πολλαπλών επιπέδων Υποθετική εκτέλεση Διαχείριση εντολών μετά από μία πρόβλεψη διακλάδωσης Υπερβαθμωτή ΜΕΔ Πολλαπλές ολικά επικαλυπτόμενες εντολές Περιορισμοί στην εκμετάλλευση ILP

Θέματα Πρόβλεψης Διακλαδώσεων Στατική πρόβλεψη Ορισμένη κατά τη μεταγλώττιση Δυναμική πρόβλεψη Προσαρμόζεται δυναμικά στη συμπεριφορά της διακλάδωσης κατά την εκτέλεση του κώδικα Κόστος αποτυχίας πρόβλεψης Υλοποίηση ΜΕΔ Στρατηγική ανάνηψης

Στατική Πρόβλεψη με Προφίλ

Απλή Δυναμική Πρόβλεψη Διακλαδώσεων Πίνακας ιστορίας διακλάδωσης (branch history) Διευθυνσιοδότηση από μέρος της διεύθυνσης της εντολής, όχι ετικέτα Πολλαπλές διακλαδώσεις πιθανά μοιράζονται την ίδια ιστορία 2 bits ιστορίας αποδίδουν καλύτερα από 1, και όχι πολύ λιγότερο καλά από n>2 bits

Μέγεθος Πίνακα Ιστορίας Διακλάδωσης

Πρόβλεψη σε Δύο Επίπεδα Η συμπεριφορά της ίδιας διακλάδωσης σε διαδοχικές εκτελέσεις της πριν την παρούσα Η συμπεριφορά διαδοχικών διακλαδώσεων που εκτελούνται πριν την παρούσα Παράδειγμα: if (d == 0) d = 1; if (d == 1)... bne $1,$0,L1 addiu $1,$0,1 L1: addiu $3,$1,-1 bne $3,$0,L2 L2:

Υλοποιώντας το Δεύτερο Επίπεδο

Συγκριτική Απόδοση

Εναλλαγή Μεθόδων Πρόβλεψης Υλοποίηση πολλαπλών μεθόδων πρόβλεψης Επιλογή μιας μεθόδου δυναμικά, ανάλογα με την επιτυχία πρόβλεψης

Πρόβλεψη Προορισμού Μνήμη διευθύνσεων προορισμού διακλάδωσης (ΒΤΒ) Συσχετιστική μνήμη, ετικέτα η διεύθυνση της εντολής διακλάδωσης Αποθήκευση διευθύνσεων μόνο για άλματα που εκτελούνται Άμεση εύρεση διεύθυνσης προορισμού για ανάκληση εντολών Αποθήκευση εντολών αντί διευθύνσεων Χρήση με ή χωρίς πίνακα ιστορίας

Διαχείριση ΒΤΒ

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

Πρόβλεψη Διεύθυνσης Επιστροφής

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

Απόσυρση Εντολών (Commit) Η τελευταία φάση στον κύκλο εντολής, που διαχωρίζεται από τη φάση εκτέλεσης Η απόσυρση γίνεται με την αρχική σειρά των εντολών Ακριβής αντιμετώπιση ειδικών περιπτώσεων Χρήση πίνακα επαναδιάταξης εντολών (reorder buffer) Ένα αποτέλεσμα εκτέλεσης αποθηκεύεται προσωρινά στον πίνακα επαναδιάταξης

MIPS με Υποθετική Εκτέλεση

Παράδειγμα Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk Dest A Load1 Load2 Add1 Add2 Add3 N N N N N Mult1 N Mul Mem[45+Regs[3]] Regs[F4] #3 Mult2 Y Div Mem[34+Regs[2]] #3 #5 Πίνακας επαναδιάταξης # Busy Εντολή Κατάσταση Προορισμός Τιμή 1 N Ldc1 $f6,34($2) Commit F6 Mem[34+Regs[2]] 2 N Ldc1 $f2,45($3) Commit F2 Mem[45+Regs[3]] 3 Y Mul.d $f0,$f2,$f4 Write result F0 #2 x Regs[F4] 4 Y Sub.d $f8,$f6,$f2 Write result F8 #1 - #2 5 Y Div.d $f10,$f0,$f6 Execute F10 6 Y Add.d $f6,$f8,$f2 Write result F6 #4 + #2 Κατάσταση εγγραφής καταχωρητών Πεδίο $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 #/Busy 3/Y -/N -/N 6/Y 4/Y 5/Y -/N -/N

Μετονομασία Καταχωρητών Χρήση μεγάλου αριθμού φυσικών καταχωρητών για προσωρινή απεικόνιση των καταχωρητών της αρχιτεκτονικής Μια προσωρινή απεικόνιση: οριστικοποιείται στην απόσυρση της αντίστοιχης διακλάδωσης ακυρώνεται σε αποτυχημένη πρόβλεψη Τα δεδομένα αποθηκεύονται μόνο στο ΦΚ, όχι στον πίνακα επαναδιάταξης

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

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

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