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

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

Pipelined Datapath, Hazards and Forwarding

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

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

O επεξεπγαζηήρ: Η δίοδορ δεδομένων (datapath) θαη ε μονάδα ελέγσος (control)

Κάζε functional unit ρξεζηκνπνηείηαη κηα θνξά ζε θάζε θύθιν: αλάγθε γηα πνιιαπιό hardware = θόζηνο πινπνίεζεο!

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

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

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

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

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

HY225 Οργάνωςη Υπολογιςτών

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

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

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

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

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

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

Σχεδίαση μονάδας ελέγχου επεξεργαστή

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

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

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

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

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

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

CS425 Computer Systems Architecture

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

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

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

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

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

Θέµατα Φεβρουαρίου

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

Ενδεικτικά Θέματα Στατιστικής ΙΙ

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

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

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

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

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

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

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

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

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

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.

1. Η απιή αξκνληθή ηαιάλησζε πνπ εθηειεί έλα κηθξό ζώκα κάδαο m = 1 kg έρεη πιάηνο Α = 20 cm θαη

Κεφάλαιο 4. Ο επεξεργαστής

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

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

Constructors and Destructors in C++

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

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

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

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

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

ΘΔΜΑ 1 ο Μονάδες 5,10,10

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

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

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

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

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

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

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

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Δσζμενές διαηαρατές και Ονομαζηικό-πραγμαηικό επιηόκιο

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

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

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

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

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

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

Transcript:

Pipeline: Ένα παπάδειγμα από.ηη καθημεπινή ζωή 1. Πιπληήξην 2. Σηεγλσηήξην 3. Δίπισκα 4. απνζήθεπζε Σεηξηαθή πξνζέγγηζε γηα 4 θνξηία = 8h 30 min κάθε «φάση» Pipelined πξνζέγγηζε γηα 4 θνξηία = 3.5h Τν θάζε «θνξηίν» ζπλερίδεη λα ζέιεη 2h, όκωο πεξηζζόηεξα «θνξηία» νινθιεξώλνληαη αλά ώξα cslab@ntua 2012-2013 1

Ενηολέρ MIPS Πέληε ζηάδηα : 1. Φέξε ηελ εληνιή από ηε κλήκε (-Instruction Fetch) 2. Δηάβαζε ηνπο θαηαρσξεηέο, ελώ απνθσδηθνπνηείο ηελ εληνιή (+RegisterFile Read) (ζην εμήο ζα ιέκε: ) 3. Εθηέιεζε ηεο εληνιήο ή ππνινγηζκόο δηεύζπλζεο (κέζσ ALU) (EX-execute) 4. Πξνζπέιαζε κλήκεο (MEM) 5. Εγγξαθή απνηειέζκαηνο ζην RegisterFile (-write back) cslab@ntua 2012-2013 2

Single-cycle vs pipelined performance: Single cycle: όιεο νη εληνιέο δηαξθνύλ έλα θύθιν ξνινγηνύ, ίζν κε ην κήθνο ηεο πην ρξνλνβόξνπ εληνιήο Έζησ: 2 ns γηα ALU, MEM αλάγλσζε ή εγγξαθή θαη 1 ns γηα register file αλάγλσζε ή εγγξαθή Instruction class Instruct. fetch Register read ALU operation Data access Register Write Total Time Load word (lw) 2ns 1ns 2ns 2ns 1ns 8ns Store word (sw) 2ns 1ns 2ns 2ns 7ns R-Type (add,,and, or, slt) 2ns 1ns 2ns 1ns 6ns Branch(beq) 2ns 1ns 2ns 5ns cslab@ntua 2012-2013 3

Έζησ νη παξαθάησ εληνιέο lw: lw $1, 100($0) lw $2, 200($0) lw $3, 300($0) 3x8=24ns Κάζε 2ns ηειεηώλεη θαη κηα εληνιή! Εδώ νη βαζκίδεο δελ είλαη απόιπηα ίζεο. Σηελ ηδαληθή πεξίπηωζε: time pipelined =time non_pipelined / number of pipe stages cslab@ntua 2012-2013 4

