Υ περβαθμωτ ή (superscalar) Οργάνωση Υπολογιστών
DESCRIPTION
Υ περβαθμωτ ή (superscalar) Οργάνωση Υπολογιστών. Περιορισμοί των βαθμωτών αρχιτεκτονικών. Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC≤1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από κοινή σωλήνωση - PowerPoint PPT PresentationTRANSCRIPT
1cslab@ntua 2008-2009
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
2cslab@ntua 2008-2009
Περιορισμοί των βαθμωτών αρχιτεκτονικών
• Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC≤1)
• Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από κοινή σωλήνωση
• Εισαγωγή καθυστερήσεων σε ολόκληρη την ακολουθία εκτέλεσης λόγω stalls μίας εντολής (οι απόλυτα βαθμωτές αρχιτεκτονικές πραγματοποιούν εν σειρά (in-order) εκτέλεση των εντολών)
3cslab@ntua 2008-2009
Πώς μπορούν να ξεπεραστούν οι περιορισμοί;
• Εκτέλεση πολλαπλών εντολών ανά κύκλο μηχανής (παράλληλη εκτέλεση) → υπερβαθμωτές αρχιτεκτονικές
• Ενσωμάτωση διαφορετικών αγωγών ροής δεδομένων, ο καθένας με όμοιες (πολλαπλή εμφάνιση του ίδιου τύπου) ή και ετερογενείς λειτουργικές μονάδες→ multicycle operations
• Δυνατότητα εκτέλεσης εκτός σειράς (out-of-order) των εντολών → δυναμικές αρχιτεκτονικές
4cslab@ntua 2008-2009
Παραλληλισμός Επιπέδου ΕντολώνILP: Instruction-Level Parallelism
• Ο ILP είναι ένα μέτρο του βαθμού των πραγματικών εξαρτήσεων δεδομένων που υφίστανται ανάμεσα στις εντολές
• Average ILP = #instructions / #cycles required
code1: ILP = 1 οι εντολές πρέπει να εκτελεστούν σειριακά
code2: ILP = 3 οι εντολές μπορούν να εκτελεστούν παράλληλα
code1: r1 r2 + 1r3 r1 / 17r4 r0 - r3
code2: r1 r2 + 1r3 r9 / 17r4 r0 - r10
5cslab@ntua 2008-2009
Όρια του ILP
Weiss and Smith [1984] 1.58Sohi and Vajapeyam [1987] 1.81Tjaden and Flynn [1970] 1.86Tjaden and Flynn [1973] 1.96Uht [1986] 2.00Smith et al. [1989] 2.00Jouppi and Wall [1988] 2.40Johnson [1991] 2.50Acosta et al. [1986] 2.79Wedig [1982] 3.00Butler et al. [1991] 5.8Melvin and Patt [1991] 6Wall [1991] 7Kuck et al. [1972] 8Riseman and Foster [1972] 51Nicolau and Fisher [1984] 90
6cslab@ntua 2008-2009
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
7cslab@ntua 2008-2009
Κατηγοριοποίηση επεξεργαστών με βάση τον 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 εντολή/κύκλο
12
34
56
IF DE EX WB
1 2 3 4 5 6 7 8 90
TIME IN CYCLES (OF BASELINE MACHINE)
SU
CC
ES
SIV
EIN
ST
RU
CT
ION
S
8cslab@ntua 2008-2009
Κατηγοριοποίηση επεξεργαστών με βάση τον 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
minor cycle
12
34
5
IF DE EX WB6
1 2 3 4 5 6
Superpipelining: issues
instructions faster than they are executed!
Pipelining of the
execution
stage into
multiple stages
9cslab@ntua 2008-2009
Κατηγοριοποίηση επεξεργαστών με βάση τον ILP
[Jouppi, DECWRL 1991]
• Superscalar:– Παραλληλισμός διανομής = IP = n εντολές / κύκλο
– Καθυστέρηση λειτουργίας = OP = 1 κύκλος
– Μέγιστο IPC = n εντολές / κύκλο (n x speedup?)
IF DE EX WB
123
456
9
78
n
10cslab@ntua 2008-2009
Κατηγοριοποίηση επεξεργαστών με βάση τον ILP
[Jouppi, DECWRL 1991]
• VLIW: Very Long Instruction Word– Παραλληλισμός διανομής = IP = n εντολές / κύκλο
– Καθυστέρηση λειτουργίας = OP = 1 κύκλος
– Μέγιστο IPC = n εντολές / κύκλος = 1 VLIW / κύκλο
IF DE
EX
WB
11cslab@ntua 2008-2009
Κατηγοριοποίηση επεξεργαστών με βάση τον ILP
[Jouppi, DECWRL 1991]
• Superpipelined-Superscalar– Παραλληλισμός διανομής = IP = n εντολές / minor κύκλο
– Καθυστέρηση λειτουργίας = OP = m minor κύκλοι
– Μέγιστο IPC = n x m εντολές / major κύκλο
IF DE EX WB
123
456
9
78
12cslab@ntua 2008-2009
Time in Cycles (of Base Machine)0 1 2 3 4 5 6 7 8 9
SUPERPIPELINED
10 11 12 13
SUPERSCALARKey:
IFetchDcode
ExecuteWriteback
Superscalar vs. Superpipelined
• Περίπου ισοδύναμη επίδοση– Αν n = m τότε και οι δύο έχουν περίπου το ίδιο IPC
– Παραλληλισμός στο «χώρο» vs. παραλληλισμός στον χρόνο
13cslab@ntua 2008-2009
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
14cslab@ntua 2008-2009
Superpipelining: Hype vs. Reality
baseline
underpipelined
superpipelined
η ταχύτητα διανομής των εντολών δεν ακολουθεί το ρυθμό επεξεργασίας τους
τα αποτελέσματα μιας εντολής δεν είναι διαθέσιμα
στις επόμενες m-1 διαδοχικές εντολές
15cslab@ntua 2008-2009
Μοντέλο ροών στους Superscalars
I-cache
FETCH
DECODE
COMMIT
D-cache
BranchPredictor Instruction
Buffer
StoreQueue
ReorderBuffer
Integer Floating-point Media Memory
Instruction
RegisterData
MemoryData
Flow
EXECUTE
(ROB)
Flow
Flow
16cslab@ntua 2008-2009
Παράλληλες αρχιτεκτονικές αγωγού
• Βαθμός παραλληλισμού μηχανήματος: ο μέγιστος αριθμός εντολών που μπορούν ταυτόχρονα να είναι σε εξέλιξη
• Σε ένα μια βαθμωτή αρχιτεκτονική ισούται με τον αριθμό σταδίων του pipeline (pipeline depth)
17cslab@ntua 2008-2009
Παράδειγμα βαθμωτής αρχιτεκτονικής αγωγού 6 σταδίων
• IF: instruction fetch
• ID: instruction decode
• RD: register read
• ALU: ALU op/address generation
• MEM: read/write memory
• WB: register write
18cslab@ntua 2008-2009
H ίδια σωλήνωση με πλάτος 3
• Πολλαπλά δομικά στοιχεία (functional units) στο hardware
• Αυξάνεται η λογική πολυπλοκότητα των σταδίων του pipeline
• Απαιτούνται πολλαπλές θύρες ανάγνωσης/εγγραφής του register file για την ταυτόχρονη προσπέλαση από όλους τους αγωγούς
• Επιτυγχάνεται στην καλύτερη περίπτωση επιτάχυνση ίση με 3 σε σύγκριση με την αντίστοιχη βαθμωτή σωλήνωση
19cslab@ntua 2008-2009
Inorder Pipelines
IF
D1
D2
EX
WB
Intel i486
IF IF
D1 D1
D2 D2
EX EX
WB WB
Intel Pentium (2 i486 pipelines)
U - Pipe V - Pipe
20cslab@ntua 2008-2009
Ετερογενείς υπερβαθμωτές σωληνώσεις
• επέκταση των βαθμωτών σωληνώσεων πολλαπλών κύκλων (π.χ. FP MIPS pipeline) στa στάδια IF, ID, RD,WB
• μετά το RD, κάθε εντολή γίνεται issue μέσα στον αγωγό που αντιστοιχεί στον τύπο της
21cslab@ntua 2008-2009
CDC 6600-1964
• ο πρώτος υπολογιστής που κατασκευάστηκε στα πρότυπα ενός «υπερ-υπολογιστή»
• 1964 (πριν από τους επεξεργαστές RISC): περιείχε 10 διαφορετικές λειτουργικές μονάδες έξω από τη σωλήνωση, με διαφορετικό latency η κάθε μία
• στόχος η διεκπεραίωση 1 εντολής ανά κύκλο μηχανής
• 8 address registers (1
22cslab@ntua 2008-2009
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
23cslab@ntua 2008-2009
Motorola 88110-1992• ένας από τους πλατύτερους αγωγούς (most wider pipelines)• περιέχει 10 λειτουργικές μονάδες, στην πλειοψηφία τους με latency ενός
κύκλου• όλες είναι pipelined, εκτός της μονάδας για διαίρεση
Source: Diefendorf and Allen (1992)
24cslab@ntua 2008-2009
Ετερογενής σωλήνωση του Power4
PCI-Cache
BR Scan
BR Predict
Fetch Q
Decode
Reorder BufferBR/CRIssue Q
CRUnit
BRUnit
FX/LD 1Issue Q
FX1Unit LD1
Unit
FX/LD 2Issue Q
LD2Unit
FX2Unit
FPIssue Q
FP1Unit
FP2Unit
StQ
D-Cache