1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Advertisements

1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
© Υπερβαθμωτή Οργάνωση Υπολογιστών Από τις βαθμωτές στις υπερβαθμωτές αρχιτεκτονικές αγωγού…
Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή
Το υλικο του Υπολογιστη
Τεχνολογίες Επεξεργαστών
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1.Τοποθέτηση παραμέτρων 2.Μεταβίβαση ελέγχου στη διαδικασία 3.Λήψη πόρων αποθήκευσης.
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Ανίχνευση κίνδυνου Επίλυση με προώθηση. Μπλέ: Εξαρτήσεις. Εξαρτήσεις προς προηγούμενα CC είναι κίνδυνοι δεδομένων Kόκκινο: Προώθηση IF/ID ID/EX EX/MEM.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος
© Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
1 Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση για 4 φορτία.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
Memory Cloaking & Bypassing Εργασία στο μάθημα: Προηγμένες Αρχιτεκτονικές Υπολογιστών Κατσαρής Αριστοτέλης Μ473 Τσαγκάρης Γιώργος Μ479.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος Νεκτάριος Κοζύρης Νίκος Αναστόπουλος
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Εισαγωγή Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
1 Αρχιτεκτονική υπολογιστών Ενότητα 12 : Δομή και Λειτουργία της CPU 2/2 Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Αρχιτεκτονική Υπολογιστών Ενότητα # 2: Datapath & Control Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
Morgan Kaufmann Publishers Ο επεξεργαστής
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Τεχνολογικό Εκπαιδευτικό
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
INSTRUCTIONS LANGUAGE OF THE MACHINE
Single-cyle υλοποίηση:
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Παράγοντες που επηρεάζουν την επίδοση της CPU
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος
Single-cyle υλοποίηση:
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Αρχιτεκτονική Υπολογιστών
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Μεταγράφημα παρουσίασης:

1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της pipeline Μέρος: Δεύτερο Καθηγητής: Α. Βαφειάδης 2007

2 Οι κίνδυνοι της pipeline (pipeline hazards)  οι δομικοί κίνδυνοι (structural Hazards) προκύπτουν στις περιπτώσεις όπου το υλικό (hardware) δεν αρκεί για να καλύψει τις ανάγκες όλων των δυνατών συνδυασμών εντολών που μπορούν να προκύψουν στην pipeline.  οι κίνδυνοι των δεδομένων (data Hazards) προκύπτουν όταν η εκτέλεση μιας εντολής εξαρτάται από το αποτέλεσμα μιας προηγούμενης εντολής  οι κίνδυνοι ελέγχου (Control Hazards) προκύπτουν από τις εντολές άλματος οι οποίες αλλάζουν τη ροή του προγράμματος.

3 Δομικός κίνδυνος Κύκλοι μηχανής LoadIFIDEXMEMWB Εντολή 1IFIDEXMEMWB Εντολή 2IFIDEXMEMWB Εντολή 3IFIDEXMEMWB Εντολή 4IFIDEXMEM Στον κύκλο 4 η εντολή Load και η εντολή 3 απαιτούν διαδικασία μνήμης (L1 Cache) Μια λύση είναι ο διαχωρισμός της L1 cache μνήμης σε δύο, την L1 instruction cache και την L1 data cache

4 Η pipeline του DLX L1 data Cache L1 Instr. Cache A,B, Imm: Temporary registers MUX : Multiplexer LMD (load memory data) register

5 Δομικοί κίνδυνοι Κύκλοι μηχανής LoadIFIDEXMEMWB Εντολή 1IFIDEXMEMWB Εντολή 2IFIDEXMEMWB Εντολή 3νεκρ ό IFIDEXMEMWB Εντολή 4IFIDEXMEM Η λύση χωρίς την δημιουργία μας δεύτερης cache είναι η προσθήκη ενός νεκρού κύκλου, ώστε να καθυστερήσει η έναρξη της εντολής 3 Τον κίνδυνο τον προκαλούν οι εντολές Load/store οι οποίες συμμετέχουν με 40% [KAE_ιδανικό] =1 κύκλος [ΚΑΕ_πραγματικό] = % χ 1 =1.4 κύκλοι

6 Κίνδυνοι δεδομένων(Data Hazards) Κύκλοι μηχανής ADD R1,R2,R3IFIDEXMEMWB SUB R4,R5,R1IFIDEXMEMWB AND R6,R1,R7IFIDEXMEM OR R8,R1,R9IFIDEX XOR R10,R1,R11IFID Κίνδυνος χρήσης του R1 πριν από την τοποθέτηση της σωστής τιμής από την εντολή Add. Οι κίνδυνοι αφορούν τις εντολές SUB,AND και OR. Γιατί δεν υπάρχει κίνδυνος για την εντολή XOR ? Παράδειγμα 1

7 Κίνδυνοι δεδομένων και η λύση προώθησης (Forwarding) A-B Σωστό Β Λάθος Β

8 H λύση προώθησης (Fοrwarding)