Σηε single cycle πινπνίεζε, ε εληνιή δηαξθεί έλα θύθιν ίζν κε ηελ πην ρξνλνβόξα (εδσ: 8 ns) Σηε pipeline πινπνίεζε, ην ξνιόη θάζε θάζεο (ζηάδην-pipeline stage) δηαξθεί (2 ns), αθόκα θαη αλ ππάξρνπλ ζηάδηα ηνπ 1ns Σην πξνεγνύκελν παξάδεηγκα 14 ns γηα pipeline, 24ns γηα single cycle, άξα 1,71 επηηάρπλζε. Άλ είρακε 1000 εληνιέο αθόκα: pipeline 1000x2ns + 14 ns = 2014 ns Single cycle 1000x8ns + 24 ns = 8024 ns Άξα επηηάρπλζε: 8024/2014=3,98 ~4 (8ns/2ns ratio κεηαμύ εληνιώλ) cslab@ntua 2012-2013 5

Σηάδια διόδος δεδομένων ενόρ κύκλος (single cycle datapath): EX (ALU result) MEM (DM result) Ροή εκηέλεζηρ ενηολών-δεδομένων: από απιζηεπά ππορ ηα δεξιά Εξαίπεζη? Write-back και επιλογή νέος PC κίνδυνος δεδομένων (data hazard) κίνδυνος ελέγχου (control hazard) cslab@ntua 2012-2013 6

Εκηέλεζη αγωγού (pipelined execution) Τη ζα γίλεη αλ ρξεζηκνπνηνύκε ηελ ίδηα ιεηηνπξγηθή κνλάδα (Functional Unit), π.ρ. IM, RegFile, ALU, DM ζε δηαθνξεηηθνύο θύθινπο γηα δηαθνξεηηθέο εληνιέο? cslab@ntua 2012-2013 7

Mόνο για RegFile: Μπνξνύκε λα δηαβάζνπκε θαη λα γξάςνπκε ην RegFile ζηνλ ίδην θύθιν: (ζα καο βνεζήζεη ζε απνθπγή θηλδύλσλ» hazards) Σην πξώην κηζό ηνπ θύθινπ γξάθνπκε (ζθηαζκέλν αξηζηεξά) θαη ζην δεύηεξν κηζό δηαβάδνπκε (ζθηαζκέλν δεμηά) θύθινο: γξάθνπκε-δηαβάδνπκε Γενικά για Functional Units: Όηαλ έλα functional unit ή έλαο pipeline register είλαη ζθηαζκέλν ζεκαίλεη όηη ρξεζηκνπνηείηαη γηα αλάγλσζε (ζθηαζκέλν δεμηά) ή εγγξαθή (ζθηαζκέλν αξηζηεξά) cslab@ntua 2012-2013 8

Σηελ πινπνίεζε ηνπ multicycle datapath, είρακε ηελ ίδηα κνλάδα λα ρξεζηκνπνηείηαη από ηελ ίδηα εληνιή ζε δηαθνξεηηθνύο θύθινπο, π.ρ. ALU ή ΜΕΜ Σηελ pipelined πινπνίεζε ηνπ datapath, έρνπκε ηελ ίδηα κνλάδα λα ρξεζηκνπνηείηαη από δηαθνξεηηθέο (δηαδνρηθέο) εληνιέο ζε δηαθνξεηηθνύο (δηαδνρηθνύο) θύθινπο Πώο δηαζθαιίδεηαη νξζόηεηα εθηέιεζεο θάζε εληνιήο; Καηαρσξεηέο κατάλληλου;;; κεγέζνπο αλάκεζα ζε δηαδνρηθά ζηάδηα (pipeline stages) cslab@ntua 2012-2013 9

Pipelined εκδοσή ηος single cycle datapath (πξνζζέζακε ηνπο θαηαρσξεηέο-pipeline registers αλάκεζα ζε δηαδνρηθά ζηάδηα) cslab@ntua 2012-2013 10

