Περιορισμοί των βαθμωτών αρχιτεκτονικών

Σχετικά έγγραφα
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

Υπερβαθµωτή Οργάνωση Υπολογιστών

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

Υπεπβαθμωηή (superscalar) Οπγάνωζη Υπολογιζηών

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

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

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

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

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

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

CS425 Computer Systems Architecture

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

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

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

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

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

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

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

Τέτοιες λειτουργίες γίνονται διαμέσου του

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

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

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

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

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

Εισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

(Branch Prediction Mechanisms)

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Multicycle datapath

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ

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

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

Υποθετική Εκτέλεση Εντολών

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Παραλληλισµός Εντολών (Pipelining)

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining)

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ

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

Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης

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

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

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ

Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

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

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

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

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

CS-425 Mid-term exam

Δομημένος Προγραμματισμός

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής

Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι:

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

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

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

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

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

Instruction Execution Times

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

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

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

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

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-ΙI. Ενότητα 5 : Αρχιτεκτονική ΙΑ-32

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

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

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

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

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

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

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

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

2. Τεχνολογία επεξεργαστών

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

Transcript:

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από κοινή σωλήνωση Εισαγωγή καθυστερήσεων σε ολόκληρη την ακολουθία εκτέλεσης λόγω stalls μίας εντολής (οι απόλυτα βαθμωτές αρχιτεκτονικές πραγματοποιούν εν σειρά (in-order) εκτέλεση των εντολών) 2

Πώς μπορούν να ξεπεραστούν οι περιορισμοί; Ενσωμάτωση διαφορετικών αγωγών ροής δεδομένων, ο καθένας με όμοιες (πολλαπλή εμφάνιση του ίδιου τύπου) ή και ετερογενείς λειτουργικές μονάδες multicycle operations Εκτέλεση πολλαπλών εντολών ανά κύκλο μηχανής (παράλληλη εκτέλεση) υπερβαθμωτές αρχιτεκτονικές Δυνατότητα εκτέλεσης εκτός σειράς (out-of-order) των εντολών δυναμικές αρχιτεκτονικές 3

Παραλληλισμός Επιπέδου Εντολών ILP: Instruction-Level Parallelism Ο ILP είναι ένα μέτρο του βαθμού των πραγματικών εξαρτήσεων δεδομένων που υφίστανται ανάμεσα στις εντολές Average ILP = #instructions / #cycles required code1: ILP = 1 οι εντολές πρέπει να εκτελεστούν σειριακά code2: ILP = 3 οι εντολές μπορούν να εκτελεστούν παράλληλα code1: r1 r2 + 1 r3 r1 / 17 r4 r0 - r3 code2: r1 r2 + 1 r3 r9 / 17 r4 r0 - r10 4

ILP parameters (Jouppi and Wall, 1989) Operation Latency (OL) Number of machine cycles until a result is available for use by a subsequent instruction Machine Parallelism (MP) Max number of simultaneously executing instructions the machine can support Issue Latency (IL) Number of machine cycles required between issuing two consecutive instructions Issue Parallelism (ΙP) Max number of instructions that can be issued in every cycle 5

Κατηγοριοποίηση επεξεργαστών με βάση τον ILP [Jouppi, DECWRL 1991] Baseline Scalar pipeline (π.χ. κλασικό 5-stage ΜIPS) Παραλληλισμός διανομής IP (Issue Parallelism) = 1 εντολή/κύκλο IL (Issue Latency) = 1 cycle MP (Machine Parallelism) = k (k stages in the pipeline) OL (operation latency) = 1 cycle Μέγιστο IPC = 1 εντολή/κύκλο S U C C E S S IV E IN S T R U C T IO N S 1 2 3 4 5 6 IF DE EX WB 0 1 2 3 4 5 6 7 8 9 T IM E IN C Y C L E S (O F B A S E L IN E M A C H IN E ) 6

Κατηγοριοποίηση επεξεργαστών με βάση τον ILP [Jouppi, DECWRL 1991] Superpipelined: κύκλος ρολογιού = 1/m του baseline Issue Parallelism IP = 1 εντολή / minor κύκλο Operation Latency OL = 1 major cycle = m minor κύκλοι Issue Latency IL = 1 minor cycle MP = m x k Μέγιστο IPC = m εντολές / major κύκλο (m x speedup?) major cycle = m minor cycles 1 Pipelining of the execution stage into multiple stages 2 3 4 5 6 minor cycle IF DE EX WB 1 2 3 4 5 6 Superpipelining: issues instructions faster than they are executed! 7

Superpipelining Superpipelining is a new and special term meaning pipelining. The prefix is attached to increase the probability of funding for research proposals. There is no theoretical basis distinguishing superpipelining from pipelining. Etymology of the term is probably similar to the derivation of the now-common terms, methodology and functionality as pompous substitutes for method and function. The novelty of the term superpipelining lies in its reliance on a prefix rather than a suffix for the pompous extension of the root word. - Nick Tredennick, 1991 8

Superpipelining: Hype vs. Reality baseline η ταχύτητα διανομής των εντολών δεν ακολουθεί το ρυθμό επεξεργασίας τους underpipelined superpipelined τα αποτελέσματα μιας εντολής δεν είναι διαθέσιμα στις επόμενες m-1 διαδοχικές εντολές 9