9 Κίνδυνοι δεδομένων και η λύση προώθησης (Forwarding) Κύκλοι μηχανής ADD R1,R2,R3IFIDEXMEMWB SUB R4,R5,R1IFIDEXMEMWB AND R6,R1,R7IFIDEXMEM OR R8,R1,R9IFIDEX XOR R10,R1,R11IFID

10 Ολική προώθηση 1 2 3

11 Ακόμα ένα παράδειγμα κινδύνου δεδομένων Κύκλοι μηχανής ADD R1,R2,R3IFIDEXMEMWB LW R4,8(R1)IFIDEXMEMWB SW 12(R1),R4IFIDEXMEM

12 Κίνδυνοι δεδομένων – Λύση η προώθηση Κύκλοι μηχανής ADD R1,R2,R3IFIDEXMEMWB LW R4,8(R1)IFIDEXMEMWB SW 12(R1),R4IFIDEXMEM

13 Ταξινόμηση των κινδύνων δεδομένων  Ανάγνωση μετά από εγγραφή (Read-After-Write, RAW). Η εντολή j διαβάζει την τιμή από κάποια πηγή (καταχωρητή ή μνήμη) την οποία εγγράφει η εντολή i.  Εγγραφή μετά από εγγραφή (Write-After-Write, WAW). Η εντολή j γράφει μια τιμή πάνω στον ίδιο καταχωρητή ή μνήμη όπου γράφει και η εντολή i.  Εγγραφή μετά από ανάγνωση (Write-After-Read, WAR). Η εντολή j γράφει μια τιμή πάνω στον ίδιο καταχωρητή ή θέση μνήμης την οποία διαβάζει η εντολή i. Υπόθεση: η εντολή i εκτελείται πριν από την j.

14 Λύσεις  Ανάγνωση μετά από εγγραφή (Read-After-Write, RAW)  Λύση η προώθηση

15 Λύσεις  Εγγραφή μετά από εγγραφή (Write-After-Write, WAW)  Υπάρχει κίνδυνος μόνο όταν η εγγραφή που κάνει η εντολή i τελειώνει μετά από την εγγραφή που κάνει η εντολή j διότι τότε ο καταχωρητής ή η μνήμη μένουν ενημερωμένοι με την λανθασμένη τιμή.  Δεν υπάρχει κίνδυνος όταν οι έγγραφες διαρκούν ένα κύκλο(DLX)  Σε pipeline όπου οι έγγραφες διαρκούν πολλούς κύκλους η λύση είναι η εισαγωγή νεκρών κύκλων

16 WAW σε pipeline με εγγραφή σε ένα κύκλο Κύκλοι μηχανής LW R1,8(R4)IFIDEXMEMWB ADD R1,R2,R3IFIDEXMEM WB Κύκλοι μηχανής LW R1,8(R4)IFIDEXMEM1MEM2WB ADD R1,R2,R3IFIDEX WB WAW σε pipeline με εγγραφή σε πολλούς κύκλους Νεκρός κύκλος H εντολή ADD δεν έχει κύκλο MEM

17 Λύσεις  Εγγραφή μετά από ανάγνωση (Write-After-Read, WAR)  Υπάρχει κίνδυνος μόνο όταν η εγγραφή που κάνει η εντολή i τελειώνει μετά από την εγγραφή που κάνει η εντολή j διότι τότε ο καταχωρητής ή η μνήμη μένουν ενημερωμένοι με την λανθασμένη τιμή.  Δεν υπάρχει κίνδυνος στη DLX μηχανή γιατί η ανάγνωση τιμών γίνεται στη φάση ID και η εγγραφή στη φάση WB  Σε pipeline όπου οι έγγραφες διαρκούν πολλούς κύκλους λύση είναι η εισαγωγή νεκρών κύκλων

18 WAR στη pipeline του DLX Κύκλοι μηχανής SW R4,8(R1)IFIDEXMEM WB ADD R1,R2,R3IFIDEX WB WAR σe pipeline με εγγραφή μνήμης σε 3 κύκλους με το δεύτερο κύκλο αφιερωμένο στον υπολογισμό της διεύθυνσης Κύκλοι μηχανής SW R4,8(R1) IFIDEXMEM1MEM2ΜΕΜ3WB ADD R1,R2,R3 IFIDEX WB Εισαγωγή δύο νεκρών κύκλων

19 Κίνδυνοι που απαιτούν εισαγωγή νεκρών κύκλων (Το πρόβλημα load before arithmetic) Κύκλοι μηχανής LW R1,8(R2)IFIDEXMEMWB SUB R4,R1,R5IFIDEXMEMWB

20 LW R1, 8(R2) SUB R4,R5,R1 IF IR  Mem[PC] NPC  PC + 4 IF ID A  Reg[R2] IR  Mem[PC] B  Reg[R3] NPC  PC + 4 Imm  IR(16..31) EXID ALUOutput  A + Imm A  Reg[R5] B  Reg[R1] Imm  IR(16..31) MEMEX LMD  MEM[ALUOutput] Εδώ χρειάζεται η τιμή του R1 Εδώ παράγεται η τιμή του R1 ALUOutput  A + B WBMEM Reg[R1]  LMD null WB Reg[R4]  ALUOutput Ο κίνδυνος LW – SUB δεν λύνεται με προώθηση A-B

