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

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

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

Transcript

1 Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 4 Ο επεξεργαστής ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες (µετάφραση, επιµέλεια, προσθήκες: ηµήτρης Γκιζόπουλος, Πανεπιστήµιο Αθηνών)

2 Εισαγωγή Παράγοντες απόδοσης της CPU Πλήθος εντολών Καθορίζεται από την αρχιτεκτονική συνόλου εντολών και το µεταγλωττιστή CPI και Χρόνος κύκλου Καθορίζεται από το υλικό της CPU Θα εξετάσουµε δύο υλοποιήσεις του MIPS Μια απλουστευµένη έκδοση εκτέλεση όλων των εντολών σε ένα µεγάλο κύκλο ρολογιού Μια πιο ρεαλιστική έκδοση µε διοχέτευση (pipeline) Απλό υποσύνολο, δείχνει τις περισσότερες πτυχές Αναφορά µνήµης: lw, sw Αριθµητικές/λογικές: add, sub, and, or, slt Μεταφοράς ελέγχου: beq, j Κεφάλαιο 4 Ο επεξεργαστής Εισαγωγή

3 Βήµατα εκτέλεσης εντολής PC µνήµη εντολών, προσκόµιση (fetch) εντολής Program Counter: διεύθυνση εντολής που θα εκτελεστεί Αριθµοί καταχωρητών αρχείο καταχωρητών (register file), ανάγνωση καταχωρητών Ανάλογα µε τη κατηγορία της εντολής Χρήση της ALU για τον υπολογισµό Αριθµητικού αποτελέσµατος ιεύθυνσης µνήµης για εντολές load/store ιεύθυνση προορισµού διακλάδωσης Προσπέλαση µνήµης δεδοµένων για load/store Ενηµέρωση PC διεύθυνση προορισµού ή PC + 4 Κεφάλαιο 4 Ο επεξεργαστής 3

4 Επισκόπηση της CPU ξεχωριστές µνήµες Κεφάλαιο 4 Ο επεξεργαστής 4

5 Πολυπλέκτες εν µπορούµε απλώς να ενώσουµε καλώδια µαζί Χρήση πολυπλεκτών Κεφάλαιο 4 Ο επεξεργαστής 5

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

7 Βασικά λογικής σχεδίασης Η πληροφορία κωδικοποιείται δυαδικά Χαµηλή τάση = 0, Υψηλή τάση = 1 Ένα καλώδιο ανά bit εδοµένα πολλών bit κωδικοποιούνται µε διαύλους πολλών καλωδίων Συνδυαστικό στοιχείο Επενεργεί σε δεδοµένα Η έξοδος είναι συνάρτηση της εισόδου Στοιχεία κατάστασης (ακολουθιακά) Αποθηκεύουν πληροφορίες 4.2 Συµβάσεις λογικής σχεδίασης Κεφάλαιο 4 Ο επεξεργαστής 7

8 Συνδυαστικά στοιχεία Πύλη AND Y = A & B Αθροιστής Y = A + B A B + Y A B I0 I1 M u x S Y Πολυπλέκτης Y = S? I1 : I0 Y Αριθµητική/Λογική Μονάδα Y = F(A, B) A B ALU F Y Κεφάλαιο 4 Ο επεξεργαστής 8

9 Ακολουθιακά στοιχεία Καταχωρητής: αποθηκεύει δεδοµένα σε ένα κύκλωµα Χρησιµοποιεί σήµα ρολογιού για να καθορίσει πότε ενηµερώνεται η αποθηκευµένη τιµή Ακµοπυροδοτούµενη: ενηµέρωση όταν το Clk αλλάζει από 0 σε 1 D Clk Q Clk D Q Κεφάλαιο 4 Ο επεξεργαστής 9

10 Ακολουθιακά στοιχεία Καταχωρητής µε έλεγχο εγγραφής Ενηµερώνει στην ακµή του ρολογιού µόνο όταν η είσοδος ελέγχου εγγραφής είναι 1 Χρησιµοποιείται όταν η αποθηκευµένη τιµή απαιτείται αργότερα Clk D Write Clk Q Write D Q Κεφάλαιο 4 Ο επεξεργαστής 10

11 Μεθοδολογία χρονισµού Η συνδυαστική λογική µετασχηµατίζει τα δεδοµένα στη διάρκεια των κύκλων ρολογιού Μεταξύ ακµών ρολογιού Είσοδος από στοιχεία κατάστασης, έξοδος σε στοιχεία κατάστασης Η µεγαλύτερη καθυστέρηση καθορίζει την περίοδο του ρολογιού Κεφάλαιο 4 Ο επεξεργαστής 11

12 Κατασκευή διαδροµής δεδοµένων ιαδροµή δεδοµένων (datapath) Στοιχεία που επεξεργάζονται δεδοµένα και διευθύνσεις στη CPU Καταχωρητές, ALU, πολυπλέκτες, µνήµες, Θα κατασκευάσουµε µια διαδροµή δεδοµένων MIPS µε διαδοχικά βήµατα Θα κάνουµε πιο αναλυτικό το συνολικό σχέδιο 4.3 Κατασκευή διαδροµής δεδοµένων Κεφάλαιο 4 Ο επεξεργαστής 12

13 Προσκόµιση εντολής (Instruction Fetch) Ανάγνωση της εντολής από τη µνήµη εντολών καταχωρητής 32 bit Αύξηση κατά 4 για την επόµενη εντολή Κεφάλαιο 4 Ο επεξεργαστής 13

14 Εντολές µορφής R Ανάγνωση δύο τελεστέων καταχωρητών Εκτέλεση αριθµητικής/λογικής λειτουργίας Εγγραφή αποτελέσµατος σε καταχωρητή Κεφάλαιο 4 Ο επεξεργαστής 14

15 Εντολές Load/Store Ανάγνωση τελεστέων καταχωρητών Υπολογισµός διεύθυνσης µε χρήση της σχετικής απόστασης (offset) των 16 bit Χρήση της ALU, αλλά µε επέκταση προσήµου του offset Φόρτωση (Load): ανάγνωση µνήµης και ενηµέρωση καταχωρητή Αποθήκευση (Store): εγγραφής τιµής καταχωρητή στη µνήµη Κεφάλαιο 4 Ο επεξεργαστής 15

16 Εντολές διακλάδωσης (branch) Ανάγνωση τελεστέων καταχωρητών Σύγκριση τελεστέων Χρήση ALU, αφαίρεση και έλεγχος της εξόδου Zero Υπολογισµός διεύθυνσης προορισµού Επέκταση προσήµου της µετατόπισης (displacement) Αριστερή ολίσθηση κατά 2 θέσεις (µετατόπιση λέξης) Πρόσθεση στο PC + 4 Έχει ήδη υπολογιστεί από την προσκόµιση εντολής Κεφάλαιο 4 Ο επεξεργαστής 16

17 Εντολές διακλάδωσης Απλώς επαναδροµολογεί τις εγγραφές Επαναλαµβάνεται το καλώδιο του bit προσήµου Κεφάλαιο 4 Ο επεξεργαστής 17

18 ηµιουργία των στοιχείων Μια πρώτη διαδροµή δεδοµένων (data path) εκτελεί µία εντολή σε έναν κύκλο ρολογιού Κάθε στοιχείο της διαδροµής δεδοµένων κάνει µόνο µία συνάρτηση κάθε φορά Έτσι, χρειαζόµαστε ξεχωριστές µνήµες εντολών και δεδοµένων Χρήση πολυπλεκτών όταν χρησιµοποιούνται διαφορετικές προελεύσεις δεδοµένων σε διαφορετικές εντολές Κεφάλαιο 4 Ο επεξεργαστής 18

19 ιαδροµή δεδοµένων για Τύπο R/Load/Store Κεφάλαιο 4 Ο επεξεργαστής 19

20 Πλήρης διαδροµή δεδοµένων Κεφάλαιο 4 Ο επεξεργαστής 20

21 Έλεγχος ALU Η ALU χρησιµοποιείται για Load/Store: λειτουργία = add Branch: λειτουργία = subtract Τύπου R: λειτουργία εξαρτάται από το πεδίο funct Έλεγχος ALU Λειτουργία 0000 AND 0001 OR 0010 add 0110 subtract 0111 set-on-less-than 1100 NOR 4.4 Μια απλή µέθοδος υλοποίησης Κεφάλαιο 4 Ο επεξεργαστής 21

22 Έλεγχος ALU Υποθέτουµε ότι ένα πεδίο 2 bit ALUOp εξάγεται από το opcode Συνδυαστική λογική εξάγει τον έλεγχο της ALU opcode ALUOp Λειτουργία funct ALU function ALU control lw 00 load word XXXXXX add 0010 sw 00 store word XXXXXX add 0010 beq 01 branch equal XXXXXX subtract 0110 R-type 10 add add 0010 subtract subtract 0110 AND AND 0000 OR OR 0001 set-on-less-than set-on-less-than 0111 Κεφάλαιο 4 Ο επεξεργαστής 22

23 Η κύρια µονάδα ελέγχου Σήµατα ελέγχου που εξάγονται από εντολή Τύπου R Load/ Store Branch 0 rs rt rd shamt funct 31:26 25:21 20:16 15:11 10:6 5:0 35 or 43 rs rt address 31:26 25:21 20:16 15:0 4 rs rt address 31:26 25:21 20:16 15:0 opcode πάντα ανάγνωση ανάγνωση, εκτός από τη load εγγραφή για τύπου R και load επέκταση προσήµου και πρόσθεση Κεφάλαιο 4 Ο επεξεργαστής 23

24 ιαδροµή δεδοµένων και έλεγχος Κεφάλαιο 4 Ο επεξεργαστής 24

25 Εντολή τύπου R Κεφάλαιο 4 Ο επεξεργαστής 25

26 Εντολή Load Κεφάλαιο 4 Ο επεξεργαστής 26

27 Εντολή Branch-on-Equal Κεφάλαιο 4 Ο επεξεργαστής 27

