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

Σχετικά έγγραφα
Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές, 2ο μέρος

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

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

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

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

Δυναμική Θεώρηση και Συγχρονισμός των εξαρτήσεων των δεδομένων. Αλεξάνδρα Παπανδρεάδη (ΑΜ 362)

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

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

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

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

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

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

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

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

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

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

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

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

Εικονική Μνήμη (Virtual Μemory)

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

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

Τεχνολογίες Κύριας Μνήμης

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

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

(Branch Prediction Mechanisms)

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

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

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

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

Πολυνηματικές Αρχιτεκτονικές

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

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

Πολυπύρηνοι επεξεργαστές Multicore processors

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Εισαγωγή. SMT 6 IPC, δυναμικά διαμοιραζόμενο. Superscalar 6 IPC. CMP 4x2 IPC

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

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

Κατανεμημένα Συστήματα

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

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

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)

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

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

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

Κατανεμημένα Συστήματα

Πολυνηματικές Αρχιτεκτονικές

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Πολυνηματικές Αρχιτεκτονικές

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

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

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

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

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

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

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

Διαχείριση Κύριας Μνήμης

Κεφάλαιο 3. Διδακτικοί Στόχοι

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

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

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

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

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

Μάθημα 8: Διαχείριση Μνήμης

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

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

Instruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach

Λειτουργικά Συστήματα Η/Υ

Πολυνηματικές Αρχιτεκτονικές

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

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

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Transcript:

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου

Ορια παραλληλίας επ. εντολής! Επιστροφή στην αρχιτεκτονική του πυρήνα...! Τεχνικές δυναμικού χρονοπρογραμματισμού, εκτέλεση με εικασία, παράλληλη εκκίνηση πολλών εντολών στόχος εκμετάλευση παραλληλίας επιπέδου εντολής (ILP) εύρεση και ταυτόχρονη εκτέλεση ανεξάρτητων εντολών σε ένα σειριακό πρόγραμμα! Ποιά είναι τα όρια του ILP?! Αρχικά: Ιδανικός επεξεργαστής, πραγματικά προγράμματα! Αργότερα: Ρεαλιστικές τιμές σε διάφορα χαρακτηριστικά πυρήνα 2

Ιδανικός πυρήνας! Register renaming απεριόριστος αριθμός (μετονομασμένων) καταχωρητών Δεν υπάρχουν εξαρτήσεις WAW, WAR Δεν υπάρχει όριο στον αριθμό εντολών που μπορούν να ξεκινήσουν εκτέλεση ταυτόχρονα! Branch/Jump predicfon τέλεια πρόβλεψη και για κατεύθυνση και για στόχο Εικασίες είναι πάντα σωστές! Memory address alias όλες οι διευθύνσεις είναι γνωστές Μια load μπορεί να γίνει πρίν από store (εκτός αν έχουν την ίδια διεύθυνση)! Perfect caches όλες οι προσπελασεις γίνονται σε ένα κύκλο 3

Εκκίνηση εντολών! Δεν υπάρχει όριο στον αριθμό εντολών που εκκινούν ταυτόχρονα ακόμα και για εντολές προσπέλασης μνήμης! gcc 55 SPEC benchmarks espresso li fpppp doduc tomcatv 18 63 75 119 150 0 20 40 60 80 100 120 Instruction issues per cycle 140 160 4

Πρακτικές δυσκολίες εκκίνησης! Εξέταση εξαρτήσεων μεταξύ εντολών που εκκινούν ταυτόχρονα (issue packet) μετονομασία καταχωρητών Για n εντολές στο issue packet με 2 καταχωρητές πηγής: 2(n- 1) + 2(n- 2) + +2 = n 2 - n συγκρίσεις n=50, 2450 συγκρίσεις! Πρακτικά: εκκίνηση με τη σειρά προγράμματος, πεπερασμένος αριθμός καταχωρητών,... 5