Ι-Type: R-Type: (register type) Read_Register_1 op 6 bits op 6 bits rs 5 bits rt 5 bits address_offset 16 bits lw $rt, address_offset($rs) rs 5bits rt 5bits add $rd, $rs, $rt Read_Register_2 rd 5bits shamt 5bits Op: opcode rs,rt: register source operands Rd: register destination operand Shamt: shift amount Funct: op specific (function code) funct 6bits Write_Register cslab@ntua 2012-2013 11

cslab@ntua 2012-2013 12

cslab@ntua 2012-2013 13

cslab@ntua 2012-2013 14

cslab@ntua 2012-2013 15

cslab@ntua 2012-2013 16

To διοπθωμένο pipeline για ηην lw: O αξηζκόο ηνπ write register έξρεηαη θαη απηόο κέζα από ην pipeline ηε ζσζηή ζηηγκή cslab@ntua 2012-2013 17

Τα ημήμαηα ηος datapath πος σπηζιμοποιήθηκαν καηά ηην εκηέλεζη ηηρ lw: cslab@ntua 2012-2013 18

cslab@ntua 2012-2013 19

cslab@ntua 2012-2013 20

cslab@ntua 2012-2013 21

cslab@ntua 2012-2013 22

Κίνδυνοι Σωλινωςθσ (Pipeline Hazards) Δομικοί Κίνδυνοι (structural hazards) Το υλικό δεν μπορεί να υποςτθρίξει το ςυνδυαςμό των εντολϊν που κζλουμε να εκτελζςουμε ςτον ίδιο κφκλο μθχανισ. (π.χ. ενιαία L1 $ για I & D) Κίνδυνοι Ελζγχου (control hazards) Το υλικό δεν μπορεί να προχωριςει τθν εκτζλεςθ επόμ,ενων εντολϊν κακϊσ αναμζνεται θ ολοκλιρωςθ τθσ εκτζλεςθσ μιασ εντολισ (π.χ. Branches) Κίνδυνοι Δεδομζνων (data hazards) cslab@ntua 2012-2013 23

Κίνδυνοι Δεδομένων (Data Hazards) / Το σχήμα προώθησης (forwarding) $2, $1, $3 # κατασωπητήρ $2 γπάυεται από τη and $12, $2, $5 # 1 ορ τελεστέορ ($2) εξαπτάται από or $13, $6, $2 # 2 ορ τελεστέορ ($2) εξαπτάται από add $14, $2, $2 # 1 ορ &2 ορ τελεστέορ $2) -//- από sw $15, 100($2) # offset ($2) -//- από cslab@ntua 2012-2013 24

Εξαρτιςεισ Δεδομζνων RAW WAR X Y+K Y X+S Y Z+K WAW RAW (Read-After-Write) (true-dependence) Θ ανάγνωςθ ενόσ καταχωρθτι πρζπει να ακολουκεί τθν εγγραφι ςτον ίδιο καταχωρθτι από προθγοφμενθ εντολι WAR: (Write-After-Read) (anti-dependence) Θ εγγραφι ςε ζνα καταχωρθτι πρζπει να ακολουκεί τθν ανάγνωςι του από προθγοφμενθ εντολι WAW: (Write-After-Write) (output-dependence) Θ εγγραφι ςε ζνα καταχωρθτι πρζπει να ακολουκεί όλεσ τισ εγγραφζσ ςτον ίδιο καταχωρθτι από προθγοφμενεσ εντολζσ cslab@ntua 2012-2013 25

RAW add $t0, $s0, $s1 $t2, $t0, $s3 or $s3, $t7, $s2 mult $t2, $t7, $s0 True dependence cslab@ntua 2012-2013 26

WAR add $t0, $s0, $s1 $t2, $t0, $s3 or $s3, $t7, $s2 mult $t2, $t7, $s0 Name dependence - antidependence cslab@ntua 2012-2013 27

WAW add $t0, $s0, $s1 $t2, $t0, $s3 or $s3, $t7, $s2 mult $t2, $t7, $s0 name dependence - output dependence cslab@ntua 2012-2013 28

Identify all the dependencies RAW WAR WAW add $t0, $s0, $s1 MEM $t2, $t0, $s3 MEM or $s3, $t7, $s2 MEM mul $t2, $t7, $s0 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 29