28 Υλοποίηση αλµάτων Jump 2 address Η Jump χρησιµοποιεί διεύθυνση λέξης Ενηµέρωση του PC µε συνένωση των Υψηλότερων 4 bit του παλιού PC ιεύθυνσης άλµατος των 26 bit 00 31:26 25:0 Χρειάζεται ένα επιπλέον σήµα ελέγχου από την αποκωδικοποίηση του opcode Κεφάλαιο 4 Ο επεξεργαστής 28

29 ιαδροµή δεδ. µε προσθήκη αλµάτων Κεφάλαιο 4 Ο επεξεργαστής 29

30 Ζητήµατα απόδοσης Η µεγαλύτερη καθυστέρηση καθορίζει την περίοδο ρολογιού Κρίσιµη διαδροµή (critical path): εντολή load Μνήµη εντολών αρχείο καταχωρητών ALU µνήµη δεδοµένων αρχείο καταχωρητών εν είναι εφικτή διαφορετική περίοδος για διαφορετικές εντολές Παραβιάζει τη σχεδιαστική αρχή Κάνε τη συνηθισµένη περίπτωση γρήγορη Θα βελτιώσουµε την απόδοση µε τη διοχέτευση (pipelining) Κεφάλαιο 4 Ο επεξεργαστής 30

31 Αναλογία διοχέτευσης Μπουγάδα µε διοχέτευση: επικάλυψη εκτέλεσης Η παραλληλία βελτιώνει την απόδοση Τέσσερα φορτία: Επιτάχυνση = 8/3.5 = 2.3 Ασταµάτητα: Κεφάλαιο 4 Ο επεξεργαστής Γενικά για τη διοχέτευση Επιτάχυνση = 2n/(0.5n + 1.5) 4 = αριθµός σταδίων

32 ιοχέτευση του MIPS Πέντε στάδια (stages), ένα βήµα σε κάθε στάδιο 1. IF: Instruction fetch from memory (προσκόµιση εντολής από τη µνήµη) 2. ID: Instruction decode & register read (αποκωδικοποίηση εντολής & ανάγνωση καταχωρητών) 3. EX: Execute operation or calculate address (εκτέλεση λειτουργίας ή υπολογισµός δ/νσης) 4. MEM: Access memory operand (προσπέλαση τελεστέου µνήµης) 5. WB: Write result back to register (επανεγγραφή αποτελέσµατος σε καταχωρητή) Κεφάλαιο 4 Ο επεξεργαστής 32

33 Απόδοση διοχέτευσης Υποθέστε ότι ο χρόνος των σταδίων είναι 100ps για ανάγνωση ή εγγραφή καταχωρητή 200ps για τα άλλα στάδια Σύγκριση της διαδροµής δεδοµένων µε διοχέτευση µε τη διαδροµή δεδοµένων ενός κύκλου Εντολή Instr fetch Register read ALU op Memory access Register write Συνολικός χρόνος lw 200ps 100 ps 200ps 200ps 100 ps 800ps sw 200ps 100 ps 200ps 200ps 700ps R-format 200ps 100 ps 200ps 100 ps 600ps beq 200ps 100 ps 200ps 500ps Κεφάλαιο 4 Ο επεξεργαστής 33

34 Απόδοση διοχέτευσης Ενός κύκλου (T c = 800ps) Με διοχέτευση (T c = 200ps) Κεφάλαιο 4 Ο επεξεργαστής 34

35 Επιτάχυνση λόγω διοχέτευσης Αν είναι ισορροπηµένα όλα τα στάδια ηλαδή, όλα διαρκούν τον ίδιο χρόνο Χρόνος µεταξύ εντολών µε διοχέτευση = Χρόνος µεταξύ εντολών χωρίς διοχέτευση Αριθµός σταδίων Αν δεν είναι ισορροπηµένα, η επιτάχυνση είναι µικρότερη Επιτάχυνση λόγω αυξηµένης διεκπεραιωτικής ικανότητας (throughput) Λανθάνων χρόνος latency (χρόνος για κάθε εντολή) δε µειώνεται Κεφάλαιο 4 Ο επεξεργαστής 35

36 Παράδειγµα Σύγκριση Πρόγραµµα µε 10% loads, 15% stores, 55% R-type, 20% διακλαδώσεις Πλήθος εντολών 10 9 Με δεδοµένους τους λανθάνοντες χρόνους που είδαµε Βρείτε το χρόνο εκτέλεσης για: ιαδροµή δεδοµένων 1 κύκλου ιαδροµή δεδοµένων πολλών κύκλων ιαδροµή δεδοµένων µε ιδανική διοχέτευση Χωρίς καθυστερήσεις Κεφάλαιο 4 Ο επεξεργαστής 36

37 Απάντηση ιαδροµή δεδοµένων 1 κύκλου Η περίοδος του ρολογιού είναι 800 ps Χρόνος εκτέλεσης = Ι x CPI x Χρόνος κύκλου = 10 9 x 1 x 800 x = 0,80 sec ιαδροµή δεδοµένων πολλών κύκλων Περίοδος ρολογιού 200 ps CPI = 0,10 x 5 + 0,15 x 4 + 0,55 x 4 + 0,20 x 3 = 3,9 Χρόνος εκτέλεσης = Ι x CPI x Χρόνος κύκλου = 10 9 x 3,9 x 200 x = 0,78 sec ιαδροµή δεδοµένων µε ιδανική διοχέτευση Χωρίς καθυστερήσεις Χρόνος εκτέλεσης = Ι x CPI x Χρόνος κύκλου = 10 9 x 1 x 200 x = 0,20 sec Κεφάλαιο 4 Ο επεξεργαστής 37

38 ιοχέτευση και σχεδίαση συνόλου εντολών Το σύνολο εντολών του MIPS είναι σχεδιασµένο για διοχέτευση Όλες οι εντολές είναι των 32 bit Ευκολότερη προσκόµιση και αποκωδικοποίηση σε έναν κύκλο σύγκριση µε x86: εντολές 1 έως 17 byte Λίγες και κανονικές µορφές εντολών Μπορεί να αποκωδικοποιήσει και να διαβάσει καταχωρητές σε ένα βήµα ιευθυνσιοδότηση Load/store Μπορεί να υπολογίσει τη δ/νση στο τρίτο στάδιο, και να προσπελάσει τη µνήµη στο τέταρτο στάδιο Ευθυγράµµιση των τελεστέων µνήµης Προσπέλαση µνήµης διαρκεί µόνο έναν κύκλο Κεφάλαιο 4 Ο επεξεργαστής 38

39 Κίνδυνοι (hazards) Καταστάσεις που αποτρέπουν την εκκίνηση της επόµενης εντολής στον επόµενη κύκλο Κίνδυνος δοµής (structure hazards) Ένας απαιτούµενος πόρος είναι απασχοληµένος Κίνδυνος δεδοµένων (data hazard) Πρέπει να περιµένει την προηγούµενη εντολή να ολοκληρώσει την ανάγνωση/εγγραφή δεδοµένων της Κίνδυνος ελέγχου (control hazard) Η απόφαση σε µια ενέργεια ελέγχου εξαρτάται από προηγούµενη εντολή Κεφάλαιο 4 Ο επεξεργαστής 39

40 Κίνδυνοι δοµής ιένεξη στη χρήση ενός πόρου Στη διοχέτευση του MIPS µε µία µοναδική µνήµη Οι εντολές load/store απαιτούν προσπέλαση µνήµης Η προσκόµιση εντολής πρέπει να καθυστερήσει (stall) σε εκείνο το κύκλο Θα προκαλούσε «φυσαλίδα» της διοχέτευσης (pipeline bubble ) Έτσι, οι διαδροµές δεδοµένων µε διοχέτευση απαιτούν ξεχωριστές µνήµες εντολών/δεδοµένων Ή ξεχωριστές κρυφές µνήµες (cache memories) εντολών/δεδοµένων Κεφάλαιο 4 Ο επεξεργαστής 40

41 Κίνδυνοι δεδοµένων Μια εντολή εξαρτάται από την ολοκλήρωση µιας προσπέλασης δεδοµένων µιας προηγούµενης εντολής add $s0, $t0, $t1 sub $t2, $s0, $t3 Κεφάλαιο 4 Ο επεξεργαστής 41

42 Προώθηση (Forwarding) Λέγεται επίσης Παράκαµψη (Bypassing) Χρήση του αποτελέσµατός όταν δηµιουργηθεί Μην περιµένεις να αποθηκευτεί σε καταχωρητή Απαιτεί επιπλέον συνδέσεις στη διαδροµή δεδοµένων Κεφάλαιο 4 Ο επεξεργαστής 42

43 Κίνδυνος δεδοµένων Φόρτωσης/Χρήσης Φόρτωση/Χρήση (Load/Use) εν µπορούµε να αποφύγουµε πάντα τις καθυστερήσεις µε την προώθηση Αν η τιµή δεν έχει υπολογιστεί όταν χρειάζεται εν µπορεί να γίνει προώθηση προς τα πίσω στο χρόνο! Κεφάλαιο 4 Ο επεξεργαστής 43

44 Χρονοπρογρ/µός κώδικα για αποφυγή καθυστερήσεων Αναδιάταξη κώδικα για αποφυγή χρήσης του αποτελέσµατος της load στην επόµενη εντολή Κώδικας C για τοa = B + E; C = B + F; καθυστέρηση καθυστέρηση lw $t1, 0($t0) lw $t2, 4($t0) add $t3, $t1, $t2 sw $t3, 12($t0) lw $t4, 8($t0) add $t5, $t1, $t4 sw $t5, 16($t0) 13 κύκλοι lw $t1, 0($t0) lw $t2, 4($t0) lw $t4, 8($t0) add $t3, $t1, $t2 sw $t3, 12($t0) add $t5, $t1, $t4 sw $t5, 16($t0) 11 κύκλοι Κεφάλαιο 4 Ο επεξεργαστής 44