Αρχή εκτέλεσης window size! Το σύνολο εντολών που εξετάζονται για να ξεκινήσουν εκτέλεση ονομάζεται παράθυρο (window) κατανεμημένο (Tomasulo) ή όχι! Για κάθε παραγόμενο αποτέλεσμα κάθε εντολή του παράθυρου κάθε τελεστέο πηγής (2) σύγκριση του αριθμού καταχωρητή! Εξαρτήσεις/περιορισμοί μεγέθους παράθυρου χώρος αποθήκευσης αριθμός συκρίσεων αριθμός εντολών που εκκινούν (εισέρχονται στο παράθυρο) 6

Effect of window size 7

! Στα επόμενα «πειράματα» κρατάμε το μέγεθος window στο 2Κ και αριθμό εντολών εκκίνησης 64 αρκετά μεγαλύτερα από ρεαλιστικές υλοποιήσεις! Εξετάζουμε: πρόβλεψη διακλάδωσης πεπερασμένος αριθμός καταχωρητών memory alias 8

Πρόβλεψη διακλάδωσης! Εξετάζονται 5 δυνατότητες: τέλεια πρόβλεψη Tournament predictor 8K * 3 * 2bits. 2* 2K jump predictor Κλασσικός 2bit 512 * 2bits. RAS 16 θέσεων Profile based Στατική πρόβλεψη καθόλου πρόβλεψη! Η ποινή λάθους πρόβλεψης είναι 0 το μόνο πρόβλημα που εξετάζεται είναι ο αριθμός των εντολών που μπορεί να αξιοποιηθεί μετά από μία διακλάδωση/άλμα 9

Πρόβλεψη διακλάδωσης 10

Πρόβλεψη διακλάδωσης! Ακόμα και η απλούστερη μέθοδος πρόβλεψης δίνει μεγάλο κέρδος 3 x στα integer και doduc! Τα tomcatv fpppp έχουν απλούστερη συμπεριφορά γιατί έχουν πολύ λιγότερες και προβλέψιμες διακλαδώσεις μεγάλο κέρδος από πρόβλεψη διακλάδωσης! Στα υπόλοιπα: η διαφορά του τέλειου predictor από τον καλύτερο ρεαλιστικό είναι μεγάλη 11

Αριθμός καταχωρητών! Ξεκινάμε από ένα branch predictor καλύτερο από τον tournament των προηγούμενων προσομοιώσεων tournament 150Kbits, 2- level,! Εξετάζουμε την επίδραση του αριθμού καταχωρητών (μετονομασμένων - φυσικών) 12

Αριθμός καταχωρητών 13

Αριθμός καταχωρητών! Οι επιπλέον καταχωρητές είναι απαραίτητοι για να κρατούν τα ενδιάμεσα αποτελέσματα των εντολών που εκτελούνται ύπο εικασία! Αν υπάρχει αρκετός παραλληλισμός, ο αριθμός καταχωρητών είναι σημαντικός 14

Memory alias analysis! Ξεκινάμε με 256 επιπλέον καταχωρητές (για κάθε είδος Int, FP)! Δεν είναι πρακτικό να γνωρίζουμε όλες τις διευθύνσεις μνήμης και άρα τις εξαρτήσεις! Τέλειο memory alias analysis και 3 πιο ρεαλιστικά μοντέλα: Τέλεια ανάλυση για προσπελάσεις σε stack και global μνήμη Inspecfon απλή ανάλυση, π.χ. R10+10 δεν μπορεί να είναι η ίδια διεύθυνση με R10+100, αν δεν έχει αλλάξει ο R10 Καμία ανάλυση κάθε διεύθυνση μπορεί να συγκρούεται με οποιαδήποτε άλλη 15

Memory alias analysis 16

Dynamic disambiguafon! Υλοποιείται στους περισσότερους επεξεργαστές με δυναμικό χρονοπρογραμματισμό! Κάθε load εξετάζει τις διευθύνσεις των προηγούμενων store που δεν έχουν κάνει commit 17

ILP σε ρεαλιστικούς πυρήνες! Μέχρι 64 εντολές εκκινούν ανά κύκλο χωρίς περιορισμούς ως προς το είδος! Πρόβλεψη διακλάδωσης 1K tournament predictor, 16- entry RAS! Τέλειο memory disambiguafon dynamic disambiguafon! Μετονομασία καταχωρητων: επιπλέον 64 για κάθε είδος! Μεταβάλουμε το μέγεθος παραθύρου 18