Which dependencies cause hazards? (stalls) RAW WAR WAW add $t0, $s0, $s1 MEM $t2, $t0, $s3 MEM or $s3, $t7, $s2 MEM mul $t2, $t7, $s0 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 30

Let s reorder the or RAW WAR WAW add $t0, $s0, $s1 MEM $t2, $t0, $s3 MEM or $s3, $t7, $s2 MEM mul $t2, $t7, $s0 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 31

Let s reorder the or RAW WAR WAW add $t0, $s0, $s1 MEM or $s3, $t7, $s2 RAW $t2, $t0, $s3 MEM MEM mul $t2, $t7, $s0 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 32

Let s reorder the mul RAW WAR WAW add $t0, $s0, $s1 MEM $t2, $t0, $s3 MEM or $s3, $t7, $s2 MEM mul $t2, $t7, $s0 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 33

Let s reorder the mul RAW WAR WAW add $t0, $s0, $s1 MEM mul $t2, $t7, $s0 MEM $t2, $t0, $s3 MEM or $s3, $t7, $s2 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 34

How to alleviate name dependencies? add $t0, $s0, $s1 MEM $t2, $t0, $s3 MEM or $s3, $t7, $s2 MEM mul $t2, $t7, $s0 MEM 1 2 3 4 5 6 7 8 cslab@ntua 2012-2013 35

Data Hazards: Οη εληνιέο αληαιιάζζνπλ κεηαμύ ηνπο δεδνκέλα κέζσ ηνπ Register File θαη ηεο κλήκεο. Όηαλ ε επόκελε εληνιή-εο ρξεηάδεηαη γηα όξηζκα (αλάγλσζε) θάηη πνπ δελ έρεη πξνιάβεη λα γξάςεη ε πξνεγνύκελε 1 2 3 4 5 6 7 8 9 $2,$1,$3 EX MEM and $12,$2,$5 EX MEM or $13,$6, $2 EX MEM add $14, $2,$2 EX MEM sw $15, 100($2) EX MEM cslab@ntua 2012-2013 36

Μία ιύζε είλαη ε θαζπζηέξεζε(stall) ηνπ αγσγνύ (pipeline): Πξνζζέησ δύν εληνιέο NOP: $2,$1,$3 nop nop and $12,$2,$5 or $13,$6, $2 add $14, $2,$2 sw $15, 100($2) 1 2 3 EX $2, $1, $3 nop nop and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2) 4 MEM 5 6 EX 7 MEM EX 8 MEM EX 9 MEM EX STALL (κύκλοι αναμονήρ) 10 MEM 11 cslab@ntua 2012-2013 37

Πην θνκςή ιύζε είλαη ε πξνώζεζε (forwarding): Έρνπκε εμάξηεζε δεδνκέλσλ RAW. Τα απνηειέζκαηα γξάθνληαη είηε ζηελ κλήκε είηε ζην register file. Σηελ πεξίπησζε R-TYPE: Απνζεθεύνληαη ζην RegFile, παξάγνληαη όκσο κεηά ηελ ALU, άξα είλαη δηαζέζηκα ζηνλ EX/MEM Πώο ζα βξνύλ ε επόκελε θαη ε κεζεπόκελε εληνιή ζηε θάζε EX ηα ζωζηά νξίζκαηα: 1. Πξνσζνύκε ην EX/MEM απνηέιεζκα σο είζνδν γηα ηελ ALU πξάμε ηεο επόκελεο εληνιήο 2. Τν ίδην θάλνπκε γηα ηε κέζεπόκελε εληνιή, πξνσζνύκε ην MEM/ απνηέιεζκα, σο είζνδν γηα ηελ ALU πξάμε ηεο κεζεπόκελεο εληνιή Είζοδο ζηην ALU όσι μόνο από /EX καηασωπηηή!! cslab@ntua 2012-2013 38

