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

Σχετικά έγγραφα
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συµβολικός Προγραµµατισµός

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός

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

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

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

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

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

Instruction Execution Times

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

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

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

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

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

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

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

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

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

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

Chapter 4 ( ή 1 στο βιβλίο σας)

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

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

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

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

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

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

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

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

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

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

CS425 Computer Systems Architecture

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

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων

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

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

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

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

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

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

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

2 Composition. Invertible Mappings

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

Απόδοση Υπολογιστικών Συστημάτων

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ

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

CS-425 Mid-term exam

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

Pipelined Datapath, Hazards and Forwarding

Application Operating System. Datapath & Control/Memory. Digital Design Circuit Design. Layout

Math221: HW# 1 solutions

the total number of electrons passing through the lamp.

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

EE512: Error Control Coding

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

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

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

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

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

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Advanced Subsidiary Unit 1: Understanding and Written Response

Section 9.2 Polar Equations and Graphs

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

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

Conjoint. The Problems of Price Attribute by Conjoint Analysis. Akihiko SHIMAZAKI * Nobuyuki OTAKE

Assalamu `alaikum wr. wb.

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

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

Finite Field Problems: Solutions

How to register an account with the Hellenic Community of Sheffield.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

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

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

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

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

The challenges of non-stable predicates

Matrices and Determinants

Example Sheet 3 Solutions

Calculating the propagation delay of coaxial cable

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: OSPF Cost

Transcript:

More material!

Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι: 1. Η απλότητα στη σχεδίαση οφείλεται στη κανονικοποίηση. Πολλά χαρακτηριστικά των εντολών της μηχανης MIPS οφείλονται στη κανονικοποίηση, όπως: όλες οι εντολές έχουν το ίδιο μέγεθος, απαιτούνται πάντα τρείς καταχωρητές για τις αριθμητικές εντολές και τα πεδία των καταχωρητών κρατούνται στην ίδια θέση για όλα τα είδη εντολών. 2. Το μικρότερο είναι πιο γρήγορο. Ο MIPS έχει μόνο 32 καταχωρητές για να έχει περισσότερη ταχύτητα. 3. Η καλή σχεδίαση απαιτεί υποχωρήσεις. Ένα παράδειγμα στον MIPS είναι ο συμβιβασμός μεταξύ της υποστήριξης μεγαλυτέρων διευθύνσεων και σταθερών στις εντολές και της απόφασης όλες οι εντολές να έχουν το ίδιο μέγεθος. 4. Σχεδίασε τις πιο συχνές περιπτώσεις έτσι ώστε να εκτελούνται πιό γρήγορα. Για παράδειγμα, η χρησιμοποίηση της διευθυνσιοδότησης PC - relative addressing για τις εντολές εκλογής υπο συνθήκη (conditional branches) και οι εντολές της άμεσης διευθυνσιοδότησης (immediate addressing) για τους σταθερούς αριθμούς. Ενότητα 3 - Εντολές: Η γλώσσα μηχανής 2

Power Consumption 3 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Νόμος του Amdahl (Amdahl's Law) Speedup overall (S over ): Kαθολική επιτάχυνση Speedup Enhancement (S enh ): Ποσοστό επιτάχυνσης Fraction Enhancement (F enh ): Κλάσμα της διαδικασίας που έχει βελτιωθεί/επιταχυνθεί Speedup = overall Speedup = overall 1 - Fraction 1-F e 1 F S e e enhancement 1 Fraction Speedup enhancement enhancement 4 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Παράδειγμα 1: F enh = 0.5 S enh =? S overall =3 Αδύνατο! Speedup = overall Speedup = overall 1 - Fraction 1 F 1-Fe S enhancement 5 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση e e 1 Fraction Speedup enhancement enhancement

Παράδειγμα 1: F enh = 0.3 S enh = 3 S overall =? Speedu p = overal l 1-0.3 1 0.3 3 125. 6 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Μέτρα Απόδοσης (Performance Measures) Ο χρόνος είναι το μέτρο της απόδοσης ενός Η/Υ. Ο Η/Υ που εκτελεί μια εργασία στο λιγότερο χρόνο είναι και ο πιο γρήγορος. (Time is the measure of computer performance: The computer that performs the same amount of work in the least time is the fastest.) Ωρολόγιο Τοίχου (Wall-clock time (response or elapsed time) Χρόνος Ανταπόκρισης (response time): ο χρόνος που πέρασε. Αλλά... λειτουργικό σύστημα Ε/Ε(Ι/Ο) συστήματα πολλαπλών χρηστών > time gcc foo.c -o foo real 2m39,00 user 1m30,70s sys 0m12,90s Μέτρα όπως η συχνότητα (χρόνος κύκλου μηχανής) δεν είναι πάντοτε ενδεικτικά της απόδοσης. (Measures like clock speed do not tell the whole story) Παράδειγμα: IBM Power5 1.5GHz & Intel P4 3.8GHz 7 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Τι επηρεάζει τις παραμέτρους απόδοσης Time = I x CPI x Clock Cycle Time - I (instructions): αρχιτεκτονική και μεταγλωττιστής instrumentation, προσομοίωση, μετρητές υλικού - CPI (Clock Cycles per Instruction): οργάνωση (χαρακτηριστικά προγράμματος/δεδομένων) προσομείωση, μετρητές υλικού - Clock Cycle Time: τεχνολογία Αλληλοεπιδράσεις μεταξύ Ι, CPI και Clock Cycle Time (συγκρουόμενοι στόχοι) Clock Cycles = Σ CPI i x Ι i για κάθε κατηγόρια εντολών i: μέσος όρος κύκλων ανά εντολή (CPI i ) και αριθμός εντολών (Ι i ) 8 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Δύο υλοποιήσεις της ίδιας αρχιτεκτονικής για κάποιο πρόγραμμα Κύκλος Ρολογιού CPI A 10ns 2 B 20ns 1.2 Ποιά μηχανή έχει την καλύτερη απόδοση και πόσο καλύτερη είναι; 9 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

CPU Time A = ns CPU Time B = ns Aπόδοση Α = 1 / CPU Time A Aπόδοση B = 1 / CPU Time B Aπόδοση Α / Απόδοση Β = 10 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Άλλα Μέτρα Σύγκρισης: ΜΙPS & ΜFLOPS MIPS= Million Instructions Per Second MIPS = Eντολές / Χρόνος x 10 6 MIPS = Συχνότητα / CPI x 10 6 Προβλήματα με το MIPS δεν σχετίζεται με την αρχιτεκτονική ή οργάνωση (δεν μπορεί να συγκρίνεις διαφορετικές αρχιτεκτονικές ή οργανώσεις) δυνατόν να διαφέρει αντιστρόφως ανάλογα με την απόδοση MFLOPS= Million Floating Point Operations per Sec τα ίδια προβλήματα με MIPS, ίσως και χειρότερα διαφορετικές αρχιτεκτονικές/υλοποιήσεις δεν παρέχουν την ίδια υποστηρίξη για FP εντολές 11 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Επιλογή Προγραμμάτων (Βenchmarks) για Αξιολόγηση Σχεδιαστές σήμερα χρησιμοποιούν πραγματικές εφαρμογές Στο παρελθόν kernels, microbenches περιορισμένης εμβέλειας/χρήσεως βελτιστοποιήσεις SPEC: Οοργανισμός με μέλη διάφορες εταιρείες www.spec.org Mέτρα: Execution Time Ratio Γεωμετρικός Μέσος (Geometric Mean) Spec Ratio 12 Ενότητα 1-2 - Υπολογιστής: Αφαιρετικότητα, Τεχνολογία και απόδοση

Exercises for the Data Path

RType 24% I Type 28% LDUR 25% 4.3 STUR 10% CBZ 11% 4.3.1 25+10= 35% only LDUR and STUR use data memory 4.3.2 100% 4.3.3 28+25+10+11+2 = 76% 4.3.4 The sign extend produce an output during every cycle. If its output is not needed, it simply ignored B 2%

4.7 i MEM/ D MEM Reg File Mux ALU Adder Single gate Register Read Register setup Sigh extent control 250ps 150ps 25ps 200ps 150ps 5ps 30 ps 20ps 50 ps 50 ps 4.7.1 Difficult ignore 4.7.2 R type 30+250+25+150+200+25+20=725ps 4.7.3 LDUR 30+250+150+200+250+25+20=925ps 4.7.4 STUR 30 +250+150+200+250=880 4.7.5 CBZ 30+250+25+150+25+5+5+5+20=735 4.7.6 B 30+250+50+150+25+20=525 4.7.7 I Type 30+250+150+200+25+20=675ps 4.7.8 925

4.8 Using the results from Problem 4.7 we see that the average time per instruction.52*725+.25*925+.1*880+.11*735+.02*525=787.6ps Single cycle CPU has a clock of 925 Thus the speed up would be 925/787.6= 1.174

4.16 IF 250ps ID 350ps EX 150 ps MEM 300PS WB 200 PS ALU/Logic Jump/Branch LDUR STUR 45% 20% 20% 15% 4.16.1Pipelined: 350; non pipelined: 1250 4.16.2 Pipelined: 1250; non pipelined: 1250 4.16.3 Split the ID stage. This reduces the clock cycle time to 300ps. 4.16.4 35%. 4.16.5 65%

4.22 4.22.1 Stalls are marked with *** STUR X16, [X6, #12] IF ID EX ME WB LDUR X16, [X6, #8] IF ID EX ME WB SUB X7, X5, X4 IF ID EX ME WB CBZ X7, Loop ** ** IF ID EX ME WB ADD X5, X1, X4 ** **IF ID EX ME WB SUBS X5, X15, X4 IF ID EX ME WB 4.22.2 Reordering code won t help. Every instruction must be fetched; thus, every data access causes a stall. Reordering code will just change the pair of instructions that are in conflict. 4.22.3 You can t solve this structural hazard with NOPs, because even the NOPs must be fetched from instruction memory. 4.22.4 35%. Every data access will cause a stall.

4.23 4.23.1 The clock period won t change because we aren t making any changes to the slowest stage. 4.23.2 Moving the MEM stage in parallel with the EX stage will eliminate the need for a cycle between an LDUR and operations that use the result of the LDUR. The is can potentially reduce the number of stalls in a program. 4.23.3 Removing the off set from LDUR and STUR may increase the total number of instructions because some LDUR and STUR instructions will need to be replaced with a ADD/LDUR or ADD/STUR pair. 4.24 The second one. A careful examination of Figure 4.59 shows that the need for a stall is detected during the ID stage. It is this stage that prevents the fetch of a new instruction, effectively causing the add to repeat its ID stage

4.25 4.25.1 indicates a stall.! indicates a stage that does not do useful work. Loop LDUR X10, [X1, #0] IF ID EX ME WB LDUR X11, [X2, #8] IF ID EX ME WB ADD X12, X10, X11 IF ID.. EX ME! WB SUBI X1, X1, #16 IF.. ID EX ME! WB CBNZ X12, LOOP.. IF ID EX ME! WB! LDUR X10, [X1, #0] IF ID EX ME WB LDUR X11, [X2, #8] IF ID EX ME WB ADD X12, X10, X11 IF ID.. EX ME! WB SUBI X1, X1, #16 IF.. ID EX ME! WB CBNZ X12, LOOP IF ID EX ME! WB! Completely busy N N N N N N N N