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

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

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

Transcript

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

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

3 Εκτέλεση εντολής PC μνήμη εντολών, προσκόμιση (fetch) εντολής Αριθμοί καταχωρητών αρχείο καταχωρητών (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 Ασταμάτητα: Επιτάχυνση = 2n/0.5n = αριθμός σταδίων 4.5 Γενικά για τη διοχέτευση Κεφάλαιο 4 Ο επεξεργαστής 31

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 Διοχέτευση και σχεδίαση συνόλου εντολών Το σύνολο εντολών του MIPS είναι σχεδιασμένο για διοχέτευση Όλες οι εντολές είναι των 32 bit Ευκολότερη προσκόμιση και αποκωδικοποίηση σε έναν κύκλο σύγκριση με x86: εντολές 1 έως 17 byte Λίγες και κανονικές μορφές εντολών Μπορεί να αποκωδικοποιήσει και να διαβάσει καταχωρητές σε ένα βήμα Διευθυνσιοδότηση Load/store Μπορεί να υπολογίσει τη δ/νση στο τρίτο στάδιο, και να προσπελάσει τη μνήμη στο τέταρτο στάδιο Ευθυγράμμιση των τελεστέων μνήμης Προσπέλαση μνήμης διαρκεί μόνο έναν κύκλο Κεφάλαιο 4 Ο επεξεργαστής 36

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

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

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

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

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

42 Χρονοπρογρ/μός κώδικα για αποφυγή καθυστερήσεων Αναδιάταξη κώδικα για αποφυγή χρήσης του αποτελέσματος της 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 Ο επεξεργαστής 42

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

67 Κίνδυνοι δεδομένων σε εντολές 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 Ο επεξεργαστής 67

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

69 Ανίχνευση ανάγκης για προώθηση Μεταβίβαση αριθμών καταχωρητών μέσα στη διοχέτευση π.χ., 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 Ο επεξεργαστής 69

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

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

72 Συνθήκες προώθησης Κίνδυνος στο στάδιο 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 Ο επεξεργαστής 72

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

74 Αναθεωρημένη συνθήκη προώθησης Κίνδυνος στο στάδιο 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 Ο επεξεργαστής 74

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

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

77 Ανίχνευση κινδύνου φόρτωσης-χρήσης Έλεγχος όταν η εντολή που κάνει τη χρήση αποκωδικοποιείται στο στάδιο 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 Ο επεξεργαστής 77

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

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

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

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

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

83 Κίνδυνοι διακλάδωσης Αν το αποτέλεσμα της διακλάδωσης καθορίζεται στο MEM 4.8 Κίνδυνοι ελέγχου Εκκένωση αυτών των εντολών (τιμές ελέγχου στο 0) PC Κεφάλαιο 4 Ο επεξεργαστής 83

84 Μείωση καθυστέρησης διακλάδωσης Μεταφορά υλικού για προσδιορισμό αποτελέσματος στο στάδιο 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 Ο επεξεργαστής 84

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

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

87 Κίνδυνοι δεδομένων για διακλαδώσεις Αν ένας καταχωρητής σύγκρισης είναι προορισμός εντολής 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 Μπορεί να λυθεί με προώθηση Κεφάλαιο 4 Ο επεξεργαστής 87

88 Κίνδυνοι δεδομένων για διακλαδώσεις Αν ένας καταχωρητής σύγκρισης είναι προορισμός εντολής ALU που προηγείται αμέσως ή εντολής φόρτωσης που προηγείται κατά 2 θέσεις Χρειάζεται 1 κύκλος καθυστέρησης 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 Ο επεξεργαστής 88

89 Κίνδυνοι δεδομένων για διακλαδώσεις Αν ένας καταχωρητής σύγκρισης είναι προορισμός μιας εντολής φόρτωσης που προηγείται αμέσως Χρειάζονται 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 Ο επεξεργαστής 89

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 κάθε «φάση»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άσκηση 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 Στην άσκηση αυτή, εξετάζουµε την επίδραση της διοχέτευσης στο χρόνο κύκλου ρολογιού του επεξεργαστή. Τα προβλήµατα αυτής της άσκησης θεωρούν ότι τα µεµονωµένα στάδια της διαδροµής δεδοµένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Σάββατο, 26 Νοεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 120 ΛΕΠΤΑ 1) Υλοποίηση

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

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

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

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

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

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

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

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

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

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

Απλός επεξεργαστής (Επανάληψη)

Απλός επεξεργαστής (Επανάληψη) Απλός επεξεργαστής (Επανάληψη) Διάδρομος δεδομένων και μονάδα ελέγχου 4 ο κεφάλαιο Ο επεξεργαστής : Διάδρομος Δεδομένων και Έλεγχος Σε αυτό το κεφάλαιο θα μελετήσουμε την υλοποίηση του διαδρόμου δεδομένων

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων Γιώργος Δημητρίου Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων Εντολή Απλού Κύκλου Μηχανής Όλες οι φάσεις του κύκλου εντολής στον ίδιο κύκλο μηχανής: Ο χρόνος από την ανάκληση μέχρι την ολοκλήρωση της εκτέλεσης (με

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

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

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

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

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

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

Μικροαρχιτεκτονική του LC3

Μικροαρχιτεκτονική του LC3 ΆδειαΧρήσης Τοπαρόνεκπαιδευτικόυλικόυπόκειταισε άδειεςχρήσηςcrea vecommons. Γιαεκπαιδευτικόυλικό,όπωςεικόνες,που υπόκειταισεάδειαχρήσηςάλλουτύπου, αυτήπρέπεινααναφέρεταιρητώς. Μικροαρχιτεκτονική του LC3

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

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

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

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

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

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

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

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

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

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