1a. EX/MEM.RegisterRd = /EX.RegisterRs 1b. EX/MEM.RegisterRd = /EX.RegisterRt 2a. MEM/.RegisterRd = /EX.RegisterRs 2b. MEM/.RegisterRd = /EX.RegisterRt Δύο περιπτώσεις (αιτίες) για hazard: Από υάση ΕΧ και από υάση ΜΕΜ -and hazard: EX/MEM.RegisterRd = /EX.RegisterRs = $2 -or hazard: MEM/.RegisterRd = /EX.RegisterRt = $2 cslab@ntua 2012-2013 39

Forwarding: Πξώηα αληρλεύνπκε ηελ πηζαλή αηηία θηλδύλνπ Μεηά θάλνπκε πξνώζεζε ηεο θαηάιιειεο ηηκήο Forwarding για αποφυγή EX hazard Forwarding για αποφυγή MEM hazard NO hazard!! cslab@ntua 2012-2013 40

Σςνθήκερ ελέγσος ηων κινδύνων: 1. EX hazard: if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = /EX.RegisterRs)) ForwardA = 10 if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = /EX.RegisterRt)) ForwardB=10 cslab@ntua 2012-2013 41

2. MEM hazard: if (MEM/.RegWrite and (ΜΕΜ/WΒ.RegisterRd 0) and (EX/MEM.RegisterRd = /EX.RegisterRs)) ForwardA = 01 if (MEM/ RegWrite and (MEM/.RegisterRd 0) and (MEM/.RegisterRd = /EX.RegisterRt)) ForwardB = 01 cslab@ntua 2012-2013 42

Pipelining ρωξίο forwarding Forwarding paths: Από: a) ΕΧ/ΜΕΜ register θαη από: b) MEM/ register πξνο ηηο εηζόδνπο ηεο ALU cslab@ntua 2012-2013 43

Datapath to resolve hazards via forwarding: cslab@ntua 2012-2013 44

Σχεδιαςμόσ Control Είςοδοι Πεδία του instruction Ζξοδοι Σιματα ελζγχου ALU Σιματα ελζγχου μνιμθσ Πολυπλζκτεσ Finite State Machine cslab@ntua 2012-2013 45

Σχεδιαςμόσ Control FSM (Multicycle datapath) cslab@ntua 2012-2013 46

Multicycle datapath cslab@ntua 2012-2013 47

Datapath to resolve hazards via forwarding: cslab@ntua 2012-2013 48

cslab@ntua 2012-2013 49

cslab@ntua 2012-2013 50

cslab@ntua 2012-2013 51

Kίνδςνοι δεδομένων (data hazards) και αναπόθεςκηερ καθςζηεπήζειρ (stalls) εξ αιηίαρ ηοςρ Όηαλ ε εληνιή πνπ θάλεη write είλαη R-TYPE, ηόηε ην αποηέλεζμα είλαη έτοιμο ζηελ θάζε EX (έμνδνο ALU) θαη απνζεθέπεηαη, ζην ηέινο ηνπ θύθινπ, ζηνλ EX/MEM θαηαρσξεηή. Οη επόκελεο ρξεηάδνληαη ηα νξίζκαηα ζηελ θάζε ΕΦ νπόηε ην forwarding δνπιεύεη. (αθνύ ε εληνιή πνπ θάλεη write ζα βξίζθεηαη ζηηο ΜΕΜ θαη ) Τν forwarding δελ δίλεη όκσο πάληα ιύζε!! cslab@ntua 2012-2013 52

αναπόθεςκηερ καθςζηεπήζειρ (stalls): Όηαλ ε πξνεγνύκελε εληνιή (πνπ θάλεη write) είλαη load ή store, ηόηε ην αποηέλεζμα είλαη έτοιμο στο τέλος ηεο θάζεο MEM ή θαη (αθόκα ρεηξόηεξα) cslab@ntua 2012-2013 53

Λύζη: αναπόθεςκηερ καθςζηεπήζειρ (stalls) ζηο pipeline Επαλαιακβάλνπκε ηηο ίδηεο θάζεηο: γηα ηελ and θαη γηα ηελ or. cslab@ntua 2012-2013 54

