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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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;

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

Κεφάλαιο 4 Εκτίμηση και Κατανόηση Απόδοσης (Assessing and Understanding Performance)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική

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

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

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

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

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

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

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

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

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

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

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ)

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

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

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

Λειτουργικά Συστήματα (ΗΥ321)

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

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

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

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

Βασίλειος Κοντογιάννης ΠΕ19

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

Data-Level Parallelism Linking & Loading

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

Μετάφραση ενός Προγράμματος Εξαιρέσεις

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

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

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

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

Προγραμματισμός Ι (HY120)

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Λιβανός Γιώργος Εξάμηνο 2017Β

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

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

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

Αφηρημένες έννοιες και τεχνολογία υπολογιστών

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

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

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

Λειτουργικά Συστήματα Η/Υ

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

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

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

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Λειτουργικά Συστήματα Πραγματικού Χρόνου

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

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

Transcript:

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

Τι σημαίνει απόδοση; Ποιό αεροπλάνο έχει καλύτερη απόδοση? oeing 777 oeing 777 oeing 747 C/Sud Concorde Douglas DC-8-50 oeing 747 C/Sud Concorde Douglas DC- 8-50 0 100 200 300 400 500 Passenger Capacity 0 2000 4000 6000 8000 10000 Cruising Range (miles) oeing 777 oeing 777 oeing 747 C/Sud Concorde Douglas DC-8-50 oeing 747 C/Sud Concorde Douglas DC- 8-50 0 500 1000 1500 Cruising Speed (mph) 0 100000 200000 300000 400000 Passengers x mph 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

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

Παράδειγμα χρόνου 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 8

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

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

Παράδειγμα Υπολογισμού Mέσου CPI Έστω ότι τα προγράμματα MIPS που τρέχουμε αποτελούνται από τρείς κατηγορίες εντολών Α, Β, C. Κατηγορία Εντολών C 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 11

Παράδειγμα κώδικα 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 12

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

Απόδοση Συστήματος Ή απόδοση ενός συστήματος είναι ίση με και εξαρτάται από τα παρακάτω: Αλγόριθμο ΑριθμόςΕντολών CPI Καθορίζει τον αριθμό των εντολών που εκτελούνται Compiler, Γλώσσα Προγραμματισμού (πχ C, ssembly) Καθορίζει τον αριθμό των εντολών που εκτελούνται ΚΑΙ το CPI Hardware, Αρχιτεκτονική Καθορίζει την περίοδο του ρολογιού ΠερίοδοςΡολογιού 14