21 Ο κίνδυνος LW–SUB λύνεται με εισαγωγή νεκρού κύκλου και προώθηση στη συνέχεια Κύκλοι μηχανής LW R1,8(R2)IFIDEXMEMWB SUB R4,R1,R5IFIDνεκρόEXMEMWB

22 Λύση με επαναδιάταξη (σε επίπεδο μεταφραστή) Αρχική μετάφραση LW Rb,b LW Rc,c ADD Ra,Rb,Rc SW a,Ra LW Re,e LW Rf,f SUB Rd,Re,Rf SW d,Rd a = b + c; d = e - f; Λύση με επαναδιάταξη LW Rb,b LW Rc,c LW Re,e ADD Ra,Rb,Rc LW Rf,f SW a,Ra SUB Rd,Re,Rf SW d,Rd

23 Κίνδυνοι έλεγχου – το πρόβλημα Κύκλοι μηχανής Εντολή branchIFIDEXMEMWB Επόμενη εντολήIFνεκρό IFIDEXMEMWB Επόμενη εντολή+1IFIDEXMEM Επόμενη εντολή+2IFIDEX Απόκτηση της εντολή μετά το αληθές branch Απώλεια κύκλων στην περίπτωση αληθούς εντολής αλλαγής ροής

24 Το κόστος μιας εντολής αλλαγής ροής Το κόστος  Αν τα άλματα, για παράδειγμα, αποτελούν το 20% όλων των εντολών τότε ο χρόνος εκτέλεσης γίνεται 1 κύκλος για το 80% των εντολών και 4 κύκλοι για το 20% των εντολών, δηλαδή ο Μέσος Χρόνος Εκτέλεσης (ΜΧΕ) μιας εντολής γίνεται ΜΧΕ = 0.8   4 = 1.6 κύκλοι ανά εντολή Η λύση  Να βρούμε αν το άλμα θα γίνει ή όχι νωρίτερα από τη φάση MEM  Να υπολογίζουμε τη διεύθυνση του στόχου του άλματος νωρίτερα από τη φάση MEM.

25 Τροποποίηση στο Hardware (By Gurpur M. Prabhu)Gurpur M. Prabhu

26 Τροποποίηση hardware – Σύγκριση αρχικής και τροποποιημένης μορφής Αρχική Τελική

27 Εντολή αλλαγής ροής στη τροποποιημένη pipeline Κύκλοι μηχανής Εντολή branchIFIDEXMEMWB Επόμενη εντολήIF IDEXMEMWB Επόμενη εντολή+1IFIDEXMEMWB Επόμενη εντολή+2IFIDEXMEMWB Λάθος εντολή Σωστή εντολή

28 Τεχνικές Βελτίωσης πέρα από την τροποποίηση του Hardware  Εισαγωγή πάντα ενός κύκλου καθυστέρησης  Πρόβλεψη ότι το άλμα δεν θα γίνει (predict not taken)  Πρόβλεψη ότι το άλμα θα γίνει (predict taken)  Καθυστερημένο άλμα (delayed branch)

29 Εισαγωγή πάντοτε νεκρού κύκλου Κύκλοι μηχανής Εντολή branchIFIDEXMEMWB Επόμενη εντολήΝεκρός κύκλος IFIDEXMEMWB Επόμενη εντολή+1IFIDEXMEMWB Επόμενη εντολή+2IFIDEXMEMWB Κατά τη διάρκεια της φάσης 2 μαθαίνουμε πια θα είναι η σωστή εντολή που θα ακολουθήσει της εντολής αλλαγής ροής

30 Πρόβλεψη ότι το άλμα δεν θα γίνει (predict not taken) Κύκλοι μηχανής Εντολή i (άλμα) το άλμα δεν εκτελείται IFIDEXMEMWB Εντολή i+1IFIDEXMEMWB Εντολή i+2IFIDEXMEMWB Εντολή i+3IFIDEXMEMWB

31 Πρόβλεψη ότι το άλμα θα γίνει (predict taken) Κύκλοι μηχανής Εντολή i (άλμα) το άλμα εκτελείται IFIDEXMEMWB Εντολή i+1IF  Εντολή jIFIDEXMEMWB Εντολή j+1IFIDEXMEMWB

32 Καθυστερημένο άλμα (delayed branch) Κύκλοι μηχανής Εντολή i (άλμα) το άλμα εκτελείται IFIDEXMEMWB Εντολή i+1IFIDEXMEMWB Εντολή jIFIDEXMEMWB Εντολή j+1IFIDEXMEMWB

33 Επίδοση μεθόδων διαχείρισης αλμάτων ΜέθοδοςΚόστος για άλματα υπό συνθήκη (μέσος αριθμός κύκλων) Κόστος για άλματα χωρίς συνθήκη (μέσος αριθμός κύκλων) Μέσο κόστος για όλα τα είδη αλμάτων Μέσος αριθμός κύκλων ανά εντολή (ΚΑΕ) Καθυστέρηση πάντα Πρόβλεψη ότι το άλμα δε θα γίνει Καθυστερημένο άλμα