Πωρ ανισνεύοςμε ηιρ αναπόθεςκηερ καθςζηεπήζειρ: Hazard detection unit Λεηηνπξγεί ζηε θάζε ώζηε λα βάιεη θαζπζηέξεζε κεηαμύ ηνπ load θαη ηεο ρξεζηκνπνίεζεο ησλ απνηειεζκάησλ ηνπ. If (/EX.MemRead and ((/EX.RegisterRt = / RegisterRs) or (/EX.RegisterRt = /.RegisterRt))) Stall the pipeline Τη ζεκαίλεη stall: Εκπνδίδνπκε ην PC θαη ηνλ / λα αιιάμνπλάξα δηαβάδεηαη ζε δύν δηαδνρηθνύο θύθινπο ε ίδηα εληνιή θαη απνθωδηθνπνηείηαη ε ίδηα επόκελή ηεο δύν θνξέο ζπλερόκελα cslab@ntua 2012-2013 55

Final Pipeline: cslab@ntua 2012-2013 56

Άςκθςθ Pipeline Δεδομένα Έτοσμε ένα loop... Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: cslab@ntua 2012-2013 57

Άςκθςθ Pipeline Δεδομένα Έτοσμε ένα loop... Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: και ασηή ηην αρτική καηάζηαζη ζηοσς καηατφρηηές $1: 500 $7: 5 Δεν ςπάπσει cache miss Cache hit σε 1cc branches γίνονται resolve στο MEM stage cslab@ntua 2012-2013 58

Ηθτοφμενο Για το 1 ο LOOP (μζχρι και το lw του 2 ου LOOP) Να δείξετε τα διάφορα ςτάδια του pipeline (Διάγραμμα χρονιςμοφ) που περνάνε οι εντολζσ. Υποδείξτε και εξηγείςτε τα πιθανά hazards που μποροφν να προκφψουν κατά τθν εκτζλεςθ, κακϊσ και τον τρόπο που αντιμετωπίηονται. Κφκλοσ Εντολή 1 Εντολή 2 Εντολή 3 1 2 3 4 5 6 7 EX MEM EX MEM.................. cslab@ntua 2012-2013 59

Ηθτοφμενο (2) Πόςοι κφκλοι απαιτοφνται ςυνολικά για να ολοκλθρωκεί ο βρόχοσ (για όλεσ τισ επαναλιψεισ του, όχι μόνο για τθν 1θ); Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: Κφκλοσ Εντολή 1 Εντολή 2 Εντολή 3 1 2 3 4 5 6 7 EX MEM EX MEM.................. cslab@ntua 2012-2013 60

Απάντθςθ Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: $1: 500 $7: 5 Δεν ςπάπσει cache miss cache hit σε 1cc $1 = 500, 495, 490, 485,... Ο βρόχοσ κα εκτελεςτεί για 500 / 5 = 100 επαναλιψεισ. cslab@ntua 2012-2013 61

Το διάγραμμα χρονιςμοφ του pipeline για τθ χρονικι διάρκεια που ηθτείται είναι το ακόλουκο: Κφκλοσ lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep lw $2,100($3) 1 2 3 4 5 6 7 8 9 10 11 12 13 EX MEM EX MEM EX MEM EX MEM EX MEM Κφκλοσ 14 15 16 17 18 19 20 lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep EX MEM lw $2,100($3) EX MEM cslab@ntua 2012-2013 62

Ι πιο ςυμπιεςμζνο για να χωράει ςε μια ςελίδα CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M cslab@ntua 2012-2013 63

Hazards CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: Stalls ςτουσ κφκλουσ 4,5: Ο καταχωρθτισ $2 για τθν εντολι $2,$2,$5 (θ ανάγνωςθ του οποίου γίνεται ςτο ςτάδιο ) γίνεται διακζςιμοσ ςτο τζλοσ του κφκλου 5 (ςτάδιο ) από τθν εντολι lw. cslab@ntua 2012-2013 64

Hazards CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: Stalls ςτουσ κφκλουσ 7,8: O $2 για τθν εντολι sw $2,100($3) γίνεται διακζςιμοσ ςτο τζλοσ του κφκλου 8. cslab@ntua 2012-2013 65