45 Κίνδυνοι ελέγχου Η διακλάδωση καθορίζει τη ροή του ελέγχου (flow of control) Η προσκόµιση της επόµενης εντολής εξαρτάται από το αποτέλεσµα της διακλάδωσης Η διοχέτευση δεν µπορεί να προσκοµίσει πάντα τη σωστή εντολή Ακόµη δουλεύει στο στάδιο ID της διακλάδωσης Στη διοχέτευση του MIPS Πρέπει να συγκρίνει καταχωρητές και να υπολογίσει τη δ/νση προορισµού νωρίς στη διοχέτευση Προσθήκη υλικού για να γίνουν στο στάδιο ID Κεφάλαιο 4 Ο επεξεργαστής 45

46 Καθυστέρηση σε διακλάδωση Stall on branch Περίµενε µέχρι να καθοριστεί το αποτέλεσµα της διακλάδωσης πριν προσκοµίσεις την επόµενη εντολή Κεφάλαιο 4 Ο επεξεργαστής 46

47 Πρόβλεψη διακλάδωσης Branch prediction Οι µεγαλύτερες διοχετεύσεις δεν µπορούν να καθορίσουν σύντοµα το αποτέλεσµα της διακλάδωσης Η ποινή καθυστέρησης (stall penalty) γίνεται υπερβολικά µεγάλη Πρόβλεψη (predict) του αποτελέσµατος της διακλάδωσης Καθυστέρηση µόνο αν η πρόβλεψη είναι λανθασµένη Στη διοχέτευση του MIPS Μπορεί να γίνει πρόβλεψη µη λήψης της διακλάδωσης (predict not taken) Προσκόµιση της εντολής µετά τη διακλάδωση, χωρίς καθόλου καθυστέρηση Κεφάλαιο 4 Ο επεξεργαστής 47

48 MIPS µε πρόβλεψη µη λήψης Σωστή πρόβλεψη Λανθασµένη πρόβλεψη Κεφάλαιο 4 Ο επεξεργαστής 48

49 Πιο ρεαλιστική πρόβλεψη διακλάδωσης Στατική πρόβλεψη διακλάδωσης Βασίζεται στην τυπική συµπεριφορά των διακλαδώσεων Παράδειγµα: διακλαδώσεις σε βρόχους και εντολές if Πρόβλεψη διακλαδώσεων προς τα πίσω (backward branches) ως λαµβανόµενες Πρόβλεψη διακλαδώσεων προς τα εµπρός (forward branches) ως µη λαµβανόµενες υναµική πρόβλεψη διακλάδωσης Το υλικό µετράει τη πραγµατική συµπεριφορά διακλαδώσεων π.χ., καταγράφει την πρόσφατη ιστορία κάθε διακλάδωσης Υποθέτει ότι η µελλοντική συµπεριφορά θα συνεχίσει την τάση Σε περίπτωση λάθους, γίνεται καθυστέρηση κατά την επαναπροσκόµιση, και ενηµέρωση του ιστορικού Κεφάλαιο 4 Ο επεξεργαστής 49

50 «Καθυστερηµένες» διακλαδώσεις Καθυστερηµένες διακλαδώσεις [delayed branches] Ιδέα: καθυστέρησε να πάρεις απόφαση για µια διακλάδωση Αυτό υλοποιεί ο MIPS Μια «καθυστερηµένη» διακλάδωση εκτελεί πάντα την επόµενη της εντολή εν ελέγχει την «ορθότητα» αυτής της επιλογής Πρέπει η επόµενη εντολή να κάνει «άσχετο» µε τη διακλάδωση έργο Στο προηγούµενο παράδειγµα, η add $4, $5, $6 µπορεί να µεταφερθεί µετά τη beq εν θα αλλάξει τίποτε και θα αποφευχθεί ο 1 κύκλος καθυστέρησης Αυτό το κάνουν οι µεταγλωττιστές Κεφάλαιο 4 Ο επεξεργαστής 50

51 Περίληψη διοχέτευσης ΓΕΝΙΚΗ εικόνα Η διοχέτευση βελτιώνει την απόδοση µε την αύξηση της διεκπεραιωτικής ικανότητας σε εντολές Εκτελεί πολλές εντολές παράλληλα Κάθε εντολή έχει τον ίδιο λανθάνοντα χρόνο Υπόκειται σε κινδύνους οµής, δεδοµένων, ελέγχου Η σχεδίαση του συνόλου εντολών επιδρά στην πολυπλοκότητα της υλοποίησης της διοχέτευσης Κεφάλαιο 4 Ο επεξεργαστής 51

52 Στάδια της διοχέτευσης 1. IF: Instruction fetch from memory (προσκόµιση εντολής από τη µνήµη) 2. ID: Instruction decode & register read (αποκωδικοποίηση εντολής & ανάγνωση καταχωρητών) 3. EX: Execute operation or calculate address (εκτέλεση λειτουργίας ή υπολογισµός δ/νσης) 4. MEM: Access memory operand (προσπέλαση τελεστέου µνήµης) 5. WB: Write result back to register (επανεγγραφή αποτελέσµατος σε καταχωρητή) Κεφάλαιο 4 Ο επεξεργαστής ιαδροµή δεδοµένων και έλεγχος µε διοχέτευση

53 ιαδροµή δεδοµένων MIPS µε διοχέτευση IF ID EX MEM WB MEM Ροή από δεξιά προς αριστερά οδηγεί σε κινδύνους (hazards) WB Κεφάλαιο 4 Ο επεξεργαστής 53

54 Καταχωρητές διοχέτευσης Χρειάζονται καταχωρητές ανάµεσα στα στάδια Για να κρατήσουν πληροφορίες που παράγονται στον προηγούµενο κύκλο IF/ID ID/ΕΧ ΕΧ/ΜΕΜ ΜΕΜ/WB Κεφάλαιο 4 Ο επεξεργαστής 54

55 Λειτουργία διοχέτευσης Ανά κύκλο ροή των εντολών µέσα από τη διαδροµή δεδοµένων µε διοχέτευση ύο τρόποι αναπαράστασης: ιάγραµµα διοχέτευσης «ενός κύκλου ρολογιού» ( single-clock-cycle ) είχνει τη χρήση της διοχέτευσης σε ένα µόνο κύκλο Τονίζει τους πόρους που χρησιµοποιούνται Σύγκριση µε διάγραµµα «πολλών κύκλων ρολογιού» ( multi-clock-cycle ) Γράφηµα της λειτουργίας στο χρόνο Θα δούµε διαγράµµατα «ενός κύκλου ρολογιού» για εντολές load και store Κεφάλαιο 4 Ο επεξεργαστής 55

56 Στάδιο IF για Load, Store, Κεφάλαιο 4 Ο επεξεργαστής 56

57 Στάδιο ID για Load, Store, Κεφάλαιο 4 Ο επεξεργαστής 57

58 Στάδιο EX για Load Κεφάλαιο 4 Ο επεξεργαστής 58

59 Στάδιο MEM για Load Κεφάλαιο 4 Ο επεξεργαστής 59

60 Στάδιο WB για Load Λάθος αριθµός καταχωρητή Κεφάλαιο 4 Ο επεξεργαστής 60

61 ιορθωµένη διαδροµή Load Κεφάλαιο 4 Ο επεξεργαστής 61

62 Χρήση διαδροµής από τη Load Κεφάλαιο 4 Ο επεξεργαστής 62

63 Στάδιο EX για Store Κεφάλαιο 4 Ο επεξεργαστής 63

64 Στάδιο MEM για Store Κεφάλαιο 4 Ο επεξεργαστής 64

65 Στάδιο WB για Store Κεφάλαιο 4 Ο επεξεργαστής 65

66 ιάγραµµα πολλών κύκλων Μορφή που δείχνει τη χρήση των πόρων Κεφάλαιο 4 Ο επεξεργαστής 66

67 ιάγραµµα διοχέτευσης πολλών κύκλων Παραδοσιακή µορφή Κεφάλαιο 4 Ο επεξεργαστής 67

68 ιάγραµµα διοχέτευσης ενός κύκλου Κατάσταση της διοχέτευσης σε δεδοµένο κύκλο Κεφάλαιο 4 Ο επεξεργαστής 68

69 Έλεγχος διοχέτευσης (απλουσ.) Κεφάλαιο 4 Ο επεξεργαστής 69

70 Πίνακας αληθείας ελέγχου Κωδικός λειτουργίας εντολής (opcode) ALUOp Λειτουργία εντολής Πεδίο funct Επιθυµητή ενέργεια ALU Είσοδος ελέγχου ALU LW 00 load word XXXXXX add 0010 SW 00 store word XXXXXX add 0010 Branch equal 01 branch equal XXXXXX subtract 0110 Τύπου R 10 add add 0010 Τύπου R 10 subtract subtract 0110 Τύπου R 10 AND AND 0000 Τύπου R 10 OR OR 0001 Τύπου R 10 set on less than set on less than 0111 Κεφάλαιο 4 Ο επεξεργαστής 70

71 Ερµηνεία σηµάτων ελέγχου Όνοµα σήµατος RegDst Αποτέλεσµα όταν είναι απενεργοποιηµένο (0) Ο αριθµός καταχωρητή προορισµού για τον Καταχωρητή εγγραφής προέρχεται από το πεδίο rt (bit 20:16). Αποτέλεσµα όταν είναι ενεργοποιηµένο (1) Ο αριθµός καταχωρητή προορισµού για τον Καταχωρητή εγγραφής προέρχεται από το πεδίο rd (bit 15:11). RegWrite Κανένα. Στον καταχωρητή στην είσοδο Καταχωρητή εγγραφής γράφεται η τιµή που περιέχεται στην είσοδο εδοµένων εγγραφής. ALUSrc PCSrc Ο δεύτερος τελεστέος της ALU προέρχεται από τη δεύτερη έξοδο του αρχείου καταχωρητών ( εδοµένα ανάγνωσης 2). Ο PC αντικαθίσταται από την έξοδο του αθροιστή που υπολογίζει την τιµή PC + 4. Ο δεύτερος τελεστέος της ALU είναι τα κατώτερα 16 bit της εντολής αφού υποστούν επέκταση προσήµου. Ο PC αντικαθίσταται από την έξοδο του αθροιστή που υπολογίζει τον προορισµό τής διακλάδωσης. MemRead Κανένα. Τα περιεχόµενα της µνήµης δεδοµένων που καθορίζονται από την είσοδο ιεύθυνσης τοποθετούνται στην έξοδο εδοµένων ανάγνωσης. MemWrite Κανένα. Τα περιεχόµενα της µνήµης δεδοµένων που καθορίζονται από την είσοδο ιεύθυνσης αντικαθίστανται από την τιµή στην είσοδο εδοµένων εγγραφής. MemtoReg Η τιµή που παρέχεται στην είσοδο εδοµένων εγγραφής των καταχωρητών προέρχεται από την ALU. Η τιµή που παρέχεται στην είσοδο εδοµένων εγγραφής των καταχωρητών προέρχεται από τη µνήµη δεδοµένων. Κεφάλαιο 4 Ο επεξεργαστής 71