Αποτελέσματα gcc espresso 10 10 10 9 8 15 15 13 10 8 Window size Infinite 256 128 64 32 Benchmarks li fpppp 12 12 11 11 9 14 22 35 47 52 doduc 9 17 16 15 12 tomcatv 14 22 34 45 56 0 10 20 30 40 50 60 Instruction issues per cycle 19

Παράδειγμα! Πώς μπορεί να αξιοποιηθεί καλύτερα ο διαθέσιμος χώρος του Ο.Κ.: 1. Απλή 2- issue στατική διοχέτευση με ρολόι 4GHz, CPI 0.8, cache miss rate 0.005 misses/instrucfon 2. Deep pipelined, 2- issue, ρολόι 5GHz, ελαφρά μικρότερη cache. CPI=1, miss rate 0.0055 misses/instrucfon 3. Superscalar 64- θέσεις window, πετυχαίνει το μισό από το ιδανικό μέσο issue rate (4.5). Εχει μικρότερη cache 0.01 misses/instrucfon αλλά κρύβει 25% του miss penalty εκτελώντας χρήσιμες εντολές. Ρολόι 2.5Ghz! Memory access fme 50ns 20

Λύση! Πρώτα υπολογίζουμε πόσο συνεισφέρει στο CPI το σύστημα μνήμης Cache CPI = misses per instrucfon * miss penalty miss penalty = memory access fme / clock cycle MissPenalty 1 = 50ns/250ps = 200 κύκλοι MP 2 = 250 MP 3 = 0.75*50/400ps = 94 $CPI 1 = 1, $CPI 2 = 1.4, $CPI 3 = 0.94! Instrucfon CPI 3 = 1/issue rate = 1/4.5 = 0.22! CPI = Instrucfon CPI + cache CPI CPI 1 = 1.8, CPI 2 = 2.4, CPI 3 =1.16! Ιδιος αριθμός εντολών, σύγκριση με ρυθμό εκτέλεσης (MIPS) = clock rate / CPI ER 1 = 2222, ER 2 =2083, ER 3 =2155 21

Σύγκριση πραγματικών επεξεργαστών 22

SPECInt2000 23

SPECfp300 24

Αποδοτικότητα 25

Παραλληλισμός νημάτων! Από τα προηγούμενα φαίνεται ότι η εκμετάλευση της παραλληλίας επιπέδου εντολής έχει φτάσει στα όριά της το κόστος για επιπλέον επιδόσεις είναι τεράστιο! Για καλύτερες επιδόσεις πρέπει να βρούμε και να εκμεταλευτούμε παραλληλία σε άλλα επίπεδα! Η πιο γενική μορφή παραλληλισμού είναι σε επίπεδο νήματος (thread- level parallelism TLP) ξεχωριστά νήματα εκτέλεσης που συνολικά αποτελούν μια εφαρμογή! Μπορεί να είναι αποδοτικότερη από ILP εφαρμογές με «φυσική» παραλληλία, π.χ. εξυπηρετητές σημαντική δυσκολία για υπάρχουσες σειριακές εφαρμογές 26

Νήμα! Μια ξεχωριστή διεργασία! Εχει τις δικές του εντολές και δεδομένα! Μπορεί να είναι μέρος μιας ομάδας νημάτων ενός παράλληλου προγράμματος ή ένα αυτόνομο πρόγραμμα! Τα Λ.Σ. συχνά διαχωρίζουν τα νήματα από τις διεργασίες τα νήματα είναι «ελαφρότερα»: γρηγορότερες εναλλαγές εκτέλεσης και περιορισμοί στις ιδιότητες 27

Πολυνημάτωση - mulfthreading! Δυνατότητα διαμερισμού των λειτουργικών μονάδων ενός πυρήνα από πολλά νήματα με επικάληψη! Ο πυρήνας πρέπει να έχει άμμεσα διαθέσιμες όλες τις πληροφορίες κατάστασης των νημάτων τιμές καταχωρητών PC Page tables Η μνήμη μοιράζεται μέσω του μηχανισμού της εικονικής μνήμης! Υπάρχουν πολλαπλά αρχεία καταχωρητών, PC,! Η εναλλαγή νημάτων πρέπει να γίνεται γρήγορα σε αντίθεση με εναλλαγή διεργασιών που χρειάζεται 100άδες κύκλους 28