Κατηγοριοποίηση επεξεργαστών με βάση τον ILP [Jouppi, DECWRL 1991] Superscalar: Παραλληλισμός διανομής = IP = n εντολές / κύκλο Καθυστέρηση λειτουργίας = OP = 1 κύκλος Μέγιστο IPC = n εντολές / κύκλο (n x speedup?) 1 2 3 4 5 6 7 8 9 n IF DE EX WB 10

Κατηγοριοποίηση επεξεργαστών με βάση τον ILP [Jouppi, DECWRL 1991] VLIW: Very Long Instruction Word Παραλληλισμός διανομής = IP = n εντολές / κύκλο Καθυστέρηση λειτουργίας = OP = 1 κύκλος Μέγιστο IPC = n εντολές / κύκλος = 1 VLIW / κύκλο IF DE WB EX 11

Κατηγοριοποίηση επεξεργαστών με βάση τον ILP [Jouppi, DECWRL 1991] Superpipelined-Superscalar Παραλληλισμός διανομής = IP = n εντολές / minor κύκλο Καθυστέρηση λειτουργίας = OP = m minor κύκλοι Μέγιστο IPC = n x m εντολές / major κύκλο 1 2 3 4 5 6 7 8 9 IF DE EX WB 12

Superscalar vs. Superpipelined Περίπου ισοδύναμη επίδοση Αν n = m τότε και οι δύο έχουν περίπου το ίδιο IPC Παραλληλισμός στο «χώρο» vs. παραλληλισμός στον χρόνο S U P E R S C A L A R K ey : S U P E R P IP E L IN E D I Fe tch D co d e E x ecu te W r iteb ack 0 1 2 3 4 5 6 7 8 9 Tim e in C y c le s (o f B a se M a c h in e ) 10 11 12 13 13

Μοντέλο ροών στους Superscalars I-cache Branch Predictor FETCH Instruction Buffer Instruction Flow DECODE Integer Floating-point Media Memory Register Data Flow Reorder Buffer (ROB) Store Queue EXECUTE COMMIT D-cache Memory Data Flow 14

Παράλληλες αρχιτεκτονικές αγωγού Βαθμός παραλληλισμού μηχανήματος: ο μέγιστος αριθμός εντολών που μπορούν ταυτόχρονα να είναι σε εξέλιξη Σε ένα μια βαθμωτή αρχιτεκτονική ισούται με τον αριθμό σταδίων του pipeline (pipeline depth) 15

Παράδειγμα βαθμωτής αρχιτεκτονικής αγωγού 6 σταδίων IF: instruction fetch ID: instruction decode RD: register read ALU: ALU op/address generation MEM: read/write memory WB: register write 16

H ίδια σωλήνωση με πλάτος 3 Πολλαπλά δομικά στοιχεία (functional units) στο hardware Αυξάνεται η λογική πολυπλοκότητα των σταδίων του pipeline Απαιτούνται πολλαπλές θύρες ανάγνωσης/εγγραφής του register file για την ταυτόχρονη προσπέλαση από όλους τους αγωγούς Επιτυγχάνεται στην καλύτερη περίπτωση επιτάχυνση ίση με 3 σε σύγκριση με την αντίστοιχη βαθμωτή σωλήνωση 17

Inorder Pipelines IF IF IF D1 D1 D1 D2 D2 D2 EX EX EX WB WB U - Pipe WB V - Pipe Intel i486 Intel Pentium (2 i486 pipelines) 18

Ετερογενείς υπερβαθμωτές σωληνώσεις επέκταση των βαθμωτών σωληνώσεων πολλαπλών κύκλων (π.χ. FP MIPS pipeline) στa στάδια IF, ID, RD,WB μετά το RD, κάθε εντολή γίνεται issue μέσα στον αγωγό που αντιστοιχεί στον τύπο της 19

CDC 6600-1964 ο πρώτος υπολογιστής που κατασκευάστηκε στα πρότυπα ενός «υπερ-υπολογιστή» 1964 (πριν από τους επεξεργαστές RISC): περιείχε 10 διαφορετικές λειτουργικές μονάδες έξω από τη σωλήνωση, με διαφορετικό latency η κάθε μία στόχος η διεκπεραίωση 1 εντολής ανά κύκλο μηχανής 8 address registers (18 bits) 20

CDC 6600 10 functional units/non pipelined/variable exec latency 1x Fixed-point adder (18 bits)-3 cycles 1 x Floating-point adder (60 bits) 2 x Multiply unit (60 bits)-10 cycles Divide unit (60 bits)-29 cycles Shift unit (60 bits) Logical unit (60 bits) 2 x increment units Branch unit 21

Motorola 88110-1992 ένας από τους πλατύτερους αγωγούς (most wider pipelines) περιέχει 10 λειτουργικές μονάδες, στην πλειοψηφία τους με latency ενός κύκλου όλες είναι pipelined, εκτός της μονάδας για διαίρεση Source: Diefendorf and Allen (1992) 22

Ετερογενής σωλήνωση του Power4 I-Cache PC Fetch Q BR Scan Decode BR Predict FP Issue Q FX/LD 1 Issue Q FX/LD 2 Issue Q BR/CR Issue Q Reorder Buffer FP1 Unit FP2 Unit FX1 Unit LD1 Unit LD2 Unit FX2 Unit CR Unit BR Unit StQ D-Cache 23

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.