72 Σήµατα ανά στάδιο Γραµµές ελέγχου σταδίου Εκτέλεσης/υπολογισµού διεύθυνσης (EX) Γραµµές ελέγχου σταδίου Προσπέλασης µνήµης (MEM) Γραµµές ελέγχου σταδίου Επανεγγραφής (WB) Εντολή RegDst ALU Op1 ALU Op0 ALUSrc Branch Mem Read Mem Write RegWrite Memto Reg Μορφή R lw sw X X beq X X Κεφάλαιο 4 Ο επεξεργαστής 72

73 Έλεγχος διοχέτευσης Σήµατα ελέγχου εξάγονται από την εντολή Όπως και στην υλοποίηση ενός κύκλου Κεφάλαιο 4 Ο επεξεργαστής 73

74 Έλεγχος διοχέτευσης Κεφάλαιο 4 Ο επεξεργαστής 74

75 Κίνδυνοι δεδοµένων σε εντολές ALU Θεωρήστε την ακολουθία: sub $2, $1,$3 and $12,$2,$5 or $13,$6,$2 add $14,$2,$2 sw $15,100($2) Μπορούµε να επιλύσουµε τους κινδύνους µε προώθηση (forwarding) Πώς ανιχνεύουµε πότε πρέπει να γίνει προώθηση; 4.7 Κίνδυνοι δεδοµένων: προώθηση και καθυστέρηση Κεφάλαιο 4 Ο επεξεργαστής 75

76 Εξαρτήσεις και προώθηση Κεφάλαιο 4 Ο επεξεργαστής 76

77 Ανίχνευση ανάγκης για προώθηση Μεταβίβαση αριθµών καταχωρητών µέσα στη διοχέτευση π.χ., ID/EX.RegisterRs = αριθµός καταχωρητή για το Rs που βρίσκεται στον καταχωρητή διοχέτευσης ID/EX Οι αριθµοί καταχωρητών των τελεστέων της ALU στο στάδιο EX δίνονται από τα ID/EX.RegisterRs, ID/EX.RegisterRt Κίνδυνοι δεδοµένων όταν 1α. EX/MEM.RegisterRd = ID/EX.RegisterRs 1β. EX/MEM.RegisterRd = ID/EX.RegisterRt 2α. MEM/WB.RegisterRd = ID/EX.RegisterRs 2β. MEM/WB.RegisterRd = ID/EX.RegisterRt Προωθ. από EX/MEM καταχ. διοχ. Προώθ. από MEM/WB καταχ. διοχ. Κεφάλαιο 4 Ο επεξεργαστής 77

78 Ανίχνευση ανάγκης για προώθηση Αλλά µόνο αν η εντολή που προωθεί πρόκειται να γράψει σε κάποιο καταχωρητή! EX/MEM.RegWrite, MEM/WB.RegWrite Και µόνο αν το Rd της εντολής δεν είναι ο καταχωρητής $zero! EX/MEM.RegisterRd 0, MEM/WB.RegisterRd 0 Κεφάλαιο 4 Ο επεξεργαστής 78

79 Χωρίς προώθηση Κεφάλαιο 4 Ο επεξεργαστής 79

80 ιαδροµές προώθησης Κεφάλαιο 4 Ο επεξεργαστής 80

81 Συνθήκες προώθησης Κίνδυνος στο στάδιο EX if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA = 10 if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) ForwardB = 10 Κίνδυνος στο στάδιο MEM if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = 01 if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = 01 Κεφάλαιο 4 Ο επεξεργαστής 81

82 Έλεγχος προώθησης Έλεγχος πολυπλέκτη Προέλευση Ερµηνεία ForwardA = 00 ID/EX Ο πρώτος τελεστέος της ALU προέρχεται από το αρχείο καταχωρητών. 1 ForwardA = 10 EX/MEM Ο πρώτος τελεστέος της ALU προωθείται από το προηγούµενο αποτέλεσµα της ALU. ForwardA = 01 MEM/WB Ο πρώτος τελεστέος της ALU προωθείται από τη µνήµη δεδοµένων ή από ένα προηγούµενο αποτέλεσµα της ALU. ForwardΒ = 00 ID/EX Ο δεύτερος τελεστέος της ALU προέρχεται από το αρχείο καταχωρητών. ForwardΒ = 10 EX/MEM Ο δεύτερος τελεστέος της ALU προωθείται από το προηγούµενο αποτέλεσµα της ALU. ForwardΒ = 01 MEM/WB Ο δεύτερος τελεστέος της ALU προωθείται από τη µνήµη δεδοµένων ή από ένα προηγούµενο αποτέλεσµα της ALU Κεφάλαιο 4 Ο επεξεργαστής 82

83 ιπλός κίνδυνος δεδοµένων Θεωρήστε την ακολουθία: add $1,$1,$2 add $1,$1,$3 add $1,$1,$4 Συµβαίνουν και οι δύο κίνδυνοι Θέλουµε να χρησιµοποιήσουµε τον πιο πρόσφατο Αναθεώρηση της συνθήκης προώθησης του MEM Προώθηση µόνο αν η συνθήκη κινδύνου του σταδίου EX δεν είναι αληθής Κεφάλαιο 4 Ο επεξεργαστής 83

84 Αναθεωρηµένη συνθήκη προώθησης Κίνδυνος στο στάδιο MEM if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = 01 if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = 01 Κεφάλαιο 4 Ο επεξεργαστής 84

85 ιαδροµή δεδοµένων µε προώθηση Κεφάλαιο 4 Ο επεξεργαστής 85

86 ιαδοχικές lw & sw lw $t7,0($sp) Πρέπει να προστεθεί προώθηση από το MEM στο MEM sw $t7,0($s6) Εδώ τι γίνεται; Κεφάλαιο 4 Ο επεξεργαστής 86

87 Προώθηση immediate πεδίου Άλλος ένας πολυπλέκτης Κεφάλαιο 4 Ο επεξεργαστής 87

88 Κίνδυνος δεδοµένων φόρτωσης-χρήσης Απαιτείται καθυστέρηση για έναν κύκλο Κεφάλαιο 4 Ο επεξεργαστής 88

89 Ανίχνευση κινδύνου φόρτωσης-χρήσης Έλεγχος όταν η εντολή που κάνει τη χρήση αποκωδικοποιείται στο στάδιο ID Οι αριθµοί των καταχωρητών τελεστέων της ALU στο στάδιο ID δίνονται από τα IF/ID.RegisterRs, IF/ID.RegisterRt Κίνδυνος φόρτωσης-χρήσης όταν ID/EX.MemRead and ((ID/EX.RegisterRt = IF/ID.RegisterRs) or (ID/EX.RegisterRt = IF/ID.RegisterRt)) Αν ανιχνευθεί, γίνεται καθυστέρηση της διοχέτευσης και εισάγεται φυσαλίδα Κεφάλαιο 4 Ο επεξεργαστής 89

90 Πώς καθυστερεί η διοχέτευση Οι τιµές ελέγχου στον καταχωρητή ID/EX γίνονται 0 Τα EX, MEM και WB εκτελούν nop (no-operation, απραξία) Αποτρέπεται η ενηµέρωση του PC και του καταχωρητή IF/ID Η εντολή που κάνει τη χρήση αποκωδικοποιείται και πάλι Η επόµενη εντολή προσκοµίζεται και πάλι Η καθυστέρηση 1 κύκλου επιτρέπει στο MEM να διαβάσει τα δεδοµένα για την εντολή lw Μπορεί στη συνέχεια να κάνει προώθηση στο στάδιο EX Κεφάλαιο 4 Ο επεξεργαστής 90

91 Καθυστέρηση/φυσαλίδα στη διοχέτευση Η καθυστέρηση εισάγεται εδώ Κεφάλαιο 4 Ο επεξεργαστής 91

92 Καθυστέρηση/φυσαλίδα στη διοχέτευση καθυστερεί στο ID καθυστερεί στο IF Ή, για την ακρίβεια Κεφάλαιο 4 Ο επεξεργαστής 92

93 ιαδροµή δεδοµένων µε ανίχνευση κινδύνων Κεφάλαιο 4 Ο επεξεργαστής 93

94 Μεγάλο παράδειγµα Θα δούµε την εκτέλεση του κώδικα: lw $2, 20($1) and $4, $2, $5 or $4, $4, $2 add $9, $4, $2 Σε διαδοχικά διαγράµµατα Κεφάλαιο 4 Ο επεξεργαστής 94

95 Κύκλος 2 Κεφάλαιο 4 Ο επεξεργαστής 95

96 Κύκλος 3 Κεφάλαιο 4 Ο επεξεργαστής 96

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

98 Κύκλος 5 Κεφάλαιο 4 Ο επεξεργαστής 98

99 Κύκλος 6 Κεφάλαιο 4 Ο επεξεργαστής 99

100 Κύκλος 7 Κεφάλαιο 4 Ο επεξεργαστής 100

101 Καθυστερήσεις και απόδοση ΓΕΝΙΚΗ εικόνα Οι καθυστερήσεις µειώνουν την απόδοση Αλλά είναι απαραίτητες για να πάρουµε σωστά αποτελέσµατα Ο µεταγλωττιστής µπορεί να αναδιατάξει τον κώδικα για να αποφευχθούν οι κίνδυνοι και οι καθυστερήσεις Απαιτεί γνώση της δοµής της διοχέτευσης Κεφάλαιο 4 Ο επεξεργαστής 101