ILP and mulfthreading! Ενας πυρήνας σχεδιασμένος για ILP μπορεί να εκμεταλευτεί παραλληλισμό επιπέδου νήματος με λίγο επιπλέον κόστος! Πολλές μονάδες είναι συχνά σε αδράνεια εξαρτήσεις, πάγωμα διοχέτευσης (π.χ. αστοχία κρυφής μνήμης) μικρός παραλληλισμός επ. εντολής στο εκτελέσιμο πρόγραμμα! Μπορούν εντολές από άλλα νήματα να χρησιμοποιηθούν ως ανεξάρτητες εντολές για να αξιοποιήσουν τις αδρανείς μονάδες; 29

Είδη πολυνημάτωσης! Fine- grain εναλλαγή νήματος σε κάθε κύκλο/εντολή! Long- grain εναλλαγή νήματος μόνο σε μεγάλες καθυστερήσεις, π.χ. αστοχία κρυφής μνήμης! Simultaneous mulf- threading (SMT) ταυτόχρονη εκμετάλευση ILP, TLP εκμετάλευση αδρανών μονάδων από άλλα νήματα με μετονομασία καταχωρητών δεν είναι τόσο δύσκολο να αναμιγνύονται εντολές απο διαφορετικά νήματα ξεχωριστοί πίνακες μετονομασίας δυνατότητα ταυτόχρονου commit εντολών από διαφορετικά νήματα 30

Είδη πολυνημάτωσης Execution slots Superscalar Coarse MT Fine MT SMT Time 31

Πλεο/μειω- νεκτήματα! Fine grain εκμετάλευση ακόμα και μικρών καθυστερήσεων ο χρόνος εκτέλεσης ενός νήματος αυξάνει σημαντικά αφού παρεμβάλονται εντολές άλλων νημάτων επειδή μόνο ένα νήμα εκκινεί εντολές σε ένα κύκλο, μπορεί να μη μπορεί να εκμεταλευτεί πάντα όλο το «πλάτος» του πυρήνα ακριβό υλικό: κάθε νήμα πρέπει να είναι έτοιμο να εκτελεστεί σε κάθε κύκλο! Coarse grain αν ένα νήμα δεν έχει καθυστερήσεις τρέχει όσο γρήγορα γίνεται μικρές καθυστερήσεις δεν μπορούν να καλυφθούν από εκτέλεση άλλων νημάτων 32

Design challenges in SMT! Είναι παραλλαγή της fine- grain πολυνημάτωσης πρέπει να λυθεί το πρόβλημα της καθυστέρησης ενός νήματος Μπορεί να υπάρχουν προτιμώμενα νήματα! Ταυτόχρονη προσκόμιση εντολών για πολλά νήματα πολλαπλοί, ξεχωριστοί buffers τοπικότητα αναφορών χειροτερεύει! Αλλα προβλήματα πίεση για αύξηση κύκλου ρολογιού μεγάλα/πολλαπλά αρχεία καταχωρητών χειρότερη τοπικότητα αναφορών, συγκρούσεις μεταξύ των νημάτων για θέσειςστις κρυφές μνήμες και στο TLB 33

Αλλαγές που χρειάζονται! Ο IBM Power5 πρόσθεσε SMT σε σχέση με τον Power4! Οι αλλαγές που έγιναν είναι: Αύξηση της associafvity της L1 I$ και του ITLB Προσθήκη ξεχωριστών ανά νήμα ουρών load- store Αύξηση του μεγέθους κρυφών μνημών επιπέδων 2, 3 Προσθήκη ξεχωριστών buffers και λογικής προσκόμισης εντολών Αύξηση του αριθμού των καταχωρητών από 152 σε 240 Αύξηση του μεγέθους διαφόρων ουρών εκκίνησης 34

Απόδοση SMT Από τον Power5, SPECRate2000 35