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

Σχετικά έγγραφα
Απόδοση Υπολογιστικών Συστημάτων

Διαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5

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

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

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

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

Xρονισμός ψηφιακών κυκλωμάτων

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

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

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

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;

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

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

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

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

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

Χ. Σωτηρίου. Σχήμα 1: Προτεινόμενο Πρόγραμμα Επαλήθευσης του ολοκληρωμένου Επεξεργαστή

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

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

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

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:

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

Συναρτήσεις-Διαδικασίες

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

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

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

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

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Σχεδίαση υψηλών επιδόσεων pipelining παράλληλη επεξεργασία

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Στο σχήμα 3.1 δίνεται μια μονάδα επεξεργασίας δεδομένων σταθερής υποδιαστολής που εκτελεί οποιαδήποτε από τις κάτωθι εντολές σε ένα κύκλο ρολογιού.

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

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

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

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

Εργαστήριο Ψηφιακών Κυκλωμάτων

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Χρονισμός Σύγχρονων Κυκλωμάτων, Καταχωρητές και Μανταλωτές. Χειμερινό Εξάμηνο

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

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

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

Εντολές του MIPS (2)

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

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

Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων

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

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

Κεφάλαιο 10 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Ακολουθιακή Λογική 2

Σχεδίαση Ψηφιακών Συστημάτων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

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

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. 1 ΗΥ330 - Διάλεξη 7η - Ακολουθιακά Κυκλώματα

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

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

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

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

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

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

Δημοκρίτειο Πανεπιστήμιο Θράκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών. Συστήματα VLSI. Πρόοδος Άνοιξη 2018

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

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Εικονική Μνήμη (Virtual Μemory)

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog

Παραδείγματα Assembly (Μέρος

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

Data-Level Parallelism Linking & Loading

Τεχνολογίες Κύριας Μνήμης

Transcript:

ΗΥ 232 Οργάνωση και στον Σχεδίαση Η/Y Διάλεξη 7 Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1

Τι σημαίνει απόδοση; Αεροσκάφος NYC to Paris Επιβάτες oeing 747 6 hours 500 Concorde 3 hours 125 Ποιος τύπος αεροσκάφους έχει υψηλότερη απόδοση? Εάν είσαι επιβάτης : χρόνος πτήσης (πόση ώρα για να γίνει η εργασία) Χρόνος πτήσης, χρόνος εκτέλεσης, χρόνος απόκρισης (latency) Εάν είσαι η Αir France: πόσους επιβάτες μπορείς να εξυπηρετήσεις σε δεδομένο χρονικό διάστημα Επιβάτες ανά ώρα, ρυθμός απόδοσης (throughput) 2

Μετρικές Απόδοσης Χρόνος Απόκρισης (ή Χρόνος Εκτέλεσης) Latency (Execution time) Πόσος χρόνος απαιτείται για την εκτέλεση μιας εργασίας Throughput Συνολική ποσότητα εργασίας που διεκπεραιώνεται σε ένα δεδομένο χρόνο πχ εργασίες/ώρα, bytes/sec, κοκ. Ο Χρόνος Απόκρισης και το Throughput δεν είναι το ίδιο σημαντικές μετρικές για διαφορετικά συστήματα Database transaction systems (latency) Graphics rendering system (GPU) (throughput) 3

Συγκριτική Απόδοση Ορισμός: Απόδοση = 1 / Χρόνος Εκτέλεσης Το ότι το σύστημα Χ είναι n φορές πιο γρήγορο από το σύστημα Υ σημαίνει: Απόδοση X Απόδοση Χρόνος Εκτέλεσης Y Χρόνος Εκτέλεσης X Για παράδειγμα, ο χρόνος εκτέλεσης ενός προγράμματος: 10s on, 15s on Y n Execution Time / Execution Time = 15s / 10s = 1.5 O είναι 1.5 φορές γρηγορότερος από τον Β 4

Μέτρηση Χρόνου Εκτέλεσης Παρελθών Χρόνος (Elapsed Time) Συνολικός χρόνος εκτέλεσης μιας εργασίας που περιλαμβάνει: επεξεργασία, Input/Output (πχ προσπέλαση στον σκληρό δίσκο), κλήσεις στο λειτουργικό σύστημα, κοκ. Χρόνος CPU (CPU time) Περιλαμβάνει μόνο τον χρόνο που η CPU επεξεργάζεται μια διεργασία Δεν περιλαμβάνει Input/Output ή χρόνο που η CPU ασχολείται με άλλες διεργασίες. CPU time = User CPU time + System CPU time 5

Ρολόι CPU H λειτουργία κάθε ψηφιακού συστήματος βασίζεται σε ένα ρολόι που τρέχει με σταθερό ρυθμό και προσδιορίζει πότε προκύπτουν διάφορα συμβάντα στο hardware Κύκλοι ρολογιού Μεταφορά Δεδομένων Και Υπολογισμοί Αλλαγή Κατάστασης Clock period Περίοδος Ρολογιού (clock period): o χρόνος για έναν πλήρη κύκλο ρολογιού πχ, 250ps = 0.25ns = 250 10 12 s Συχνότητα ρολογιού (clock frequency or rate): κύκλοι ρολογιού ανά μονάδα χρόνου = 1/ Περίοδος πχ, 4.0GHz = 4000MHz = 4.0 10 9 Hz Αντιστοιχεί σε περίοδο 1/4GHz = 0.25ns 6

Το δομικό στοιχείο κάθε ακολουθιακού κυκλώματος: D flip-flop Ακμοπυροδότητο D flip-flop: η είσοδος D περνάει στην έξοδο Q μόνο την χρονική στιγμή της θετικής ακμής του ρολογιού. Σε οποιαδήποτε άλλη χρονική στιγμή, η είσοδος D αγνοείται D CLK module dff (input D, CLK, output reg Q); always @(posedge clk) begin Q<=D; end endmodule; Q 7

Χρονισμός του D flip-flop (I) t PD t CD Q t PD : maximum propagation delay, CLK Q t CD : minimum contamination delay, CLK Q CLK D t SETUP : setup time T SETUP Ο χρόνος που πρέπει η είσοδος D να έχει σταθεροποιηθεί πριν την θετική ακμή του CLK t HOLD : hold time Ο χρόνος που πρέπει η είσοδος D να παραμείνει σταθερή μετά την θετική ακμή του CLK t HOLD 8

Χρονισμός του D flip-flop (II) D Q reg1 logic D Q reg2 tpd,reg1 CLK CLK tpd,logic tcd,reg1 t CD,logic t SETUP,reg2 9

Σύγχρονα ακολουθιακά Κυκλώματα ενός Ρολογιού 10

Χρόνος CPU Χρόνος CPU Αριθμός Κύκλων CPU Περίοδος Ρολογιού Αριθμός Κύκλων CPU ΣυχνότηταΡολογιού Η απόδοση του συστήματος μπορεί να βελτιωθεί με το να: Μειώσουμε τον αριθμό των κύκλων CPU που απαιτούνται για να εκτελεσθεί το πρόγραμμα Αυξήσουμε την συχνότητα ρολογιού Αυτά τα δύο δεν είναι όμως ανεξάρτητα 11

Παράδειγμα χρόνου CPU Υπολογιστής Α: Ρολόι 2GHz, Χρόνος CPU 10s Θέλουμε να σχεδιάσουμε έναν Υπολογιστή Στόχος μας να πέσουμε στα 6s xρόνου CPU Πιο γρήγορο ρολόι απαιτεί 1.2Χ περισσότερους κύκλους Ερώτημα: Πόσο πρέπει να είναι το ρολόι του Υπολογιστή ; Συχνότητα 1.2 Αριθμός Κύκλων CPUΑ 6s Αριθμός Κύκλων CPU Χρόνος CPU 10s 2GHz Συχνότητα Αριθμός Κύκλων CPU Χρόνος CPU 2010 9 1.2 2010 6s 9 2410 6s 9 Συχνότητα 4GHz 12

Με λίγη περισσότερη λεπτομέρεια ΧρόνοςCPU ΑριθμόςΕντολώνστο Πρόγραμμα CPI ΠερίοδοςΡολογιού ΑριθμόςΕντολών CPI ΣυχνότηταΡολογιού Αριθμός Εντολών στο Πρόγραμμα Εξαρτάται από το πρόγραμμα, την αρχιτεκτονική συνόλου εντολών (πχ MIPS, x86, RM) και τον compiler. CPI ή Cycles per Instruction Πόσες εντολές μπορεί να εκτελέσει ένας επεξεργαστής σε έναν κύκλο μηχανής. Πάντα θεωρούσαμε CPI=1 στο ΗΥ232. Πιο πολύπλοκες εντολές μπορεί να έχουν CPI>1 13

ΧρόνοςCPU ΧρόνοςCPU ΧρόνοςCPU ΧρόνοςCPU Παράδειγμα Δύο υπολογιστές MIPS τρέχουν το ίδιο πρόγραμμα Υπολογιστής : Περίοδος = 250ps, CPI = 2.0 Υπολογιστής Β : Περίοδος = 500ps, CPI = 1.2 Ποιος είναι πιο γρήγορος και κατά πόσο; ΑριθμόςΕντολ. CPI Περίοδος E 2.0 250ps E500ps ΑριθμόςΕντολ. CPI Cy cletime E 1.2500ps E 600ps E 600ps 1.2 E 500ps Α πιο γρήγορο κατά 1.2Χ 14

Παράδειγμα Υπολογισμού Mέσου CPI Έστω ότι τα προγράμματα MIPS που τρέχουμε αποτελούνται από τρείς κατηγορίες εντολών Α, Β, C. Κατηγορία Εντολών (add, sub) (lw, sw) C (beq, bne) CPI για κατηγορία 1 2 3 ΑΕ στο Προγρ. 1 2 1 2 ΑΕ στο Προγρ. 2 4 1 1 Πρόγραμμα 1: ΑΕ = 5 Αριθμός Κύκλων = 2 1 + 1 2 + 2 3 = 10 Μέσο CPI = 10/5 = 2.0 Πρόγραμμα 2 : ΑΕ = 6 Αριθμός Κύκλων = 4 1 + 1 2 + 1 3 = 9 Μέσο CPI = 9/6 = 1.5 15

Παράδειγμα κώδικα MIPS (I) Συνάρτηση καθαρισμού (clear ) μιάς περιοχής μνήμης clear1(int array[], int size) { int i; for (i = 0; i < size; i += 1) array[i] = 0; } clear2(int *array, int size) { int *p; for (p = &array[0]; p < &array[size]; p = p + 1) *p = 0; } move $t0,$zero # i = 0 loop1: sll $t1,$t0,2 # $t1 = i * 4 add $t2,$a0,$t1 # $t2 = # &array[i] sw $zero, 0($t2) # array[i] = 0 addi $t0,$t0,1 # i = i + 1 slt $t3,$t0,$a1 # $t3 = # (i < size) bne $t3,$zero,loop1 # if ( ) # goto loop1 move $t0,$a0 # p = & array[0] sll $t1,$a1,2 # $t1 = size * 4 add $t2,$a0,$t1 # $t2 = # &array[size] loop2: sw $zero,0($t0) # Memory[p] = 0 addi $t0,$t0,4 # p = p + 4 slt $t3,$t0,$t2 # $t3 = #(p<&array[size]) bne $t3,$zero,loop2 # if ( ) Αριθμός εντολών που εκτελούνται, clear1: 6N+1, clear2: 4N+3 # goto loop2 16

Παράδειγμα κώδικα MIPS (II) Έστω ότι θέλουμε να τρέξουμε τα clear1 και clear2 για Ν=10 6 σε δύο υπολογιστές MIPS Υπολογιστής (clear1): Συχνότητα = 1 GHz, CPI = 2.0 Υπολογιστής Β (clear2) : Περίοδος = 500 MHz, CPI = 2.0 Ποιος τρέχει πιο γρήγορα το πρόγραμμα και κατά πόσο; ΧρόνοςCPU ΑριθμόςΕντολών CPI Περίοδος (6*10 6 1) 2.01ns 12 us Α πιο γρήγορος ΧρόνοςCPU ΑριθμόςΕντολών CPI Cy cletime ΧρόνοςCPU ΧρόνοςCPU 6 (4*10 16 12 1.33 3) 2.0 2 ns 16 us κατά 1.33Χ 17