102 Κίνδυνοι διακλάδωσης Αν το αποτέλεσµα της διακλάδωσης καθορίζεται στο MEM Ποινή διακλάδωσης (branch penalty) = 3 κύκλοι 4.8 Κίνδυνοι ελέγχου Εκκένωση αυτών των εντολών (τιµές ελέγχου στο 0) PC Κεφάλαιο 4 Ο επεξεργαστής 102

103 Μείωση καθυστέρησης διακλάδωσης Μεταφορά υλικού για προσδιορισµό αποτελέσµατος στο στάδιο ID Αθροιστής διεύθυνσης προορισµού Εφικτό στο στάδιο ID Συγκριτής καταχωρητών Επίσης εφικτό στο στάδιο ID Παράδειγµα: λαµβανόµενη διακλάδωση 36: sub $10, $4, $8 40: beq $1, $3, 7 44: and $12, $2, $5 48: or $13, $2, $6 52: add $14, $4, $2 56: slt $15, $6, $ : lw $4, 50($7) προορισµός = *4 = 72 Κεφάλαιο 4 Ο επεξεργαστής 103

104 Παράδειγµα: λαµβανόµενη διακλάδωση Κεφάλαιο 4 Ο επεξεργαστής 104

105 Παράδειγµα: λαµβανόµενη διακλάδωση Κεφάλαιο 4 Ο επεξεργαστής 105