Hazards CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: Stalls ςτουσ κφκλουσ 12,13: Ο $1 για τθν εντολι bne $1,$0,Rep γίνεται διακζςιμοσ ςτο τζλοσ του κφκλου 13. cslab@ntua 2012-2013 66

Hazards CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M Το δεφτερο ςτιγμιότυπο τθσ εντολισ lw $2,100($3) αρχίηει να εκτελείται από τον κφκλο 16, διότι θ απόφαςθ για τθν διακλάδωςθ ελιφκθ ςτον κφκλο 15. cslab@ntua 2012-2013 67

Υπνινγηζκόο ρξόλνπ CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M 15 κφκλοι ρολογιοφ Για τα πρϊτα 99 loops ζχουμε 99 15cc= 1485cc. Για τθν 100 θ επανάλθψθ ζχουμε 16cc. Συνολικά απαιτοφνται 1485cc + 16cc = 1501cc για τθν εκτζλεςθ του βρόχου. cslab@ntua 2012-2013 68

Pipeline 2 Για τθν ίδια ακολουκία εντολϊν, δείξτε και εξθγείςτε τον χρονιςμό του pipeline, κεωρϊντασ τϊρα ότι υπάρχει ςχήμα προώθηςησ. Κεωρείςτε ότι οι αποφάςεισ για τισ διακλαδϊςεισ λαμβάνονται ςτο ςτάδιο ΜΕΜ. Πόςοι κφκλοι απαιτοφνται ςυνολικά για να ολοκληρωθεί ο βρόχοσ; Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0, Rep Exit: cslab@ntua 2012-2013 69

Με / Χωρίσ προϊκθςθ CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 lw EX M EX M sw EX M bne lw cslab@ntua 2012-2013 70

Hazards Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0,Rep Exit: Στον κφκλο 4 υπάρχει stall. Γιατί; CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 lw EX MEM EX MEM sw EX MEM EX MEM EX MEM bne EX MEM lw EX MEM cslab@ntua 2012-2013 71

Hazards Rep: lw $2,100($3) $2,$2,$5 sw $2,100($3) $3,$3,$6 $1,$1,$7 bne $1,$0,Rep Exit: Θ τιμι τθσ κζςθσ μνιμθσ 100($3), που κα αποκθκευτεί ςτον $2, δεν μπορεί να είναι διακζςιμθ πριν το ςτάδιο MEM. Όταν όμωσ κα γίνει διακζςιμθ ςτο τζλοσ του κφκλου αυτοφ κα προωκθκεί ςτισ ειςόδουσ τθσ ALU, ϊςτε να εκτελεςτεί θ εντολι $2,$2,$5 χωρίσ να περιμζνουμε να γραφτεί θ τιμι ςτον $2. Αποφεφγεται το stall που είχαμε ςτην προηγοφμενη περίπτωςη ςτην κφκλο 5 CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 lw EX MEM EX MEM sw EX MEM EX MEM EX MEM bne EX MEM lw EX MEM cslab@ntua 2012-2013 72

Το ίδιο ιςχφει και για τα stalls που είχαμε ςτουσ κφκλουσ 7, 8 CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 lw EX M EX M sw EX M bne lw cslab@ntua 2012-2013 73

Το ίδιο ιςχφει και για τα stalls που είχαμε ςτουσ κφκλουσ 12, 13. CC lw sw bne lw 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 EX M CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 lw EX M EX M sw EX M bne lw cslab@ntua 2012-2013 74

Υπνινγηζκόο ρξόλνπ CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 lw EX M EX M sw EX M bne lw 10 κφκλοι ρολογιοφ Για ηα πρώηα 99 loops έτοσμε 99 10cc = 990cc. Για ηην 100η επανάληυη έτοσμε 11cc. Σσνολικά απαιηούνηαι 990cc + 11cc = 1001cc για ηην εκηέλεζη ηοσ βρότοσ. Χφρίς ηην προώθηζη τρειαζηήκαμε 1501cc. cslab@ntua 2012-2013 75