Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής"

Transcript

1 Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών

2 Α. Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης Επαναχρησιμοποίηση υπομονάδων Χρόνος ολοκλήρωσης μιας εκτέλεσης Ρυθμός επανάληψης διαδοχικών εκτελέσεων

3 Επικάλυψη Εντολών Διαχωρισμός σε φάσεις ίσης διάρκειας που υλοποιούνται σε υπομονάδες του επεξεργαστή Εισαγωγή απαιτούμενων καταχωρητών μεταξύ των υπομονάδων διαδοχικών φάσεων (βαθμίδων) Αντιμετώπιση κινδύνων Υποστήριξη μηχανισμού παγώματος

4 Απόδοση Επικάλυψης Βελτίωση στο χρόνο ολοκλήρωσης μιας εντολής; Όχι! (Το αντίθετο πιο πιθανό!) Ρυθμός ολοκλήρωσης εντολών Επιτάχυνση ρυθμού ολοκλήρωσης εντολών Ιδανική απόδοση μερικής επικάλυψης σε μια συγκεκριμένη αρχιτεκτονική Μη ιδανική απόδοση λόγω κινδύνων

5 Κίνδυνοι Εξαρτήσεων από Δεδομένα

6 Παροχέτευση

7 Επιτυχημένη Παροχέτευση

8 Αποτυχημένη Παροχέτευση

9 Πάγωμα

10 Κίνδυνοι Διαδικασιακών Εξαρτήσεων Πάγωμα επικάλυψης μέχρι την εκτέλεση της διακλάδωσης Πρόβλεψη και εκκένωση (flush) της ΜΕΔ σε αποτυχία πρόβλεψης Η κατάσταση του επεξεργαστή δεν αλλάζει πριν την εκτέλεση της διακλάδωσης Εκτέλεση στη φάση αποκωδικοποίησης Χρήση θέσεων καθυστέρησης (branch delay slots)

11 Επικάλυψη σε Μονάδες Εκτέλεσης Πολλών Κύκλων Κύκλος Μηχανής Εντολή Mul.d F0,F4,F6 IF ID M1 M2 M3 M4 M5 M6 M7 MEM WB Χρόνος καθυστέρησης (latency) ο χρόνος που πρέπει να μεσολαβήσει μέχρι μια άλλη εξαρτημένη από αυτήν εντολή Ρυθμός επανάληψης (repeat rate) η συχνότητα με την οποία ξεκινούν εκτέλεση διαδοχικές παρόμοιες εντολές

12 Προβλήματα Εκτέλεσης Πολλαπλών Κύκλων Πιθανοί κίνδυνοι δομικών εξαρτήσεων στη μονάδα εκτέλεσης Πιθανή ολοκλήρωση εκτός σειράς, με: Κινδύνους δομικών εξαρτήσεων στο ΦΚ Κινδύνους εξαρτήσεων από δεδομένα τύπου ΕΜΕ Συχνά παγώματα και πιο πολύπλοκος μηχανισμός παροχέτευσης Αντιμετώπιση ειδικών περιπτώσεων;

13 Αποφυγή Δομικών Εξαρτήσεων στη Μονάδα Εκτέλεσης Επικάλυψη των φάσεων εκτέλεσης ρυθμός επανάληψης = 1 εντολή ανά κύκλο μηχανής Αντιγραφή υπομονάδων για να αποφευχτεί επαναχρησιμοποίησή τους Ισοστάθμιση χρόνου / κόστους συχνότητα εμφάνισης της εντολής βέλτιστος ρυθμός επανάληψης

14 Βελτιστοποίηση Επικάλυψης στην Εκτέλεση Από τον αλγόριθμο εκτέλεσης της εντολής αντιστοιχίζουμε φάσεις σε υπομονάδες: Πίνακας δέσμευσης (reservation table) A X X X B X X C X X D X Διάνυσμα σύγκρουσης (collision vector)

15 Διάγραμμα Καταστάσεων και Μέγιστος Ρυθμός Επανάληψης Αρχική κατάσταση = διάνυσμα σύγκρουσης Για ξεκίνημα εντολής ν κύκλους αργότερα: νέα κατάσταση = (διάνυσμα παρούσας κατάστασης << ν) OR διάνυσμα σύγκρουσης σύνδεσε τις καταστάσεις με ετικέτα ν, και τη νέα με την αρχική με ετικέτα Ν Επανέλαβε για κάθε δυνατό ν και κάθε νέα κατάσταση Βρες τον κύκλο με το μέγιστο ρυθμό επανάληψης

16 Παράδειγμα Μέγιστος ρυθμός επανάληψης: 2 πράξεις σε 8cc ή 1/4

17 Βελτίωση Μέγιστου Ρυθμού Επανάληψης Ο πίνακας δέσμευσης θέτει το άνω φράγμα στο ρυθμό επανάληψης Αν ο μέγιστος ρυθμός δε συμπίπτει με το άνω φράγμα: Τοποθέτησε υπομονάδες καθυστέρησης (καταχωρητές) σε κατάλληλα σημεία της μονάδας, ώστε να πάρεις ένα νέο πίνακα δέσμευσης (μεγαλύτερου εύρους), ο οποίος να δίνει ρυθμό επανάληψης ίσο με το άνω φράγμα

18 Παράδειγμα Άνω φράγμα ρυθμού επανάληψης: 1/ A X X F F FD X B X F X F C X X F D X F Η χρήση της υπομονάδας Α την τρίτη φορά για κάθε πράξη πρέπει να καθυστερεί κατά 1 cc Εισαγωγή υπομονάδας καθυστέρησης μεταξύ Β και Α με κατάλληλο έλεγχο για τη χρήση της

19 Ολοκλήρωση εκτός Σειράς Πάγωμα εντολών που ζητούν ταυτόχρονη εγγραφή στο ΦΚ Ανίχνευση στη φάση ID: όλα τα παγώματα στην ίδια φάση Ανίχνευση μόλις ζητηθεί ταυτόχρονη εγγραφή: πιο εύκολη Ανίχνευση εγγραφής στον ίδιο καταχωρητή πάγωμα της εντολής που ακολουθεί ακύρωση εγγραφής της πρώτης

20 Ενσωμάτωση Υπομονάδων Εκτέλεσης με/χωρίς Επικάλυψη

21 Παγώματα σε Υπομονάδες Κινητής Υποδιαστολής MIPS

22 Επικάλυψη στον MIPS R4000 Superpipelining:

23 Παροχέτευση στον R4000

24 Διακλαδώσεις στον R4000

25 Απόδοση Επικάλυψης στον R4000

26 Β. Εκμετάλλευση Παραλληλισμού Εντολών Εκμετάλλευση παραλληλίας εντολών (ILP): Στατική δρομολόγηση για προσαρμογή στις δυνατότητες της αρχιτεκτονικής Δυναμική δρομολόγηση για εκτέλεση ε- κτός σειράς Βελτιωμένοι αλγόριθμοι πρόβλεψης διακλαδώσεων Υποθετική εκτέλεση Υπερβαθμωτή εκτέλεση και πολλαπλές ροές ελέγχου

27 Σειρά Εκτέλεσης Εντολών Η σειρά εκτέλεσης περιορίζεται από τις εξαρτήσεις μεταξύ των εντολών: Ldc1 $f6,34($2) Ldc1 $f2,45($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d$f6,$f8,$f2 Η αρχιτεκτονική δεν παραβιάζει τις εξαρτήσεις, αλλά μπορεί να διευκολύνει την εκτέλεση!

28 Στατική Δρομολόγηση Εντολών Περιορισμένες διευκολύνσεις από τον επεξεργαστή Εκμετάλλευση ILP μέσα από βελτιστοποιήσεις του μεταγλωττιστή Οι εντολές εκτελούνται με τη σειρά που προσκομίζονται Πάγωμα για όσους κινδύνους δε μπορεί να αντιμετωπίσει ο επεξεργαστής

29 Δυναμική Δρομολόγηση Εντολών Ειδικό υλικό παρακολουθεί την εκτέλεση κάθε εντολής που προσκομίζεται Οι εντολές εκτελούνται όταν είναι έτοιμες για εκτέλεση Τα τελούμενα εισόδου είναι διαθέσιμα Η υπομονάδα εκτέλεσης είναι ελεύθερη Η αποθήκευση αποτελέσματος γίνεται ε- ντός ή εκτός σειράς;

30 Αλγόριθμοι Δυναμική δρομολόγηση βασισμένη στον πίνακα παρακολούθησης (scoreboard) CDC6600 (Thornton/Cray 1964) Δυναμική δρομολόγηση βασισμένη στους σταθμούς δέσμευσης (reservation stations) IBM S/360 Model 91 (Tomasulo/Amdahl 1965)

31 Σταθμοί Δέσμευσης (ή Αλγόριθμος Tomasulo) Οι σταθμοί δέσμευσης (reservation stations) υποδεικνύουν τις υπομονάδες από τις οποίες αναμένονται τα τελούμενα εισόδου που δε βρίσκονται ακόμα στο ΦΚ Μια εντολή μπορεί να μπει στη φάση εκτέλεσης μόλις τα τελούμενα που χρειάζεται γίνουν διαθέσιμα μέσω παροχέτευσης Εφ όσον τα τελούμενα προωθούνται μέσω παροχέτευσης, δεν εμφανίζονται κίνδυνοι από εξαρτήσεις ΕΜΕ και ΕΜΑ

32 Υλοποίηση Σταθμών Κατάσταση υπομονάδων εκτέλεσης Busy: Υπομονάδα απασχολημένη Op: Λειτουργία που εκτελεί η υπομονάδα Qj,Qk: Υπομονάδες που παράγουν τα δεδομένα εισόδου (ή 0 για διαθέσιμες τιμές) Vj,Vk: Τιμές δεδομένων εισόδου Α: Διευθύνσεις προσπέλασης μνήμης Κατάσταση εγγραφής καταχωρητών

33 MIPS και Αλγόριθμος Tomasulo

34 Υλοποίηση Ελέγχου Tomasulo (1) Έκδοση FP: wait until Station r empty if (RegisterStat[rs].Qi 0) { RS[r].Qj := RegisterStat[rs].Qi; } else { RS[r].Vj := Regs[rs]; RS[r].Qj := 0; } if (RegisterStat[rt].Qi 0) { RS[r].Qk := RegisterStat[rt].Qi; } else {RS[r].Vk := Regs[rt]; RS[r].Qk := 0; } RS[r].Busy := Y; RegisterStat[rd].Qi := r;

35 Υλοποίηση Ελέγχου Tomasulo (2) Έκδοση Load/Store: wait until Buffer r empty if (RegisterStat[rs].Qi 0) { RS[r].Qj := RegisterStat[rs].Qi; } else { RS[r].Vj := Regs[rs]; RS[r].Qj := 0; } RS[r].A := imm; RS[r].Busy := Y; Load : RegisterStat[rt].Qi := r; Store: if (RegisterStat[rt].Qi 0) { RS[r].Qk := RegisterStat[rt].Qi; } else {RS[r].Vk := Regs[rt]; RS[r].Qk := 0; }

36 Υλοποίηση Ελέγχου Tomasulo (3) Εκτέλεση FP: wait until (RS[r].Qj = 0) && (RS[r].Qk = 0) Εκτέλεση Load (1 ο βήμα)/store: wait until (RS[r].Qj = 0) && (r is head of queue) RS[r].A := RS[r].Vj + RS[r].A; Εκτέλεση Load (2 ο βήμα): wait until step 1 complete Read from MEM[RS[r].A]

37 Υλοποίηση Ελέγχου Tomasulo (4) Αποθήκευση αποτελέσματος FP/Load: wait until execution complete && CDB available x:(if (RegisterStat[x].Qi = r) { Regs[x] := result; RegisterStat[x].Qi := 0; }); x:(if (RS[x].Qj = r) { RS[x].Vj := result; RS[x].Qj := 0; }); x:(if (RS[x].Qk = r) { RS[x].Vk := result; RS[x].Qk := 0; }); RS[r].Busy := N;

38 Υλοποίηση Ελέγχου Tomasulo (5) Αποθήκευση αποτελέσματος Store: wait until execution complete && RS[r].Qk = 0 Store RS[r].Vk into MEM[RS[r].A]; RS[r].Busy := N;

39 Παράδειγμα Εντολή Κατάσταση εντολής Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Όνομα Κατάσταση υπομονάδων εκτέλεσης Busy Op Vj Vk Qj Qk A Load1 N Load2 Y Load 44+Regs[3] Add1 Y Sub Mem[32+Regs[2]] Load2 Add2 Y Add Add1 Load2 Add3 N Mult1 Y Mul Regs[f4] Load2 Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Load2 Add2 Add1 Mult2

40 Παράδειγμα Εντολή Ldc1 Ldc1 Mul.d Sub.d Div.d Add.d Όνομα Load1 Load2 Add1 Add2 Add3 Mult1 Mult2 Υπομονάδα cc0 $f6,32($2) $f2,44($3) $f0,$f2,$f4 $f8,$f6,$f2 $f10,$f0,$f6 $f6,$f8,$f2 Κατάσταση εντολής Έκδοση Εκτέλεση Αποθήκευση Κατάσταση υπομονάδων εκτέλεσης Busy Op Vj Vk Qj Qk A N Ν Ν Ν N Ν Ν Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30

41 Παράδειγμα Εντολή Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Όνομα Κατάσταση εντολής Έκδοση Εκτέλεση Αποθήκευση Κατάσταση υπομονάδων εκτέλεσης Busy Op Vj Vk Qj Qk A Load1 Υ Load Regs[2] Load2 Ν Add1 Ν Add2 Ν Add3 N Mult1 Ν Mult2 Ν Υπομονάδα cc1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Load1

42 Παράδειγμα Εντολή Υπομονάδα Load2 Load1 cc2 Κατάσταση εντολής Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Όνομα Κατάσταση υπομονάδων εκτέλεσης Busy Op Vj Vk Qj Qk A Load1 Y Load 32+Regs[2] Load2 Y Load Regs[3] Add1 N Add2 N Add3 N Mult1 N Mult2 N Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30

43 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 Y Load 32+Regs[2] Load2 Y Load 44+Regs[3] Add1 N Add2 N Add3 N Mult1 Y Mul Regs[f4] Load2 Mult2 N Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Load2 Load1 cc3

44 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Busy Op Vj Vk Qj Qk A Όνομα Load1 Y Load 32+Regs[2] Load2 Y Load 44+Regs[3] Add1 Y Sub Load1 Load2 Add2 N Add3 N Mult1 Y Mul Regs[f4] Load2 Mult2 N Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Load2 Load1 Add1 cc4

45 Παράδειγμα Κατάσταση εντολής Έκδοση Εκτέλεση Αποθήκευση Εντολή Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 Y Load 44+Regs[3] Add1 Y Sub Mem[32+Regs[2]] Load2 Add2 N Add3 N Mult1 Y Mul Regs[f4] Load2 Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Load2 Add1 Mult2 cc5

46 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 Y Load 44+Regs[3] Add1 Y Sub Mem[32+Regs[2]] Load2 Add2 Y Add Add1 Load2 Add3 N Mult1 Y Mul Regs[f4] Load2 Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Load2 Add2 Add1 Mult2 cc6

47 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 Y Sub Mem[32+Regs[2]] Mem[44+Regs[3]] Add2 Y Add Mem[44+Regs[3]] Add1 Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Add2 Add1 Mult2 cc7

48 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 Y Sub Mem[32+Regs[2]] Mem[44+Regs[3]] Add2 Y Add Mem[44+Regs[3]] Add1 Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Add2 Add1 Mult2 cc8

49 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 Y Sub Mem[32+Regs[2]] Mem[44+Regs[3]] Add2 Y Add Mem[44+Regs[3]] Add1 Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Add2 Add1 Mult2 cc9

50 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 N Add2 Y Add Mem[ ]-Mem[ ] Mem[44+Regs[3]] Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Add2 Mult2 cc10

51 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 N Add2 Y Add Mem[ ]-Mem[ ] Mem[44+Regs[3]] Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Add2 Mult2 cc11

52 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 N Add2 Y Add Mem[ ]-Mem[ ] Mem[44+Regs[3]] Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Add2 Mult2 cc12

53 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 N Add2 N Add3 N Mult1 Y Mul Mem[44+Regs[3]] Regs[f4] Mult2 Y Div Mem[32+Regs[2]] Mult1 Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult1 Mult2 cc13

54 Παράδειγμα Κατάσταση εντολής Εντολή Έκδοση Εκτέλεση Αποθήκευση Ldc1 $f6,32($2) Ldc1 $f2,44($3) Mul.d $f0,$f2,$f4 Sub.d $f8,$f6,$f2 Div.d $f10,$f0,$f6 Add.d $f6,$f8,$f2 Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk A Load1 N Load2 N Add1 N Add2 N Add3 N Mult1 N Mult2 Y Div Mem[ ] Regs[f4] Mem[32+Regs[2]] Κατάσταση εγγραφής καταχωρητών $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 Υπομονάδα Mult2 cc14...

55 Περιορισμοί/Προβλήματα Διαθέσιμη παραλληλία στην εκτέλεση των εντολών Μέγεθος ουράς εντολών (παραθύρου έκδοσης issue window) Αριθμός και είδος υπομονάδων εκτέλεσης Δυνατότητες παροχέτευσης μεταξύ υπομονάδων

56 Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη πολλαπλών επιπέδων Υποθετική εκτέλεση Διαχείριση εντολών μετά από μία πρόβλεψη διακλάδωσης Υπερβαθμωτή ΜΕΔ Πολλαπλές ολικά επικαλυπτόμενες εντολές Περιορισμοί στην εκμετάλλευση ILP

57 Πρόβλεψη Διακλαδώσεων σε Δύο Επίπεδα Η συμπεριφορά της ίδιας διακλάδωσης σε διαδοχικές εκτελέσεις της πριν την παρούσα Η συμπεριφορά διαδοχικών διακλαδώσεων που εκτελούνται πριν την παρούσα Παράδειγμα: if (d == 0) d = 1; if (d == 1)... bne $1,$0,L1 addiu $1,$0,1 L1: addiu $3,$1,-1 bne $3,$0,L2 L2:

58 Υλοποιώντας το Δεύτερο Επίπεδο

59 Συγκριτική Απόδοση

60 Εναλλαγή Μεθόδων Πρόβλεψης Υλοποίηση πολλαπλών μεθόδων πρόβλεψης Επιλογή μιας μεθόδου δυναμικά, ανάλογα με την επιτυχία πρόβλεψης

61 Υποθετική Εκτέλεση Επιτρέπει την εκτέλεση εντολών που πιθανά να μην πρέπει να εκτελεστούν Απαραίτητη για συνδυασμό πρόβλεψης διακλαδώσεων με δυναμική δρομολόγηση εντολών για εκτέλεση εκτός σειράς Επιτηρεί την μεταβολή της κατάστασης του επεξεργαστή με βάση τις εκτελέσεις των διακλαδώσεων με τη σωστή σειρά

62 Απόσυρση Εντολών (Commit) Η τελευταία φάση στον κύκλο εντολής, που διαχωρίζεται από τη φάση εκτέλεσης Η απόσυρση γίνεται με την αρχική σειρά των εντολών Ακριβής αντιμετώπιση ειδικών περιπτώσεων Χρήση πίνακα επαναδιάταξης εντολών (reorder buffer) Ένα αποτέλεσμα εκτέλεσης αποθηκεύεται προσωρινά στον πίνακα επαναδιάταξης

63 MIPS με Υποθετική Εκτέλεση

64 Παράδειγμα Κατάσταση υπομονάδων εκτέλεσης Όνομα Busy Op Vj Vk Qj Qk Dest A Load1 Load2 Add1 Add2 Add3 N N N N N Mult1 N Mul Mem[45+Regs[3]] Regs[F4] #3 Mult2 Y Div Mem[34+Regs[2]] #3 #5 Πίνακας επαναδιάταξης # Busy Εντολή Κατάσταση Προορισμός Τιμή 1 N Ldc1 $f6,34($2) Commit F6 Mem[34+Regs[2]] 2 N Ldc1 $f2,45($3) Commit F2 Mem[45+Regs[3]] 3 Y Mul.d $f0,$f2,$f4 Write result F0 #2 x Regs[F4] 4 Y Sub.d $f8,$f6,$f2 Write result F8 #1 - #2 5 Y Div.d $f10,$f0,$f6 Execute F10 6 Y Add.d $f6,$f8,$f2 Write result F6 #4 + #2 Κατάσταση εγγραφής καταχωρητών Πεδίο $f0 $f2 $f4 $f6 $f8 $f10 $f12 $f30 #/Busy 3/Y -/N -/N 6/Y 4/Y 5/Y -/N -/N

65 Μετονομασία Καταχωρητών Χρήση μεγάλου αριθμού φυσικών καταχωρητών για προσωρινή απεικόνιση των καταχωρητών της αρχιτεκτονικής Μια προσωρινή απεικόνιση: οριστικοποιείται στην απόσυρση της αντίστοιχης διακλάδωσης ακυρώνεται σε αποτυχημένη πρόβλεψη Τα δεδομένα αποθηκεύονται μόνο στο ΦΚ, όχι στον πίνακα επαναδιάταξης

66 Υπερβαθμωτή ΜΕΔ Περισσότερες από μία διαδοχικές εντολές ανακαλούνται ταυτόχρονα από τη μνήμη, αποκωδικοποιούνται ταυτόχρονα και ετοιμάζονται για εκτέλεση ταυτόχρονα Αντιμετώπιση κινδύνων από εξαρτήσεις μεταξύ εντολών που επεξεργαζόμαστε ταυτόχρονα, και σύμφωνα με τη σωστή σειρά τους στον κώδικα!

67 Υπερβαθμωτή ΜΕΔ με Υποθετική Εκτέλεση Μετά την εκτέλεσή τους, πολλαπλές εντολές αποσύρονται ταυτόχρονα Περισσότερο πολύπλοκο υλικό Μεγαλύτερη ανάγκη επιτυχίας πρόβλεψης, ώστε να μη χάνεται το κέρδος από την υπερβαθμωτή εκτέλεση

68 Πού Σταματάμε; ILP που διαθέτουν τα προγράμματα Υλικό, πχ μέγεθος πίνακα επαναδιάταξης, αριθμός υπομονάδων εκτέλεσης, μέγεθος παραθύρου εντολών που βλέπει ο επεξεργαστής Πραγματική δυνατότητα πρόβλεψης διακλαδώσεων Δυσκολία αντιμετώπισης κινδύνων από εξαρτήσεις μνήμης

69 Αρχιτεκτονική i3/i5/i7 (Nehalem)

70 Αρχιτεκτονικές VLIW & Στατική Δρομολόγηση Εντολών Κωδικοποίηση πολλών επιμέρους εντολών σε μία Πολύ Μεγάλη Λέξη Εντολής (Very Long Instruction Word) Επεξεργαστές πολλαπλών μονάδων εκτέλεσης Παράλληλες εντολές Στατική δρομολόγηση εντολών από το μεταγλωττιστή Έλλειψη ελέγχου εξαρτήσεων μεταξύ εντολών της ίδιας λέξης

71 Οργάνωση Αρχιτεκτονικών VLIW Πολλές μονάδες εκτέλεσης 5 ή περισσότερες παράλληλες εκτελέσεις, για μικρότερο εύρος προτιμάται η υπερβαθμωτή αρχιτεκτονική με δυναμική δρομολόγηση Οι επιμέρους εντολές εκτελούνται όπως έρχονται από τη μνήμη εντολών Συνήθως οι επιμέρους εντολές εκτελούνται στις ίδιες κάθε φορά μονάδες εκτέλεσης

72 Εντολές VLIW Παράδειγμα οργάνωσης επιμέρους εντολών: οι δύο πρώτες εντολές είναι εντολές προσπέλασης μνήμης οι δύο επόμενες εντολές είναι κινητής υποδιαστολής η τελευταία εντολή είναι σταθερής υποδιαστολής Αν δεν μπορούμε να συμπληρώσουμε τις επιμέρους εντολές, αυτές μένουν κενές!

73 Παραγωγή Κώδικα Υψηλού ILP Συνήθως κώδικας υψηλού ILP προκύπτει από κατάλληλη δρομολόγηση βρόχων Ανίχνευση παράλληλων βρόχων Βελτιστοποιητικοί μετασχηματισμοί βρόχων που αρχικά δεν είναι παράλληλοι Δρομολόγηση εντολών βρόχου μετά από Ξεδίπλωμα ενός αριθμού επαναλήψεων Συμβολικό ξεδίπλωμα Δρομολόγηση ενός δρόμου

74 Ξεδίπλωμα Βρόχων Χωρίς δρομολόγηση: ldc1 F0,0(R1) ; t=1 add.d F4,F0,F2 ; t=3 sdc1 F4,0(R1) ; t=6 ldc1 F0,-8(R1) ; t=7 add.d F4,F0,F2 ; t=9 sdc1 F4,-8(R1) ; t=12 ldc1 F0,-16(R1) ; t=13 add.d F4,F0,F2 ; t=15 sdc1 F4,-16(R1) ; t=18 ldc1 F0,-24(R1) ; t=19 add.d F4,F0,F2 ; t=21 sdc1 F4,-24(R1) ; t=24 daddiu R1,R1,-32 ; t=25 bne R1,R2,Loop ; t=27 ldc1 F0,0(R1) ; t=29 Με δρομολόγηση: ldc1 F0,0(R1) ; t=1 ldc1 F6,-8(R1) ; t=2 ldc1 F10,-16(R1); t=3 ldc1 F14,-24(R1); t=4 add.d F4,F0,F2 ; t=5 add.d F8,F6,F2 ; t=6 add.d F12,F10,F2 ; t=7 add.d F16,F14,F2 ; t=8 sdc1 F4,0(R1) ; t=9 sdc1 F8,-8(R1) ; t=10 daddiu R1,R1,-32 ; t=11 sdc1 F12,16(R1) ; t=12 bne R1,R2,Loop ; t=13 sdc1 F16,8(R1) ; t=14 ldc1 F0,0(R1) ; t=15

75 Υπερβαθμωτή Δρομολόγηση Εκτέλεση μιας εντολής σταθερής και μιας εντολής κινητής υποδιαστολής ανά cc: ldc1 F0,0(R1) ; t=1 ldc1 F6,-8(R1) ; t=2 ldc1 F10,-16(R1) add.d F4,F0,F2 ; t=3 ldc1 F14,-24(R1) add.d F8,F6,F2 ; t=4 ldc1 F18,-32(R1) add.d F12,F10,F2 ; t=5 sdc1 F4,0(R1) add.d F16,F14,F2 ; t=6 sdc1 F8,-8(R1) add.d F20,F18,F2 ; t=7 sdc1 F12,-16(R1) ; t=8 daddiu R1,R1,-40 ; t=9 sdc1 F16,16(R1) ; t=10 bne R1,R2,Loop ; t=11 sdc1 F20,8(R1) ; t=12 ldc1 F0,0(R1) ; t=13

76 Δρομολόγηση VLIW Με βάση την προαναφερθείσα οργάνωση των επιμέρους εντολών: (Διακλαδώσεις χωρίς καθυστέρηση) ldc1 F0,0(R1) ldc1 F6,-8(R1) ldc1 F10,-16(R1) ldc1 F14,-24(R1) ldc1 F18,-32(R1) ldc1 F22,-40(R1) add.d F4,F0,F2 add.d F8,F6,F2 ldc1 F26,-48(R1) add.d F12,F10,F2 add.d F16,F14,F2 add.d F20,F18,F2 add.d F24,F22,F2 sdc1 F4,0(R1) sdc1 F8,-8(R1) add.d F28,F26,F2 sdc1 F12,-16(R1) sdc1 F16,-24(R1) daddiu R1,R1,-56 sdc1 F20,24(R1) sdc1 F24,16(R1) sdc1 F28,8(R1) bne R1,R2,Loop ldc1 F0,0(R1) ldc1 F6,-8(R1)

77 Παράλληλοι Βρόχοι Εξαρτήσεις εντολών & επαναλήψεων βρόχου: for (i=1; i<=100; i=i+1) { A[i+1] = A[i] + B[i]; B[i+1] = C[i] + A[i+1]; } for (i=1; i<=100; i=i+1) { A[i] = A[i] + B[i+1]; B[i+1] = C[i] + D[i]; } Σειριακός βρόχος Παράλληλος βρόχος

78 Παράλληλοι Βρόχοι Μετασχηματισμοί βρόχων που μπορούν να γίνουν παράλληλοι: for (i=1; i<=100; i=i+1) { A[i] = A[i] + B[i]; B[i+1] = C[i] + D[i]; } A[1] = A[1] + B[1]; for (i=1; i<=99; i=i+1) { B[i+1] = C[i] + D[i]; A[i+1] = A[i+1] + B[i+1]; } B[101] = C[100] + D[100]; Σειριακός βρόχος Παράλληλος βρόχος

79 Έλεγχος ΜΚΔ (GCD) Έστω δύο αναφορές στο ίδιο διάνυσμα Χ: Χ[a*i+b], X[c*i+d] Αν υπάρχει εξάρτηση μεταξύ των δύο αναφορών, τότε πρέπει: (d-b) mod GCD(c,a) = 0 Αναγκαία συνθήκη, αλλά όχι και ικανή: μπορούμε να συμπεράνουμε ότι δεν υπάρχει εξάρτηση, αλλά όχι το ανάποδο!

80 Συμβολικό Ξεδίπλωμα Βρόχων

81 Παράδειγμα Αρχικός βρόχος: Νέος βρόχος: Loop: ldc1 $f0,0($1) add.d $f4,$f0,$f2 sdc1 $f4,0($1) addiu $1,$1,-8 bne $1,$2,Loop <prologue> Loop: sdc1 $f4,0($1) add.d $f4,$f0,$f2 ldc1 $f0,-16($1) addiu $1,$1,-8 bne $1,$2,Loop <epilogue> Πώς προκύπτει μεγαλύτερο ILP;

82 Πραγματικό & Συμβολικό Ξεδίπλωμα

83 Καθολική Δρομολόγηση

84 Δρομολόγηση ενός Δρόμου

85 Superblock

86 Υποστήριξη από το Υλικό για Αύξηση ILP Βεβαιωμένη εκτέλεση Μετατροπή διαδικασιακά εξαρτημένων εντολών σε εντολές που εκτελούνται προαιρετικά Οι διαδικασιακές εξαρτήσεις γίνονται εξαρτήσεις από δεδομένα Στατική υποθετική εκτέλεση Ο μεταγλωττιστής παράγει ειδικές εντολές υποθετικής εκτέλεσης Το υλικό εξασφαλίζει την ορθότητα εκτέλεσης

87 Βεβαιωμένη Εκτέλεση Η συνθήκη διακλάδωσης αποθηκεύεται σε κάποιον καταχωρητή: Ειδικοί καταχωρητές βεβαίωσης cmp.ne p1=$8,$0 (p1) add $7,$8,$2 sw $7,0($1) Καταχωρητές γενικού σκοπού slti $5,$9,8 cmovz $7,$1,$5

88 Στατική Υποθετική Εκτέλεση Ο μεταγλωττιστής μετακινεί εντολές για εκτέλεση πριν από τη διακλάδωση από την οποία εξαρτώνται Ειδικές εντολές αγνοούν ή καθυστερούν τις ειδικές περιπτώσεις Ο μεταγλωττιστής μετακινεί εντολές φόρτωσης πριν από εντολές αποθήκευσης Ειδικές εντολές φόρτωσης οδηγούν σε έλεγχο επικάλυψης όταν γίνεται η αποθήκευση

89 Παράδειγμα (speculative load) Πηγαίος κώδικας C: if (A == 0) A = B; else A = A+4; Αρχική μετάφραση: lw $1,0($3) ;load A bnez $1,L1 ;test A lw $1,0($2) ;then clause (load B) j L2 ;skip else L1:addiu $1,$1,4 ;else clause (add 4 to A) L2:sw $1,0($3) ;store A

90 Παράδειγμα (speculative load) Απλή μετακίνηση εντολής φόρτωσης: lw $1,0($3) ;load A lw $14,0($2) ;speculative load B beqz $1,L2 ;test A L1:addiu $14,$1,4 ;else clause L2: sw $14,0($3) ;store A Ειδική περίπτωση χωρίς επάνοδο δεν πρέπει να τερματίζει το πρόγραμμα, αλλά να επιστρέφει κατάλληλη τιμή

91 Παράδειγμα (speculative load) Υλοποίηση με εντολή υποθετικής φόρτωσης και ειδική εντολή ελέγχου: lw $1,0($3) ;load A slw $14,0($2) ;speculative, no exception bnez $1,L1 ;test A specck 0($2) ;speculation check j L2 ;skip else L1:addiu $14,$1,4 ;else clause L2: sw $14,0($3) ;store A Ο έλεγχος μπορεί να υπονοηθεί με poison bits

92 Παράδειγμα (advanced load) Αρχικός κώδικας: sw $12,0($4) ;store lw $6,0($8) ;load sw $6,0($18) ;store Εντολή πρώιμης φόρτωσης και ελέγχου: lw.a $6,0($8) ;advanced load sw $12,0($4) ;store lw.c $6,0($8) ;check load sw $6,0($18) ;store Έλεγχος με κώδικα επαναφοράς

93 Προβλήματα Αρχιτεκτονικών VLIW Μεγάλος κώδικας Πολλαπλό ξεδίπλωμα βρόχων Κενές επιμέρους εντολές Συγχρονισμένη εκτέλεση επιμέρους εντολών Πάγωμα όλων των επιμέρους εντολών Μη φορητότητα κώδικα Ανάγκη εύρεσης υψηλού ILP

94 Υβριδικές Αρχιτεκτονικές Προσθήκη ελέγχου εξαρτήσεων και δρομολόγηση για εκτέλεση εκτός σειράς όχι για επιμέρους εντολές, η δρομολόγηση των οποίων παραμένει στην ευθύνη του μεταγλωττιστή Κατάλληλη κωδικοποίηση για φορητότητα κώδικα

95 Itanium

96 Γ. Θέματα Ιεραρχίας Μνήμης, Ε/Ε & Αρτηριών Κρυφή μνήμη Κύρια μνήμη Βελτιστοποιήσεις κρυφής μνήμης Κύρια μνήμη Ιδεατή μνήμη Βελτιστοποιήσεις κύριας και ιδεατής μνήμης Θέματα δευτερεύουσας μνήμης Συστήματα δίσκων Αρτηρίες διασύνδεσης Αρτηρίες διαχωρισμένης προσπέλασης

97 Απόδοση CPU έναντι DRAM Hennessy-Patterson

98 Κρυφή Μνήμη Μέσος χρόνος προσπέλασης = Χρόνος επιτυχούς προσπέλασης + Λόγος αποτυχίας Χρόνος προσπέλασης επόμενου επιπέδου Η σχεδίαση της κρυφής μνήμης γίνεται με σκοπό την ελαχιστοποίηση του μέσου χρόνου προσπέλασης Αυξημένη πολυπλοκότητα όταν υποστηρίζεται εκτέλεση εκτός σειράς

99 Μείωση Κόστους Αποτυχίας Πολλαπλά επίπεδα κρυφής μνήμης L2 και L3 επίπεδα Επιλογή δεδομένου από το μπλοκ Προηγείται το δεδομένο που ζητείται Προτεραιότητα στις εντολές φόρτωσης Έλεγχος για επικάλυψη διευθύνσεων Συγχώνευση στις αποθηκεύσεις Κρυφή μνήμη θυμάτων (victim cache)

100 Μείωση Λόγου Αποτυχίας Αύξηση μεγέθους μπλοκ Αύξηση μεγέθους μνήμης Αύξηση βαθμού συσχέτισης Ψευδοσυσχετιστική κρυφή μνήμη (pseudoassociative) Βελτιστοποιήσεις μεταγλωττιστή

101 Παραλληλισμός στην Κρυφή Μνήμη Nonblocking caches Οι προσπελάσεις συνεχίζονται σε μια αποτυχία μέχρι ενός αριθμού αποτυχιών Εκ των προτέρων προσκόμιση από το υλικό (hardware prefetching) Συνήθως σε εξωτερικό χώρο (stream buffer) Εκ των προτέρων προσκόμιση από το λογισμικό (software prefetching)

102 Βελτίωση Χρόνου Προσπέλασης σε Επιτυχία Μικρές και απλές κρυφές μνήμες Λογικές διευθύνσεις αντί για φυσικές Μεταγωγές περιβάλλοντος (context switches): Ακύρωση Διατήρηση κατάλληλης ετικέτας Πρόβλεψη δρόμου (way prediction) Μερική επικάλυψη προσπελάσεων Αποθήκευση χρήσιμων εντολών: κρυφές μνήμες ίχνους (trace caches)

103 Κύρια Μνήμη Οργάνωση χώρου διευθύνσεων Διαφύλλωση χαμηλής τάξης Τεχνολογία κατασκευής και διασύνδεσης με ΚΜΕ DIMM / SIMM SDRAM / DRAM DDR SDRAM RAMBUS / FSB

104 Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Παράδειγμα: Alpha Hennessy-Patterson

105 Παράδειγμα: AMD Opteron Hennessy-Patterson

106 Συστήματα Δευτερεύουσας Αποθήκευσης Εξέλιξη τεχνολογίας δίσκων Συστήματα RAID: Redundant Arrays of Inexpensive (Independent) Disks

107 Θέματα Αρτηριών Αρτηρία διαχωρισμένης προσπέλασης (split transaction bus)

108 Δ. Εισαγωγή στην Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί, κατανεμημένης μνήμης Μέθοδοι Επικοινωνίας και Δίκτυα Μέθοδοι Συγχρονισμού Διανυσματικοί Πολυεπεξεργαστές Πολλαπλές Ροές Ελέγχου

109 Επίπεδο Παραλληλισμού ILP Μερική επικάλυψη, εκτέλεση εκτός σειράς, υπερβαθμωτή εκτέλεση και εκτέλεση VLIW Πολλαπλές ροές ελέγχου (ή νήματα) Από την ίδια ή διαφορετικές διεργασίες Εκμετάλλευση παραλληλισμού βρόχων και εντολών υψηλού επιπέδου Διανυσματικοί επεξεργαστές & επεξεργαστές γραφικών Πολλαπλές διεργασίες

110 Πολυεπεξεργαστές & Πολυυπολογιστές Πολυεπεξεργαστές: Πολλαπλοί επεξεργαστές που συνδέονται στον ίδιο χώρο διευθύνσεων μνήμης Κοινή μνήμη Πολυυπολογιστές: Ανεξάρτητοι υπολογιστές συνδεδεμένοι μεταξύ τους Κατανεμημένη μνήμη Κατανεμημένη κοινή μνήμη: πολυυπολογιστές που εμφανίζονται ως πολυεπεξεργαστές!

111 Ταξινόμηση Flynn SISD (Single Instruction - Single Data) Οι μονοεπεξεργαστές SIMD (Single Instruction - Multiple Data) Οι διανυσματικοί επεξεργαστές MISD (Multiple Instruction - Single Data) Μηχανές ροής δεδομένων MIMD (Multiple Instruction - Multiple Data) Οι συνηθισμένοι παράλληλοι επεξεργαστές

112 Προβλήματα Μνήμης Συνοχή κρυφών μνημών Το πρόβλημα των εγγραφών και πώς αυτές γίνονται ορατές σε άλλους επεξεργαστές Συνέπεια μνήμης Το πρόβλημα των εγγραφών και πότε αυτές γίνονται ορατές σε άλλους επεξεργαστές

113 Συγχρονισμός Παράλληλης Επεξεργασίας Η ανάγκη συγχρονισμού Βρόχος doacross Μέθοδοι συγχρονισμού Συγχρονισμός μεταξύ δύο παράλληλων επεξεργασιών Φράγμα Θέματα υλοποίησης Ατομικές μικρολειτουργίες Υποστήριξη από το σύνολο εντολών

114 Διανυσματικοί Υπολογιστές Παράλληλη επεξεργασία τύπου SIMD: Υπολογιστές που εκτελούν διανυσματικές πράξεις Από τον Cray και τον IBM 3090 Μέχρι τους πιο πρόσφατους μικροεπεξεργαστές που εκτελούν διανυσματικές εντολές για media processing

115 Επεξεργασία Πολλαπλών Ροών Ελέγχου Ροές ελέγχου (ή νήματα) από την ίδια ή διαφορετικές διεργασίες Διάφορα επίπεδα παραλληλισμού Blocked και interleaved Συνδυασμός υπερβαθμωτής εκτέλεσης και εκτέλεσης πολλαπλών ροών ελέγχου Παραγωγή κώδικα πολλαπλών ροών ελέγχου!

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 8 η : Στατική Δρομολόγηση Εντολών (Παράλληλοι Βρόχοι & Βεβαιωμένη Εκτέλεση) Παράλληλοι Βρόχοι Εξαρτήσεις εντολών & επαναλήψεων βρόχου: for (i=1; i

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 5 η : Δυναμική Δρομολόγηση Εντολών (Διακλαδώσεις, Υποθετική & Υπερβαθμωτή Εκτέλεση) Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 3 η : Μερική Επικάλυψη Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση 6: Ασκήσεις Χειμερινού Εξαμήνου 2017-2018 (μέρος Β ) Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 6: Ασκήσεις Εξαμήνου Μέρος Β Νοέμβριος 2016 Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση ενός

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 4: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής βασισµένος στην αρχιτεκτονική του πίνακα παρακολούθησης

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 11 (εργαστηριακή): Ασκήσεις Εξαμήνου Μέρος Γ Δεκέμβριος 2016 Γράψτε ένα πρόγραμμα προσομοίωσης

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 7 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΔΙΑΔΟΧΙΚΕΣ ΔΙΑΔΙΚΑΣΙΕΣ Σειριακή εκτέλεση, χωρίς καμία επικάλυψη: 50ns 100ns Δ1 Χρόνος Δ2 Δ3 Συνολικός χρόνος ολοκλήρωσης

Διαβάστε περισσότερα

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 8 ο Μερική Επικάλυψη Κίνδυνοι στη Μερική Επικάλυψη Αδυναμία ιδανικής εκτέλεσης με μερική επικάλυψη Εξαρτήσεις μεταξύ εντολών Ανάγκη εκτέλεσης λειτουργιών σε συγκεκριμένη σειρά

Διαβάστε περισσότερα

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

Παραλληλισμός σε επίπεδο εντολών Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

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

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 9 η : Θέματα Δρομολόγησης Εντολών ILP Παραλληλισμός επιπέδου εντολής Εξαρτήσεις δεδομένων Εξαρτήσεις ελέγχου (διαδικασιακές) Με διαθέσιμους πόρους, οι εντολές μπορούν να εκτελεστούν

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 1 η : Βασικές Αρχές Αρχιτεκτονικής Η/Υ Σύγχρονοι Μικροεπεξεργαστές Intel 6-core i7 (Gulftown) 2010, >1 billion transistors Απόδοση Μικροεπεξεργαστών V Μετρήσεις με μετροπρογράμματα

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

Διαβάστε περισσότερα

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level

Διαβάστε περισσότερα

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 3 η : Παράλληλη Επεξεργασία Παράλληλες Αρχιτεκτονικές Παράλληλο σύστημα είναι ένα σύνολο από επεξεργαστικά στοιχεία (processing elements) τα οποία: συνεργάζονται για γρήγορη επίλυση

Διαβάστε περισσότερα

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 9 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Εξαρτήσεις Εντολών Κίνδυνοι Κίνδυνοι από δοµικές εξαρτήσεις n Εξαρτήσεις υλικού Κίνδυνοι από εξαρτήσεις

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 1: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής, στον οποίο ένα πρόγραµµα ολοκληρώνει την εκτέλεσή

Διαβάστε περισσότερα

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

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ: ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 1: Ασκήσεις Εξαμήνου Μέρος Α Οκτώβριος 2016 Θεωρήστε κάποιον επεξεργαστή γενικού σκοπού που

Διαβάστε περισσότερα

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

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

Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Αρχιτεκτονική Υπολογιστών Εργασία Εξαµήνου: Προσοµοίωση ARM σε επίπεδο VHDL/Verilog 1. Μελέτη συνόλου εντολών και αρχιτεκτονικής ARM

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο) I χειμερινό εξάμηνο & ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II εαρινό εξάμηνο (σε κίτρινο υπόβαθρο). Νικολός Καθηγητής ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην ομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών Ενότητα 1.1 Υλικό

Διαβάστε περισσότερα

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Άσκηση 7: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής MIPS αρχιτεκτονικής VLIW, ο οποίος στη λέξη εντολής του κωδικοποιεί πέντε απλές

Διαβάστε περισσότερα

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

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μια Ανασκόπηση στην Οργάνωση Η/Υ Οργάνωση ενός Κλασικού Η/Υ Eπεξεργαστής Βοηθητική Μνήμη Οθόνη Πληκτρολόγιο Προσαρμογέας Δικτύου ΚΜΕ ΜΔΜ Κύρια Μνήμη Ελεγκτής Ελεγκτής Ελεγκτής Ελεγκτής

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία

Διαβάστε περισσότερα

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική

Διαβάστε περισσότερα

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

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 5 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΣΥΝΟΛΙΚΗ ΔΟΜΗ ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

Διαβάστε περισσότερα

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου Γιώργος Δημητρίου Μάθημα 3 ο ΜΕΔ απλού κύκλου Συνολική Δομή ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού σκοπού Κρυφή μνήμη (ενοποιημένη ή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

Θέµατα Φεβρουαρίου Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο Γιώργος Δημητρίου Μάθημα 1 ο Δομή ενός Προσωπικού Υπολογιστή Eπεξεργαστής ΚΜΕ Κρυφή Μνήμη ΜΔΜ Μονάδα Διασύνδεσης Αρτηρίας Κύρια Μνήμη Βοηθητική Μνήμη Οθόνη Πληκτρολόγιο Προσαρμογέας Δικτύου Ελεγκτής Ελεγκτής

Διαβάστε περισσότερα

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

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής ΗΥ425 Αρχιτεκτονική Υπολογιστών Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής WB Data Imm Επεξεργαστής DLX Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory Access Write Back

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Υποθετική Εκτέλεση Εντολών

Υποθετική Εκτέλεση Εντολών Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Instruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach

Instruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism and its Dynamic Exploitation Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism (ILP) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή

Διαβάστε περισσότερα

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

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Αρης Ευθυμίου Το σημερινό μάθημα Execu9on scheduling wake- up and select specula9ve wake- up Εκτέλεση εντολών

Διαβάστε περισσότερα

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

Υπερβαθµωτή Οργάνωση Υπολογιστών Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Ανάγνωση εντολής (Instruction Fetch) Σε µία αρχιτεκτονική πλάτους s, πρέπει διαβάζονται s εντολές σε κάθε κύκλο

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

Διάλεξη 12 Καθυστερήσεις (Stalls) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data

Διαβάστε περισσότερα

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

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

Διάλεξη 11 Προώθηση (Forwarding) ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής 29 Δεκεμβρίου 2016 Δεύτερη Σειρά Ασκήσεων παράδοση: τέλος εξεταστικής Ιανουαρίου ή Σεπτεμβρίου Άσκηση 1 Θεωρήστε τη ΜΕΔ MIPS μερικά επικαλυπτόμενων εντολών που

Διαβάστε περισσότερα

CS425 Computer Systems Architecture

CS425 Computer Systems Architecture CS425 Computer Systems Architecture Fall 2017 Dynamic Instruction Scheduling: Scoreboard CS425 - Vassilis Papaefstathiou 1 DLX Processor Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory

Διαβάστε περισσότερα

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 5ο μάθημα: πρόβλεψη διακλάδωσης, διαφοροποιημένη διοχέτευση, χρονοπρογραμματισμός Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου

Διαβάστε περισσότερα

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ (1) ΓΕΝΙΚΑ ΣΧΟΛΗ ΠΟΛΥΤΕΧΝΙΚΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ CEID_NE4617 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Χειμερινό εξάμηνο ΤΙΤΛΟΣ

Διαβάστε περισσότερα

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Η/Υ Γιώργος ηµητρίου Μια Ανασκόπηση στην Οργάνωση Η/Υ Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Οργάνωση ενός Κλασικού Η/Υ Eπεξεργαστής ΚΜΕ Κρυφή Μνήµη

Διαβάστε περισσότερα

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

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 2 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Αναπαράσταση Πληροφορίας Η/Υ Αριθµητικά δεδοµένα n Σταθερής υποδιαστολής n Κινητής υποδιαστολής Μη αριθµητικά

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 6 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΕΝΤΟΛΗ ΑΠΛΟΥ ΚΥΚΛΟΥ ΜΗΧΑΝΗΣ Όλες οι φάσεις του κύκλου εντολής στον ίδιο κύκλο μηχανής: Ο χρόνος από την ανάκληση μέχρι

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 12 ο Βελτιστοποίηση Μετασχηματισμός κώδικα σε άλλον πιο αποδοτικό Ασφάλεια βελτιστοποίησης Ορθότητα μετασχηματισμών! Πολυπλοκότητα μετασχηματισμών Εντοπισμός πιθανά προβληματικού

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 2 ο Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών Βασικές Έννοιες Εντολές μηχανής

Διαβάστε περισσότερα

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;

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; Άσκηση 1 η Μέρος Α Ζητούμενο: Δίνεται το παρακάτω πρόγραμμα σε C καθώς και μια μετάφραση του σε assembly MIPS. Συμπληρώστε τα κενά. Σας υπενθυμίζουμε ότι ο καταχωρητής $0 (ή $zero) είναι πάντα μηδέν. int

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Τα 4 Είδη Των Αρχιτεκτονικών Των Σύγχρονων Η/Υ Ο Michael J. Flynn 1 το 1966 πρότεινε τον χωρισμό

Διαβάστε περισσότερα

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: Αρχιτεκτονικές Von Neuman, Harvard. Κατηγοριοποίηση κατά Flynn. Υπολογισμός απόδοσης Συστημάτων

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

Διαβάστε περισσότερα