106 Κίνδυνοι δεδοµένων για διακλαδώσεις (1) Αν ένας καταχωρητής σύγκρισης στη διακλάδωση είναι προορισµός εντολής ALU που προηγείται κατά 2 ή 3 θέσεις; Υπάρχει κίνδυνος; add $1, $2, $3 IF ID EX MEM WB add $4, $5, $6 IF ID EX MEM WB IF ID EX MEM WB beq $1, $4, target IF ID EX MEM WB Ναι, και µπορεί να λυθεί µε προώθηση Προσθέτουµε νέες διαδροµές προώθησης (από το ΕΧ και το ΜΕΜ προς το συγκριτή του σταδίου ID Κεφάλαιο 4 Ο επεξεργαστής 106

107 Κίνδυνοι δεδοµένων για διακλαδώσεις (2) Αν ένας καταχωρητής σύγκρισης είναι προορισµός εντολής ALU που προηγείται αµέσως ή εντολής φόρτωσης που προηγείται κατά 2 θέσεις. Υπάρχει κίνδυνος; Ναι, και χρειάζεται 1 κύκλος καθυστέρησης για να γίνει προώθηση από το MEM και το EX στο ID lw $1, addr IF ID EX MEM WB add $4, $5, $6 IF ID EX MEM WB beq stalled IF ID beq $1, $4, target ID EX MEM WB Κεφάλαιο 4 Ο επεξεργαστής 107

108 Κίνδυνοι δεδοµένων για διακλαδώσεις (3) Αν ένας καταχωρητής σύγκρισης είναι προορισµός µιας εντολής φόρτωσης που προηγείται αµέσως. Υπάρχει κίνδυνος; Ναι, και χρειάζονται 2 κύκλοι καθυστέρησης για να γίνει προώθηση lw $1, addr IF ID EX MEM WB beq stalled IF ID beq stalled ID beq $1, $0, target ID EX MEM WB Κεφάλαιο 4 Ο επεξεργαστής 108

109 υναµική πρόβλεψη διακλάδωσης Σε µεγάλες και υπερβαθµωτές διοχετεύσεις, η ποινή διακλάδωσης (branch penalty) είναι πιο σηµαντική Χρήση δυναµικής πρόβλεψης Προσωρινή µνήµη πρόβλεψης διακλάδωσης (branch prediction buffer), που λέγεται και πίνακας ιστορικού διακλάδωσης (branch history table) του 1 bit εικτοδοτείται από τις διευθύνσεις της πρόσφατης εντολής διακλάδωσης Αποθηκεύει το αποτέλεσµα (λήψη/µη λήψη) Για εκτέλεση µιας διακλάδωσης Έλεγχος του πίνακα, υπόθεση του ίδιου αποτελέσµατος Εκκίνηση προσκόµισης από την επόµενη ή τον προορισµό Αν λάθος, εκκένωση διοχέτευσης και αντιστροφή πρόβλεψης Κεφάλαιο 4 Ο επεξεργαστής 109

110 ιάταξη πρόβλεψης 1 bit: µειονέκτηµα Οι διακλαδώσεις του εσωτερικού βρόχου προβλέπονται λανθασµένα δύο φορές outer: inner: beq,, inner beq,, outer Λανθασµένη πρόβλεψη λήψης στην τελευταία επανάληψη του εσωτερικού βρόχου Έπειτα, λανθασµένη πρόβλεψη µη λήψης στην πρώτη επανάληψη του εσωτερικού βρόχου την επόµενη φορά που θα εκτελεστεί Κεφάλαιο 4 Ο επεξεργαστής 110

111 ιάταξη πρόβλεψης των 2 bit Αλλάζει η πρόβλεψη µόνο µετά από δύο διαδοχικές λανθασµένες προβλέψεις Κεφάλαιο 4 Ο επεξεργαστής 111

112 Καθυστερηµένη διακλάδωση Πιθανές θέσεις για «γέµισµα» Κεφάλαιο 4 Ο επεξεργαστής 112

113 Υπολογισµός προορισµού διακλάδωσης Ακόµη και µε πρόβλεψη λήψης/µη-λήψης, πρέπει ακόµη να υπολογιστεί η διεύθυνση διακλάδωσης Ποινή 1 κύκλου για λαµβανόµενη διακλάδωση Γιατί; Επειδή υπολογίζεται στο ID Προσωρινή µνήµη προορισµού διακλάδωσης (branch target buffer) Κρυφή µνήµη για διευθύνσεις προορισµού εικτοδοτείται από τον PC όταν προσκοµίζεται η εντολή Αν υπάρχει ευστοχία (hit) και η εντολή είναι διακλάδωση µε πρόβλεψη λήψης, µπορεί να γίνει άµεση προσκόµιση του προορισµού Κεφάλαιο 4 Ο επεξεργαστής 113

114 Προχωρηµένες προβλέψεις διάταξη πρόβλεψης συσχέτισης (correlating predictor) Μια διάταξη πρόβλεψης διακλάδωσης που συνδυάζει τοπική συµπεριφορά µιας συγκεκριµένης διακλάδωσης µε καθολικές πληροφορίες σχετικά µε τη συµπεριφορά ενός αριθµού διακλαδώσεων που εκτελέστηκαν πρόσφατα. επιλεκτική διάταξη πρόβλεψης διακλάδωσης (tournament branch predictor) ιάταξη πρόβλεψης διακλάδωσης µε πολλές προβλέψεις για κάθε διακλάδωση, και ένα µηχανισµό επιλογής που διαλέγει ποια διάταξη πρόβλεψης να ενεργοποιήσει για µια δεδοµένη διακλάδωση. Κεφάλαιο 4 Ο επεξεργαστής 114

115 Τελική διαδροµή δεδοµένων Κεφάλαιο 4 Ο επεξεργαστής 115

116 Εξαιρέσεις και διακοπές «Μη αναµενόµενα» συµβάνται που απαιτούν αλλαγή της ροής του ελέγχου ιαφορετικές αρχιτεκτονικές συνόλου εντολών χρησιµοποιούν τους όρους διαφορετικά Εξαίρεση (exception) Παρουσιάζεται µέσα στη CPU π.χ., µη ορισµένος κωδικός λειτουργίας (undefined opcode), υπερχείλιση (overflow), κλήση συστήµατος (syscall), ιακοπή (interrupt) Από έναν εξωτερικό ελεγκτή εισόδου/εξόδου ύσκολος ο χειρισµός τους χωρίς να θυσιαστεί απόδοση 4.9 Εξαιρέσεις Κεφάλαιο 4 Ο επεξεργαστής 116

117 Ορολογία MIPS Τύπος συµβάντος Προέλευση Ορολογία MIPS Αίτηση συσκευής Εξωτερική ιακοπή εισόδου/εξόδου Κλήση του λειτουργικού Εσωτερική Εξαίρεση συστήµατος από το πρόγραµµα του χρήστη Αριθµητική υπερχείλιση Εσωτερική Εξαίρεση Χρήση µη ορισµένης εντολής Εσωτερική Εξαίρεση υσλειτουργίες υλικού Οποιοδήποτε από τα δύο Εξαίρεση ή διακοπή Κεφάλαιο 4 Ο επεξεργαστής 117

118 Χειρισµός εξαιρέσεων Στο MIPS, τις εξαιρέσεις διαχειρίζεται ένας Συνεπεξεργαστής Ελέγχου Συστήµατος (System Control Coprocessor), ο CP0 Αποθήκευση του PC της εντολής που διακόπτεται Στο MIPS: Exception Program Counter (EPC) Αποθήκευση της ένδειξης του προβλήµατος Στον MIPS: καταχωρητής Cause (Αιτίου) Υποθέτουµε 1 bit µόνο (στην πράξη είναι περισσότερα) 0 για µη ορισµένο κωδικό λειτουργίας (undefined opcode), και 1 για υπερχείλιση Άλµα στο χειριστή (handler) στη δ/νση 0x Κεφάλαιο 4 Ο επεξεργαστής 118

119 Εναλλακτικός µηχανισµός ιανυσµατικές διακοπές (vectored interrupts) Η δ/νση του χειριστή καθορίζεται από την αιτία Παράδειγµα: Μη ορισµένος opcode: C Υπερχείλιση: C : C Οι εντολές είτε Ασχολούνται µε τη διακοπή, είτε Κάνουν άλµα στον πραγµατικό χειριστή Κεφάλαιο 4 Ο επεξεργαστής 119

120 Ενέργειες του χειριστή Ανάγνωση αιτίου, και µετάβαση στο σχετικό χειριστή Καθορισµός απαιτούµενης ενέργειας Αν η εντολή είναι επανεκκινήσιµη (restartable) Εκτέλεση διορθωτικής ενέργειας Χρήση του EPC για επιστροφή στο πρόγραµµα Αλλιώς Τερµατισµός προγράµµατος Αναφορά σφάλµατος µε χρήση του EPC, του αιτίου, Κεφάλαιο 4 Ο επεξεργαστής 120

121 Εξαιρέσεις σε µια διοχέτευση Άλλη µορφή κινδύνου ελέγχου Θεωρήστε υπερχείλιση στην πρόσθεση στο στάδιο EX add $1, $2, $1 1.Αποφυγή ζηµιάς (εγγραφής) στον $1 2.Ολοκλήρωση των προηγούµενων εντολών 3.Εκκένωση της add και των επόµενων εντολών 4.Ρύθµιση τιµών των καταχωρητών Cause και EPC 5.Μεταφορά ελέγχου στο χειριστή Όµοια µε λανθασµένη πρόβλεψη διακλάδωσης Χρήση µεγάλου µέρους του ίδιου υλικού Κεφάλαιο 4 Ο επεξεργαστής 121

122 ιοχέτευση µε εξαιρέσεις Κεφάλαιο 4 Ο επεξεργαστής 122

123 Ιδιότητες των εξαιρέσεων Επανεκκινήσιµες εξαιρέσεις (restartable exceptions) Η διοχέτευση µπορεί να εκκενώσει την εντολή Ο χειριστής εκτελείται, µετά επιστρέφει στην εντολή Επαναπροσκοµίζεται και εκτελείται από την αρχή Ο PC αποθηκεύεται στον καταχωρητή EPC Προσδιορίζει την εντολή που προκαλεί εξαίρεση Στη πραγµατικότητα αποθηκεύεται ο PC + 4 Ο χειριστής πρέπει να προσαρµοστεί Κεφάλαιο 4 Ο επεξεργαστής 123

124 Παράδειγµα εξαίρεσης Εξαίρεση στην add στον κώδικα 40 sub $11, $2, $4 44 and $12, $2, $5 48 or $13, $2, $6 4C add $1, $2, $1 50 slt $15, $6, $7 54 lw $16, 50($7) Χειριστής sw $25, 1000($0) sw $26, 1004($0) Κεφάλαιο 4 Ο επεξεργαστής 124

125 Παράδειγµα εξαίρεσης Κεφάλαιο 4 Ο επεξεργαστής 125

126 Παράδειγµα εξαίρεσης Κεφάλαιο 4 Ο επεξεργαστής 126

127 Πολλαπλές εξαιρέσεις Η διοχέτευση επικαλύπτει την εκτέλεση πολλών εντολών Μπορούµε να έχουµε πολλές εξαιρέσεις ταυτόχρονα Απλή προσέγγιση: ασχολήσου µε την εξαίρεση της νωρίτερης εντολής Εκκένωση των επόµενων εντολών «Ακριβείς» ( Precise ) εξαιρέσεις Σε σύνθετες διοχετεύσεις Πολλές εντολές ξεκινούν ανά κύκλο Ολοκλήρωση εκτός σειράς (out-of-order) Η διατήρηση των ακριβών εξαιρέσεων είναι δύσκολη! Κεφάλαιο 4 Ο επεξεργαστής 127

128 Μη ακριβείς (imprecise) εξαιρέσεις Απλώς σταµάτα τη διοχέτευση και αποθήκευσε την κατάσταση Συµπεριλαµβάνεται και το αίτιο (ή τα αίτια) της εξαίρεσης Άφησε στο χειριστή να βρει Ποιες εντολές είχαν εξαιρέσεις Ποιες να ολοκληρώσει ή να εκκενώσει Μπορεί να χρειαστεί µη αυτόµατη ολοκλήρωση Απλοποιεί το υλικό, αλλά απαιτεί πιο σύνθετο λογισµικό του χειριστή εν είναι εφικτό για σύνθετες διοχετεύσεις µε πολλαπλή εκκίνηση και εκτέλεση εκτός σειράς Κεφάλαιο 4 Ο επεξεργαστής 128

129 Ακριβείς Μη-ακριβείς ανακριβής διακοπή (imprecise interrupt) Ονοµάζεται επίσης ανακριβής εξαίρεση. Οι διακοπές ή οι εξαιρέσεις σε υπολογιστές µε διοχέτευση, οι οποίες δε σχετίζονται µε την ακριβή εντολή που ήταν η αιτία της διακοπής ή της εξαίρεσης. ακριβής διακοπή (precise interrupt) Ονοµάζεται επίσης ακριβής εξαίρεση. Μια διακοπή ή εξαίρεση που σχετίζεται πάντοτε µε τη σωστή εντολή στους υπολογιστές µε διοχέτευση. Κεφάλαιο 4 Ο επεξεργαστής 129

130 Παραλληλία επιπέδου εντολής Instruction-Level Parallelism (ILP) ιοχέτευση: παράλληλη εκτέλεση πολλών εντολών Για αύξηση του ILP Βαθύτερη διοχέτευση Λιγότερη δουλειά ανά στάδιο µικρότερος κύκλος ρολογιού Πολλαπλή εκκίνηση (multiple issue) Επανάληψη σταδίων διοχέτευσης πολλές διοχετεύσεις Εκκίνηση πολλών εντολών ανά κύκλο ρολογιού CPI < 1, συνεπώς χρήση του Instructions Per Cycle (IPC) Π.χ., 4GHz πολλαπλή εκκίνηση 4 δρόµων (4-way multiple-issue) 16 BIPS, µέγιστο CPI = 0.25, µέγιστο IPC = 4 Αλλά οι εξαρτήσεις το µειώνουν στην πράξη Κεφάλαιο 4 Ο επεξεργαστής Παραλληλία και Προηγµένη Παραλληλία Επιπέδου Εντολής

131 Πολλαπλή εκκίνηση Στατική πολλαπλή εκκίνηση Ο µεταγλωττιστής οµαδοποιεί τις εντολές που θα ξεκινήσουν µαζί Τις συσκευάζει σε «υποδοχές εκκίνησης» ( issue slots ) Ο µεταγλωττιστής ανιχνεύει και αποφεύγει τους κινδύνους υναµική πολλαπλή εκκίνηση Η CPU εξετάζει το ρεύµα των εντολών και επιλέγει εντολές για εκκίνηση σε κάθε κύκλο Ο µεταγλωττιστής µπορεί να βοηθήσει µε αναδιάταξη των εντολών Η CPU επιλύει τους κινδύνους µε προηγµένες τεχνικές κατά το χρόνο εκτέλεσης Κεφάλαιο 4 Ο επεξεργαστής 131

132 Εικασία (speculation) «Μαντεψιά» τι να κάνουµε µε µια εντολή Εκκίνηση λειτουργίας το συντοµότερο Έλεγχος αν η εικασία ήταν σωστή Αν ναι, ολοκλήρωση της λειτουργίας Αν όχι, επιστροφή (roll-back) και εκτέλεση του σωστού Συνηθισµένη στη στατική και τη δυναµική πολλαπλή εκκίνηση Παραδείγµατα Εικασία στο αποτέλεσµα διακλάδωσης Επιστροφή αν η ληφθείσα διαδροµή είναι διαφορετική Εικασία σε φόρτωση (load) Επιστροφή αν η θέση µνήµης έχει αλλάξει τιµή Κεφάλαιο 4 Ο επεξεργαστής 132

133 Εικασία µεταγλωττιστή/υλικού Ο µεταγλωττιστής µπορεί να αναδιατάξει τις εντολές π.χ., µετακίνηση µιας φόρτωσης πριν από µια διακλάδωση Μπορεί να περιλάβει εντολές «διόρθωσης» για να ανακάµψει από λάθος εικασίες Το υλικό µπορεί να δει πιο πέρα για εντολές προς εκτέλεση Αποθηκεύει προσωρινά τα αποτελέσµατα µέχρι να προσδιορίσει ότι χρειάζονται πραγµατικά Εκκενώνει τις προσωρινές µνήµες αν γίνει λάθος εικασία Κεφάλαιο 4 Ο επεξεργαστής 133

134 Εικασία και εξαιρέσεις Τι γίνεται αν συµβεί εξαίρεση σε µια εντολή που εκτελείται µε εικασία; π.χ., φόρτωση µε εικασία πριν τον έλεγχο κενού δείκτη (null-pointer check) Στατική εικασία Μπορεί να προσθέσει υποστήριξη από την αρχιτεκτονική συνόλου εντολών για εξαιρέσεις που έχουν µετατεθεί (deferring exceptions) υναµική εικασία Μπορεί να αποθηκεύει προσωρινά τις εξαιρέσεις µέχρι την ολοκλήρωση της εντολής (που µπορεί να µη συµβεί) Κεφάλαιο 4 Ο επεξεργαστής 134

135 Στατική πολλαπλή εκκίνηση Ο µεταγλωττιστής οµαδοποιεί τις εντολές σε «πακέτα εκκίνησης» ( issue packets ) Οµάδα εντολών που µπορούν να ξεκινήσουν σε έναν κύκλο Καθορίζεται από τους πόρους της διοχέτευσης που απαιτούνται Σκεφθείτε ένα πακέτο εκκίνησης ως µια πολύ µεγάλη εντολή Προσδιορίζει πολλές ταυτόχρονες λειτουργίες Πολύ µεγάλη λέξη εντολής (Very Long Instruction Word VLIW) Κεφάλαιο 4 Ο επεξεργαστής 135

136 Χρονοπρογ/σµός στατικής Ο µεταγλωττιστής πρέπει να αφαιρέσει κάποιους ή όλους τους κινδύνους Αναδιάταξη εντολών σε πακέτα εκκίνησης Όχι εξαρτήσεις µέσα σε ένα πακέτο Πιθανόν κάποιες εξαρτήσεις µεταξύ πακέτων ιαφορές µεταξύ αρχιτεκτονικών ο µεταγλωττιστής πρέπει να το γνωρίζει! Συµπλήρωση µε εντολές nop αν χρειάζεται Κεφάλαιο 4 Ο επεξεργαστής 136

137 MIPS µε στατική διπλή εκκίνηση Πακέτα διπλής εκκίνησης (επιτρεπτοί συνδυασµοί) Μια εντολή ALU ή branch µαζί µε: Μια εντολή load ή store Ευθυγραµµισµένες στα 64 bit ALU/branch, µετά load/store Συµπλήρωση µιας αχρησιµοποίητης εντολής µε nop ιεύθυνση Τύπος εντολής Στάδια διοχέτευσης n ALU/branch IF ID EX MEM WB n + 4 Load/store IF ID EX MEM WB n + 8 ALU/branch IF ID EX MEM WB n + 12 Load/store IF ID EX MEM WB n + 16 ALU/branch IF ID EX MEM WB n + 20 Load/store IF ID EX MEM WB Κεφάλαιο 4 Ο επεξεργαστής 137

138 MIPS µε στατική διπλή εκκίνηση Κεφάλαιο 4 Ο επεξεργαστής 138

139 Κίνδυνοι στο MIPS µε διπλή εκκίνηση Περισσότερες εντολές εκτελούνται παράλληλα Κίνδυνος δεδοµένων EX Η προώθηση απέφυγε τις καθυστερήσεις στην απλή εκκίνηση Τώρα δεν µπορούµε να χρησιµοποιήσουµε το αποτέλεσµα της ALU σε µια load/store στο ίδιο πακέτο add $t0, $s0, $s1 load $s2, 0($t0) Χωρισµός σε δύο πακέτα, ουσιαστικά µία καθυστέρηση (stall) Κίνδυνος φόρτωσης-χρήσης Και πάλι ένας κύκλος λανθάνοντος χρόνου χρήσης, αλλά τώρα δύο εντολές Ανάγκη πιο επιθετικού χρονοπρογραµµατισµού Κεφάλαιο 4 Ο επεξεργαστής 139

140 Παράδειγµα χρονοπρ/σµού Χρονοπρογραµµατίστε αυτό σε MIPS διπλής εκκίνησης Loop: lw $t0, 0($s1) # $t0=array element addu $t0, $t0, $s2 # add scalar in $s2 sw $t0, 0($s1) # store result addi $s1, $s1, 4 # decrement pointer bne $s1, $zero, Loop # branch $s1!=0 ALU/branch Load/store κύκλος Loop: nop lw $t0, 0($s1) 1 addi $s1, $s1, 4 nop 2 addu $t0, $t0, $s2 nop 3 bne $s1, $zero, Loop sw $t0, 4($s1) 4 IPC = 5/4 = 1.25 (σύγκριση µε µέγιστο IPC = 2) Κεφάλαιο 4 Ο επεξεργαστής 140

141 Ξετύλιγµα βρόχου Loop unrolling Επανάληψη του σώµατος του βρόχου για να εµφανιστεί µεγαλύτερη παραλληλία Μειώνει την επιβάρυνση ελέγχου του βρόχου Χρήση διαφορετικών καταχωρητών ανά επανάληψη Ονοµάζεται «µετονοµασία καταχωρητών ( register renaming ) Αποφυγή «αντεξαρτήσεων» ( anti-dependencies ) που µεταφέρονται στο βρόχο (loop-carried) Store που ακολουθείται από load στον ίδιο καταχωρητή Ονοµάζεται επίσης και «εξάρτηση ονόµατος» ( name dependence ) Επαναχρησιµοποίηση ενός ονόµατος καταχωρητή Κεφάλαιο 4 Ο επεξεργαστής 141

142 Παράδειγµα ξετυλίγµατος βρόχου ALU/branch Load/store Κύκλος Loop: addi $s1, $s1, 16 lw $t0, 0($s1) 1 nop lw $t1, 12($s1) 2 addu $t0, $t0, $s2 lw $t2, 8($s1) 3 addu $t1, $t1, $s2 lw $t3, 4($s1) 4 addu $t2, $t2, $s2 sw $t0, 16($s1) 5 addu $t3, $t4, $s2 sw $t1, 12($s1) 6 nop sw $t2, 8($s1) 7 bne $s1, $zero, Loop sw $t3, 4($s1) 8 IPC = 14/8 = 1.75 Πλησιέστερο στο 2, αλλά µε κόστος σε καταχωρητές και µέγεθος κώδικα Κεφάλαιο 4 Ο επεξεργαστής 142

143 υναµική πολλαπλή εκκίνηση Υπερβαθµωτοί ( superscalar ) επεξεργαστές Η CPU αποφασίζει αν θα ξεκινήσουν 0, 1, 2, εντολές σε κάθε κύκλο Αποφυγή κινδύνων δοµής και δεδοµένων Αποφεύγει την ανάγκη για χρονοπρογραµµατισµό από το µεταγλωττιστή Παρόλο που αυτός µπορεί ακόµη να βοηθήσει Η CPU εγγυάται τη σηµασιολογία του κώδικα Κεφάλαιο 4 Ο επεξεργαστής 143

144 Χρονοπρογ/σµός δυναµικής Η CPU µπορεί να εκτελεί εντολές εκτός σειράς (out of order - OoO) για αποφυγή καθυστερήσεων Αλλά η δέσµευση (commit) του αποτελέσµατος σε καταχωρητές γίνεται σε σειρά (in order) Παράδειγµα lw $t0, 20($s2) addu $t1, $t0, $t2 sub $s4, $s4, $t3 slti $t5, $s4, 20 Μπορεί να ξεκινήσει η sub ενώ η addu περιµένει τη lw Επειδή δεν εξαρτάται από τη lw Κεφάλαιο 4 Ο επεξεργαστής 144

145 CPU µε δυναµικό χρον/σµό ιατηρεί τις εξαρτήσεις Κρατάει τους τελεστέους σε εκκρεµότητα Προσωρινή µνήµη αναδιάταξης (Reorder Buffer ROB) για εγγραφές σε καταχωρητές Μπορεί να παρέχει τελεστέους για εντολές που ξεκίνησαν Τα αποτελέσµατα στέλνονται και σε οποιονδήποτε σταθµό κράτησης (reservation station) τα περιµένει Κεφάλαιο 4 Ο επεξεργαστής 145

146 Μετονοµασία καταχωρητών Οι σταθµοί κράτησης (reservation stations RS) και η προσωρινή µνήµη αναδιάταξης (reorder buffer ROB) στην πράξη παρέχουν µετονοµασία καταχωρητών Κατά την εκκίνηση εντολής σε σταθµό κράτησης Αν ο τελεστέος είναι διαθέσιµος στο αρχείο καταχωρητών ή την προσωρινή µνήµη αναδιάταξης Αντιγράφεται στο σταθµό κράτησης ε χρειάζεται άλλο στον καταχωρητή, και µπορεί να αντικατασταθεί Αν ο τελεστέος δεν είναι ακόµα διαθέσιµος Θα παρασχεθεί στο σταθµό κράτησης από µια λειτουργική µονάδα Μπορεί να µη χρειαστεί ενηµέρωση καταχωρητή Κεφάλαιο 4 Ο επεξεργαστής 146

147 Εικασία (speculation) Πρόβλεψη διακλάδωσης και συνέχιση της εκκίνησης ε γίνεται δέσµευση (commit) µέχρι να καθοριστεί το αποτέλεσµα της διακλάδωσης Εικασία φόρτωσης (load speculation) Αποφυγή της καθυστέρησης της φόρτωσης και της αστοχίας κρυφής µνήµης (cache miss) Πρόβλεψη της πραγµατικής διεύθυνσης Πρόβλεψη της τιµής φόρτωσης Φόρτωση πριν την ολοκλήρωση εκκρεµουσών αποθηκεύσεων Παράκαµψη/προώθηση τιµών αποθήκευσης προς τη µονάδα φόρτωσης ε γίνεται δέσµευση (commit) της φόρτωσης µέχρι να ξεκαθαριστεί η εικασία Κεφάλαιο 4 Ο επεξεργαστής 147

148 Γιατί δυναµικός χρονοπ/σµός; Γιατί να µην αφήσουµε απλώς το µεταγλωττιστή να χρονοπρογραµµατίσει τον κώδικα; ιότι, δεν είναι όλες οι καθυστερήσεις προβλέψιµες π.χ., αστοχίες κρυφής µνήµης (cache misses) εν µπορεί να γίνει πάντα χρονοπρ/σµός γύρω από διακλαδώσεις Το αποτέλεσµα της διακλάδωσης καθορίζεται δυναµικά ιαφορετικές υλοποιήσεις µιας αρχιτεκτονικής έχουν διαφορετικούς λανθάνοντες χρόνους και κινδύνους Κεφάλαιο 4 Ο επεξεργαστής 148

149 ουλεύει η πολλαπλή εκκίνηση; ΓΕΝΙΚΗ εικόνα Ναι, αλλά όχι όσο θα θέλαµε Τα προγράµµατα έχουν πραγµατικές εξαρτήσεις που περιορίζουν το ILP Μερικές εξαρτήσεις είναι δύσκολο να εξαλειφθούν π.χ., ψευδωνυµία δείκτη (pointer aliasing) Κάποια παραλληλία είναι δύσκολο να εµφανιστεί Περιορισµένο µέγεθος παραθύρου κατά την εκκίνηση εντολών Καθυστερήσεις µνήµης και περιορισµένο εύρος ζώνης ύσκολο να διατηρηθούν γεµάτες οι διοχετεύσεις Η εικασία µπορεί να βοηθήσει αν γίνει καλά Κεφάλαιο 4 Ο επεξεργαστής 149

150 Αποδοτικότητα ισχύος Η πολυπλοκότητα του δυναµικού χρονοπρογραµµατισµού και της εικασίας απαιτεί ηλεκτρική ισχύ Οι πολλοί απλούστεροι πυρήνες µπορεί να είναι καλύτεροι Μικροεπεξεργαστής Έτος Ρυθµός ρολογιού Στάδια διοχέτευσης Πλάτος εκκίνησης Εκτός-σειράς/ Εικασία Πυρήνες i MHz 5 1 No 1 5W Pentium MHz 5 2 No 1 10W Pentium Pro MHz 10 3 Yes 1 29W P4 Willamette MHz 22 3 Yes 1 75W Ισχύς P4 Prescott MHz 31 3 Yes 1 103W Core MHz 14 4 Yes 2 75W UltraSparc III MHz 14 4 No 1 90W UltraSparc T MHz 6 1 No 8 70W Κεφάλαιο 4 Ο επεξεργαστής 150

151 Μικροαρχιτεκτονική του Opteron X4 72 φυσικοί καταχωρητές Κεφάλαιο 4 Ο επεξεργαστής Πραγµατικότητα: ιοχέτευση AMD Opteron X4 (Barcelona)

152 ιοχέτευση του Opteron X4 Για ακέραιες λειτουργίες Για κινητή υποδιαστολή είναι 5 στάδια µεγαλύτερη Μέχρι 106 λειτουργίες RISC σε εξέλιξη Σηµεία συµφόρησης Πολύπλοκες εντολές µε µεγάλες εξαρτήσεις Λάθος προβλέψεις διακλάδωσης Καθυστερήσεις προσπέλασης µνήµης Κεφάλαιο 4 Ο επεξεργαστής 152

153 Πλάνες Η διοχέτευση είναι εύκολη (!) Η βασική ιδέα είναι εύκολη Ο διάβολος κρύβεται στις λεπτοµέρειες π.χ., ανίχνευση κινδύνων δεδοµένων Η διοχέτευση είναι ανεξάρτητη από την τεχνολογία Τότε γιατί δεν κάναµε πάντα διοχέτευση; Τα περισσότερα τρανζίστορ κάνουν εφικτές τις πιο προηγµένες τεχνικές Η σχεδίαση αρχιτεκτονικών συνόλου εντολών που σχετίζεται µε τη διοχέτευση πρέπει να λαµβάνει υπόψη της τις τεχνολογικές τάσεις π.χ., εντολές µε κατηγορήµατα Κεφάλαιο 4 Ο επεξεργαστής Πλάνες και παγίδες

154 Παγίδες Η φτωχή σχεδίαση της αρχιτεκτονικής συνόλου εντολών µπορεί να κάνει δυσκολότερη τη διοχέτευση π.χ., πολύπλοκα σύνολα εντολών (VAX, IA-32) Σηµαντική επιβάρυνση για να δουλέψει η διοχέτευση Προσέγγιση του IA-32 µε µικρολειτουργίες (micro-ops) π.χ., πολύπλοκοι τρόποι διευθυνσιοδότησης Παρενέργειες ενηµέρωσης καταχωρητών, εµµεσότητα µνήµης π.χ., καθυστερηµένες διακλαδώσεις Οι προηγµένες διοχετεύσεις έχουν µεγάλες υποδοχές καθυστέρησης Κεφάλαιο 4 Ο επεξεργαστής 154

155 Συµπερασµατικές παρατηρήσεις Η αρχιτεκτονική συνόλου εντολών επηρεάζει τη σχεδίαση της διαδροµής δεδοµένων και της µονάδας ελέγχου Η διαδροµή δεδοµένων και η µονάδα ελέγχου επηρεάζουν τη σχεδίαση της αρχιτεκτονικής συνόλου εντολών Η διοχέτευση βελτιώνει τη διεκπεραιωτική ικανότητα εντολών µε τη χρήση παραλληλίας Περισσότερες εντολές ολοκληρώνονται ανά δευτερόλεπτο Ο λανθάνων χρόνος κάθε εντολής δε µειώνεται Κίνδυνοι: δοµής, δεδοµένων, ελέγχου Πολλαπλή εκκίνηση και δυναµικός χρονοπρογραµµατισµός (παραλληλία επιπέδου εντολής ILP) Οι εξαρτήσεις περιορίζουν την επιτεύξιµη παραλληλία Η πολυπλοκότητα οδηγεί στο τείχος της ισχύος (power wall) 4.14 Συµπερασµατικές παρατηρήσεις Κεφάλαιο 4 Ο επεξεργαστής 155

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

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

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

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

Κεφάλαιο 4. Ο επεξεργαστής Κεφάλαιο 4 Ο επεξεργαστής Εισαγωγή Παράγοντες απόδοσης της CPU Πλήθος εντολών Καθορίζεται από την αρχιτεκτονική συνόλου εντολών και το μεταγλωττιστή CPI και Χρόνος κύκλου Καθορίζεται από το υλικό της CPU

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

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

Σχεδίαση μονάδας ελέγχου επεξεργαστή Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 29-2 Νεκτάριος Κοζύρης nkoziris@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/courses/comparch/ Datapath ενός

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

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

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

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

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

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4. Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή Time 6 PM 7 8 9 10 11 12 1 2 AM 1. Πλυντήριο 2. Στεγνωτήριο 3. ίπλωµα 4. αποθήκευση Task order A B C D Σειριακή προσέγγιση για 4 φορτία =8h 30 min κάθε «φάση»

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

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

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

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

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

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

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

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

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

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

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

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMMY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις Άσκηση 1: Διασωλήνωση

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

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

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

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

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

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

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

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

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

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

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

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

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

και η µονάδα ελέγχου (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

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

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

Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. ίπλωµα 4. αποθήκευση Time Task order A B C D 6 PM 7 8 9 10 11 12 1 2 AM Σειριακή προσέγγιση για 4 φορτία =8h 30 min κάθε «φάση»

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

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

Τέτοιες λειτουργίες γίνονται διαμέσου του Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις Αρης Ευθυμίου Κόστος διακλαδώσεων Οι διακλαδώσεις έχουν σχετικά μεγάλο κόστος χρόνου Τουλάχιστον ένας κύκλος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άσκηση IF ID EX MEM WB α. 300ps 400ps 350ps 500ps 100ps β. 200ps 150ps 120ps 190ps 140ps

Άσκηση IF ID EX MEM WB α. 300ps 400ps 350ps 500ps 100ps β. 200ps 150ps 120ps 190ps 140ps Άσκηση 4.12 Στην άσκηση αυτή, εξετάζουµε την επίδραση της διοχέτευσης στο χρόνο κύκλου ρολογιού του επεξεργαστή. Τα προβλήµατα αυτής της άσκησης θεωρούν ότι τα µεµονωµένα στάδια της διαδροµής δεδοµένων

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

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

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

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

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

Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining) Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining) 1 Διασωλήνωση (Pipelining) Διασωληνώση: επικαλυπτόμενη εκτέλεση πολλαπλών εντολών σε ένα κύκλο του ρολογιού, όπως σε

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

Pipelined Datapath, Hazards and Forwarding

Pipelined Datapath, Hazards and Forwarding Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Pipelined Datapath, Hazards and Forwarding Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

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

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Αρης Ευθυμίου Το σημερινό μάθημα Υπόβαθρο: Διοχέτευση (Pipelining) Βασική οργάνωση Δομικοί κίνδυνοι Κίνδυνοι δεδομένων (hazards): RAW, WAR, WAW Stall

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου ΠΛΕ- 27 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου Αρης Ευθυμίου Δομή σύγχρονων υπολογιστών Κώδικας μηχανής Αρχιτεκτονικό συνόλο εντολών (InstrucDon Set Architecture ISA)

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

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

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

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

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

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

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

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

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

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

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Y Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3 = &A[0] = 0x0001080 &A[8]

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

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

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

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

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

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

Εντολές του MIPS (2) ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3

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

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Pipelining Παραλληλισμός + Pipelining 3 Χρόνος Εκτέλεσης = I x CPI x Cycle Time Με ή χωρις pipeline το Ι είναι το ίδιο όπως και τo CPI = 1. Το

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

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

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

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

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

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

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

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

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

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

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

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

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

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

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

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

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

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

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Παράρτηµα Γ Τα Βασικά της Λογικής Σχεδίασης ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ

AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.

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

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

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

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 3: Χειρισμός δεδομένων, 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 3 διαπραγματεύεται θέματα

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 4ο μάθημα: Διοχέτευση (Pipelining), μέρος 2 ο κίνδυνοι ελέγχου, υλοποίηση, διακοπές, εργασίες πολλών κύκλων Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες

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

Κεφάλαιο 4: Pipelining 75

Κεφάλαιο 4: Pipelining 75 Κεφάλαιο 4: Pipelining 75 4. Pipelining Το pipelining (στα ελληνικά ορισμένες φορές καλείται σωλήνωση αλλά θα αποφύγουμε τη χρήση αυτού του όρου εδώ) είναι η λειτουργία κατά την οποία η εκτέλεση μιας διαδικασίας

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

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

Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: ιάρκεια κύκλου ίση µε τη µεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαµηλή απόδοση! Αντιβαίνει µε αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

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

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

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

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

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

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

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

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

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης 1 5.1 Εισαγωγή Η απόδοση µιας αρχιτεκτονικής καθορίζεται µε βάση τρεις παράγοντες: τον αριθµό εκτελού- µενων εντολών, το χρόνο κύκλου µηχανής, και τον αριθµό κύκλων ανά εντολή (CPI). Ο µεταγλωττιστής και

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

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

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

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης

Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης Αρης Ευθυμίου Το σημερινό μάθημα Πρόβλεψη διακλάδωσης (branch predicfon) ποιο είναι το πρόβλημα και τι προκαλεί πρόβλεψη κατεύθυνσης πρόβλεψη στόχου

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

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

(Branch Prediction Mechanisms)

(Branch Prediction Mechanisms) Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch

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

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

Υλοποίηση Mικροεπεξεργαστή MIPS -16 Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1 Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction

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

Παραλληλισµός Εντολών (Pipelining)

Παραλληλισµός Εντολών (Pipelining) ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Παραλληλισµός Εντολών (Pipelining) Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapter 3: Section 3.4,

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

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

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

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

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διασωλήνωση Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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