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

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

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

Transcript

1 Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Organization, W. Robinson, CS-231, Vanderbildt Univesrity. Αρχιτεκτονική Υπολογιστών, Ν. Κοζύρης, Εθνικό Μετσόβιο Πολυτεχνείο. Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός, Π. Ευριπίδου, Πανεπιστήμιο Κύπρου Mic-1 simulator Mic-1MMV simulator, Rick Salter, Oberlin College. Σύνθεση: Κ.Γ. Μαργαρίτης, Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής.

2 Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Μικροαρχιτεκτονική τριών διαύλων (Mic-2) Διοχέτευση (Mic-3 και Mic-4) Πρόβλεψη Διακλάδωσης και Υπερβαθμωτή εκτέλεση Kρυφή Μνήμη Μικροαρχιτεκτονική Pentium 4 και Υλοποίηση JVM

3 Κόστος προς Απόδοση Επιλογή του συνόλου εντολών ώστε να έχουμε λιγότερες και αποδοτικές εντολές (απ ευθείας υλοποίηση εντολών στο υλικό). Βελτίωση του υλικού ώστε να μειωθεί η διάρκεια του κύκλου ρολογιού. Μείωση του αριθμού των κύκλων ρολογιού που απαιτούνται για την εκτέλεση μιας εντολής. Διάρθρωση της CPU σε υπομονάδες ώστε να είναι δυνατή η παράλληλη εκτέλεση εντολών (Instruction Level Parallelism). Μείωση των προσπελάσεων στη κύρια μνήμη (κρυφή μνήμη).

4 Βελτίωση Υλικού (παράδειγμα) Έλεγχος διαύλου Β: από 9 καταχωρητές επιλέγεται ένας. Με αποκωδικοποιητή (παρούσα υλοποίηση): 4Χ512 bits ROM αποκωδικοποιητής 4-σε-16 καθυστέρηση διάδοσης σήματος (2 πύλες). Φθηνότερο αλλά πιο αργό. Χωρίς αποκωδικοποιητή (εναλλακτική υλοποίηση): 9X512 bits ROM δεν υπάρχει καθυστέρηση σήματος. Ταχύτερο αλλά πιο δαπανηρό. Άσκηση: υπολογίστε περίπου τη διαφορά σε πύλες (ή transistors)

5 Μειονεκτήματα Mic-1 Η είσοδος Α της ALU γίνεται μόνο μέσω του καταχωρητή Η. Απαιτείται μετακίνηση τελεστέου μέσω του διαύλου Β και της ALU. Ο δίαυλος Α είναι μη-λειτουργικός. Η ενημέρωση του PC, που εκτελείται στην αρχή κάθε εντολής, απαιτεί τη κατάληψη των διαύλων και της ALU. Η προσκόμιση και σύνθεση τελεστέων 16-bits απαιτεί πολλές μικροεντολές. Ο κύκλος ρολογιού είναι μεγάλος και σύνθετος. Απαιτεί σημαντικές καθυστερήσεις και αφήνει τμήματα της CPU αδρανή. H CPU αντιμετωπίζεται ως ενιαία μονάδα, δεν διακρίνονται υπομονάδες (τα συνδυαστικά κυκλώματα λειτουργούν διαρκώς).

6 Αρχιτεκτονική Τριών Διαύλων Η διαδρομή δεδομένων του Mic-2. Διαφορές με Mic-1: * Πλήρης Δίαυλος Α και αντίστοιχος επιπλέον έλεγχος καταχωρητών. * Μονάδα Ανάκλησης Εντολής (IFU) και καταχωρητής MBR2.

7 Instruction Fetch Unit (IFU) 1. Ανεξάρτητη μονάδα αύξησης PC=PC+1. Εξοικονόμηση ενός κύκλου μηχανής ανά εντολή (μικρο-εντολή Main1). 2. Προκαταβολική προσκόμιση και αναδιάταξη operands. Εξοικονόμηση αναμονής λόγω fetch (ανάγνωση μνήμης).

8 Αρχιτεκτονική Τριών Διαύλων (1) Αρχικό μικροπρόγραμμα για την εκτέλεση της ILOAD.

9 Αρχιτεκτονική Τριών Διαύλων (2) iload1 iload2 iload3 MAR=MBRU+LV;rd MAR=SP=SP+1 TOS=MDR;wr; goto(mbr) Μικροπρόγραμμα για την εκτέλεση της ILOAD σε αρχιτεκτονική τριών διαύλων (πάνω) και με επιπλέον χρήση IFU (κάτω).

10 Μικροπρόγραμμα Mic-2 (1)

11 Μικροπρόγραμμα Mic-2 (2)

12 Μικροπρόγραμμα Mic-2 (3)

13 Μικροπρόγραμμα Mic-2 (4)

14 Μικροεντολές Mic-2 4 A bus A Α,Β Η μορφή μικροεντολής του Mic-2. Addr : Διεύθυνση πιθανής επόμενης μικροεντολής. JAM : Επιλογή επόμενης μικροεντολή. ALU: Πράξεις ALU και Ολισθητή. C : Επιλογή καταχωρητών που θα διαβάσει δεδομένα από το δίαυλο C. Mem : Λειτουργίες Μνήμης Β, Α : Επιλογή καταχωρητή που θα γράψει δεδομένα στους διαύλους Β, Α.

15 Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Μικροαρχιτεκτονική τριών διαύλων (Mic-2) Διοχέτευση (Mic-3 και Mic-4) Πρόβλεψη Διακλάδωσης και Υπερβαθμωτή εκτέλεση Kρυφή Μνήμη Μικροαρχιτεκτονική Pentium 4 και Υλοποίηση JVM

16 Διοχέτευση: απλό παράδειγμα α β α. Πλυντήριο χωρίς διοχέτευση β. Πλυντήριο με διοχέτευση γ. Πλυντήριο με διοχέτευση και μεταβλητή διάρκεια σταδίων γ

17 Διοχέτευση (1) Προϋποθέτει διακριτές υπο μονάδες στη CPU, σε αντιστοιχία με το κύκλο Ανάκλησης- Εκτέλεσης. Ενδεικτικές υπομονάδες (στάδια): S1. Ανάκληση της εντολής, Τροποποίηση P S2. Αποκωδικοποίηση της εντολής S3. Ανάκληση των τελεστέων (Ανάγνωση από τη Μνήμη) S4. Εκτέλεση της εντολής (πιθανώς σε υπομονάδες) Ακέραιοι Πραγματικοί Ανάκληση επιπλεόν τελεστέων S5. Aποθήκευση του αποτελέσματος (Εγγραφή στη Μνήμη) Λίγοι, σχετικά μεγάλοι κύκλοι μηχανής, μεταβλητός αριθμός κύκλων ανά εντολή Χρόνος 2 S S2 2 1 S3 Συμβατική 2 S4 Εκτέλεση... 1 S5 1 2 Στάδια

18 Διοχέτευση (2) (a) Μια τυπική διοχέτευση πέντε σταδίων (υπομονάδων): Ανάκληση, Αποκωδικοποίηση, Ανάγνωση από τη Μνήμη, Εκτέλεση, Εγγραφή στη Μνήμη (b) Η κατάσταση κάθε σταδίου σε εννέα κύκλους ρολογιού. Σταθερός αριθμός (ή σταθερό πολλαπλάσιο;) κύκλων μηχανής ανά εντολή. Πολλοί μικροί κύκλοι μηχανής, με βάση τη μέγιστη διάρκεια σταδίου.

19 Διοχέτευση (3) Διεκπεραίωση (Throughput). Η Διοχέτευση αυξάνει κυρίως το ρυθμό εκτέλεσης ακουθλιας εντολών. Ιδανικά στη μονάδα του χρόνου προσκομίζονται στον υπολογιστή Ν εντολές που εκτελούνται στα Ν στάδια της Διοχέτευσης. Μέτρηση σε Αριθμό προσκoμιζόμενων Εντολών σε μονάδα Χρόνου, συνήθως Million Instructions Per Second (MIPS). Επιτάχυνση (Speedup). Λόγος του χρόνου εκτέλεσης (ή του CPI) ενός προγράμματος χωρίς Διοχέτευση προς το χρόνο εκτέλεσης (ή του CPI) με Διοχέτευση. Ιδανικά ίση με Ν. Speedup = Tserial / Tpipelined = CPIserial/CPIpipelined. Ωφελιμότητα (Utilization). Ποσοστό του χρόνου που η Διοχέτευση είναι πλήρης. Μέγιστη Ωφελιμότητα = Ιδεατή Επιτάχυνση. Utilization = Speedup / N = Τserial/Tpipelined*N = CPIserial/CPIpipelined*N.

20 Διοχέτευση (4) Απώλειες. Η Διοχέτευση παρουσιάζει απώλειες στην εκκίνηση μέχρι να 'γεμίσει' και στη λήξη μέχρι να αδειάσει (filling and drainage). Αυτές ισούνται με περίπου 2N(Ν-1) άεργους κύκλους στα διάφορα στάδια, αριθμός αμελητέος όταν συνήθως η διοχέτευση λειτουργεί για βήματα πολύ περισσότερα του Ν. Ν filling Ν-1 operation drainage Κύκλοι ωφέλιμης λειτουργίας >> Ν Κίνδυνοι Διοχέτευσης (Hazards). Συνηθήκες λειτουργίας της Διοχέτευσης που μειώνουν την απόδοσή της (ιδεατή επιτάχυνση ή μέγιστη ωφελιμότητα). * Δομικοί κίνδυνοι (Structural Hazrds) * Κίνδυνοι Δεδομένων (Data Hazards) * Κίνδυνοι Ελέγχου (Control Hazards).

21 Κίνδυνοι Διοχέτευσης (Hazards) Συνθήκες του υλικού ή του λογισμικού που αποτρέπουν την επίτευξη βέλτιστης απόδοσης της διοχέτευσης. Δομικοί Κίνδυνοι (Structural Hazards). Η ταυτόχρονη εκτέλεση δύο σταδίων δύο εντολών δεν μπορεί να γίνει γιατί χρησιμοποιούν το ίδιο υλικό. (πχ χρήση ALU, προσπέλαση διάυλου, μνήμης κλπ). Κίνδυνοι Δεδομένων (Data Hazards). Η εκτέλεση ενός σταδίου μιας εντολής απαιτεί την προηγούμενη ολοκλήρωση ενός σταδίου άλλης εντολής (πχ προσκόμιση τελεστέου πριν την αποθήκευσή του). Κίνδυνοι Ελέγχου (Control Hazards). Εντολές διακλάδωσης, κλήσεις μεθόδων, απαιτούν ακύρωση ορισμένων ήδη εκτελεσθέντων σταδίων επομένων εντολών και επαναπλήρωση της διοχέτευσης.

22 Δομικός Κίνδυνος Ταυτόχρονη ανάγνωση από τη μνήμη ενώ έχουμε μια μόνο θύρα μνήμης. Λύσεις: * Αναστολή (Stall) που προκαλεί κενό (Bubble). * Βελτίωση Υλικού (διαφορετικές θύρες μνήμης για την ανάγνωση δεδομένων και εντολών)

23 Κίνδυνος Δεδομένων (1) : RAW Read After Write Ανάγνωση Μετά την Εγγραφή Οι εντολές sub, and, or χρησιμοποιούν τον καταχωρητή r1 πριν αυτός προλάβει να ενημερωθεί. Η εντολή xor είναι η πρώτη που χρησιμοποιεί τον ενημερωμένο καταχωρητή. Εξάρτηση (Dependence) ή Αληθής Εξάρτηση Δεδομένων. Η συνηθέστερη περίπτωση σε τυπικές διοχετεύσεις. Δύο τύποι: R-type (Register type) - διαχειρίσιμη. M-type (Memory type) προκαλεί στάση (stall).

24 Κίνδυνος Δεδομένων (2) : WAR * Write After Read: Εγγραφή Μετά την Ανάγνωση Μια εντολή γράφει σε ένα καταχωρητή πριν μια επόμενη εντολή χρησιμοποιήσει τη παλιά τιμή του. πχ. sub add r2, r1, r3 r1, r4, r5 // r2 = r1 - r3 // r1 = r4 + r5 Αντι-Εξάρτηση (Anti-Dependence). Μπορεί να συμβεί μόνο αν * Αλλάξει η σειρά εκτέλεσης εντολών, για παράδειγμα επειδή η sub σταμάτησε (stalled) και η add τη πρόλαβε. * Επιτρέπεται εγγραφή σε διαφορετικά στάδια της διοχέτευσης.

25 Κίνδυνος Δεδομένων (3) : WAW * Write After Write: Εγγραφή Μετά την Εγγραφή Μια εντολή γράφει (η add) σε ένα καταχωρητή πριν μια προηγούμενη εντολή (η sub) γράψει. πχ. sub add r1, r2, r3 r1, r4, r5 // r1 = r2 - r3 // r1 = r4 + r5 Εξάρτηση Εξόδου (Output Dependence). Μπορεί να συμβεί μόνο αν * Αλλάξει η σειρά εκτέλεσης εντολών, για παράδειγμα επειδή η sub σταμάτησε (stalled) και η add τη πρόλαβε. * Επιτρέπεται εγγραφή σε διαφορετικά στάδια της διοχέτευσης.

26 Αρχιτεκτονική με Διοχέτευση Mic-3 * Χρήση μανδαλωτών (latches) στους διαύλους Α, Β, C. * Απομόνωση κυκλωμάτων == δημιουργία υπομονάδων IFU => Καταχωρητές Αποκωδικοποίηση Καταχωρητές => A,Β A, B => ALU, Shift => C C = > Καταχωρητές Μνήμη <=> Καταχωρητές

27 Απεικόνιση Διοχέτευσης Mic-3 Τυπική λειτουργία της διοχέτευσης του Mic-3. Ανάκληση (IFU) Αποκωδικοποίηση Καταχωρητές (Reg) Δίαυλοι AB Δίαυλος C Μνήμη (Μem)* * δεν φαίνεται

28 Υλοποίηση της SWAP (1) Το μικροπρόγραμμα Μic-2 της εντολής SWAP.

29 Υλοποίηση της SWAP (2) μικρο-εντολή Bubble χρόνος Εμφάνιση κινδύνου δεδομένων RAW M-type λόγω rd (ανάγνωση από μνήμη).

30 Υλοποίηση της IADD στο Mic-3 MAR=SP=SP-1;rd B=SP C=B-1 MAR=C;SP=C;rd MDR=mem H=TOS MDR=TOS=MDR+H;wr;goto(MBR1) B=TOS C=B H=C B=MDR C=B+H MDR=C; TOS=C;wr goto(mbr1) Κύκλοι ρολογιού: 8X1/3=2.6 < 3 Κάθε χρώμα δείχνει ένα διαφορετικό στάδιο διοχέτευσης. Κάθε στήλη δείχνει μια μικρο-εντολή Κάθε γραμμή δείχνει τη κατάσταση των σταδίων σε ένα κύκλο

31 Απλοί Κανόνες Διοχέτευσης 1. Εσωτερική συνέπεια εκτέλεσης εντολής Κάθε στήλη δείχνει την εκτέλεση μιας μικρο-εντολής. Κάθε στάδιο εμφανίζεται ΜΙΑ φορά. 2. Αποφυγή Δομικού Κινδύνου. Κάθε γραμμή δείχνει τη λειτουργία των σταδίων ανά χρονική στιγμή. Κάθε χρώμα εμφανίζεται ΜΙΑ φορά. 3. Αποφυγή Κινδύνου RAW M-type. Όταν έχουμε rd ακολουθεί κύκλος MDR=mem. Η επόμενη χρήση του MDR για Ανάγνωση (B=MDR) καθυστερεί. 4. Αποφυγή Κινδύνου RAW R-type, WAR. Ένας καταχωρητής ή μανδαλωτής δε μπορεί να αλλάζει τιμή πριν η τιμή του διοχετευθεί σε επόμενο στάδιο (ή το πολύ ταυτόχρονα). Δεν εμφανίζεται Κίνδυνος Δεδομένων WAW, Κίνδυνοι Ελέγχου αργότερα Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education

32 ΙSUB, IAND, IAND, POP στο Mic-3 MAR=SP=SP-1;rd B=SP C=B-1 MAR=C;SP=C;rd MDR=mem H=TOS MDR=TOS=MDR * H;wr;goto(MBR1) B=TOS C=B H=C B=MDR C=B Η ή Β AND Η ή Β OR Η ή τίποτε MDR=C; TOS=C;wr goto(mbr1) Κύκλοι ρολογιού: 8X1/3=2.6 < 3 Αυτό που αλλάζει είναι η λειτουργία της ALU

33 Υλοποίηση της DUP στο Mic-3 SP=MAR=SP B=SP C=B+1 MAR=C; SP=C MDR=TOS;wr ;goto(mbr1) B=TOS C=B MDR=C; wr goto(mbr1) Κύκλοι ρολογιού: 5X1/3=1.6 < 2

34 Υλοποίηση της BIPUSH στο Mic-3 SP=MAR=SP B=SP C=B+1 MAR=C; SP=C MDR=TOS=MBR1;wr ;goto(mbr1) B=MBR1 C=B MDR=C; TOS=C;wr goto(mbr1) Κύκλοι ρολογιού: 5X1/3=1.6 < 2

35 Υλοποίηση της ΙΙΝC στο Mic MAR=LV+MBR1U;rd H=MBR1 A=LV; B=MBR1U C=A+B MAR=C; rd MDR=Mem B=MBR1 C=B H=C MDR=MDR+H;wr ;goto(mbr1) A=MDR;B=H C= A+B MDR=C;wr goto(mbr1) Κύκλοι ρολογιού: 8X1/3=2.6 < 3

36 Υλοποίηση της ILOAD στο Mic MAR=LV+MBR1U;rd MAR=SP=SP+1 A=LV;B=MBR1U C=A+B MAR=C;rd MDR=mem B=SP C=B+1 MAR=C; SP=C TOS=MDR;wr;goto(MBR1) B=MDR C=B TOS=C;wr goto(mbr1) Κύκλοι ρολογιού: 8X1/3=2.6 < 3

37 Υλοποίηση της ISTORE στο Mic-3 MAR=LV+MBR1U MDR=TOS;wr MAR=SP=SP-1;rd TOS=MDR;goto(MBR1) 1 A=LV;B=MBR1U 2 C=A+B 3 MAR=C B=TOS C=B MDR=C; wr B=SP C=B-1 MAR=C;SP=C;rd MDR=mem B=MDR C=B TOS=C goto(mbr1) Κύκλοι ρολογιού: 10X1/3=3.3 < 5

38 Διοχέτευση BIPUSH και ISTORE SP=MAR=SP+1 MDR=TOS=MBR1; MAR=LV+MBR1U MDR=TOS;wr MAR=SP=SP-1;rd TOS=MDR; wr ;goto(mbr1) goto(mbr1) B=SP C=B+1 B=MBR1 MAR=C; SP=C C=B A=LV;B=MBR1U MDR=C; TOS=C; wr C=A+B goto(mbr1) MAR=C B=TOS C=B MDR=C; wr B=SP C=B-1 MAR=C;SP=C;rd MDR=mem B=MDR C=B TOS=C goto(mbr1) Κύκλοι ρολογιού: 12X1/3=4

39 ILOAD, ILOAD, IADD, ISTORE MAR=LV+MBR1U;rd MAR=SP=SP+1 TOS=MDR;wr;* MAR=LV+MBR1U;rd MAR=SP=SP+1 TOS=MDR;wr;* A=LV;B=MBR1U 02 C=A+B B=SP 03 MAR=C;rd C=B+1 04 MDR=mem MAR=C; SP=C 05 B=MDR 06 C=B A=LV;B=MBR1U 07 TOS=C;wr C=A+B B=SP 08 * MAR=C;rd C=B+1 09 MDR=mem MAR=C; SP=C 10 B=MDR 11 C=B 12 TOS=C;wr * MAR=SP=SP-1;rd H=TOS MDR=TOS=MDR+H;wr;* MAR=LV+MBR1U MDR=TOS;wr MAR=SP=SP-1;rd TOS=MDR;* 12 B=SP 13 C=B-1 B=TOS 14 MAR=C;SP=C;rd C=B 15 MDR=mem H=C 16 B=MDR 17 C=B+H A=LV;B=MBR1U 18 MDR=C; TOS=C;wr C=A+B B=TOS 19 * MAR=C C=B B=SP MDR=C; wr C=B-1 MAR=C;SP=C;rd MDR=mem B=MDR C=B TOS=C *

40 Απόδοση Διοχέτευσης Επιτάχυνση 26Χ1/3 = 8.6 κύκλοι έναντι 14 κύκλων, speedup 1.63 (ιδεατό 3, για 3 βαθμίδες, αφού η IFU δεν επηρεάζει και η MEM συμμετέχει μέσω των αναφορών στη μνήμη). Σε μεγαλύτερο αριθμό εντολών η επιτάχυνση τείνει στο 2 (εκτελούνται το πολύ 2 εντολές ταυτόχρονα). Ωφελιμότητα 39 ενεργά στάδια / 3 στάδια Χ 26 κύκλοι = 39 / 78 = 50%. Υποθέσεις Χρόνος σταδίου διοχέτευσης = 1/3 του κύκλου ρολογιού Mic-1ή-2. Χρόνος προσπέλασης μνήμης = χρόνος σταδίου διοχέτευσης.

41 Μειονεκτήματα Μic-3 * Η χρήση μοντέλου στοίβας προκαλεί μόνιμο κίνδυνο δεδομένων τύπου RAW, Μ-type. Σχεδόν κάθε εντολή (όχι μόνο οι απαραίτητες ILOAD, ISTORE) περιέχει ενημέρωση μνήμης. * Πολλαπλές διελεύσεις ανά εντολή (μεγάλες εντολές). Το πολύ δύο εντολές στη διοχέτευση. Χρήση ALU για αυξήσεις-μειώσεις-διελεύσεις τιμών καταχωρητών. * Περιορισμένος αριθμός καταχωρητών με πολλαπλές εγγραφές και αναγνώσεις ανά εντολή. Έλλειψη επαρκούς αριθμού γενικών καταχωρητών. Λύσεις: Ελαχιστοποίηση προσπελάσεων στη μνήμη. Μεγάλος αριθμός καταχωρητών γενικού σκοπού. Συντομότερες, απλούστερες εντολές μιας διέλευσης. Περισσότερο υλικό.

42 Διοχέτευση Επτά Σταδίων: Mic-4 (1) + R0-R7 Ποιοί Καταχωρητές είναι περιττοί;

43 Διοχέτευση Επτά Σταδίων: Mic-4 (2) 1: Μονάδα Ανάκλησης Εντολών (IFU) 2: Αποκωδικοποίηση Εντολών (Decode) εντολές τύπου RISC 3: Ουρά Μικροεντολών (Queue) 4: Προσκόμιση Τελεστέων (Operands) από καταχωρητές 5: Εκτέλεση (Exec) απλή (όχι πολλαπλή) διέλευση 6: Εγγραφή Αποτελέσματος (Write Back) προς καταχωρητές 7: Επικοινωνία με Μνήμη (Memory) μόνο load, store

44 Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Μικροαρχιτεκτονική τριών διαύλων (Mic-2) Διοχέτευση (Mic-3 και Mic-4) Πρόβλεψη Διακλάδωσης και Υπερβαθμωτή εκτέλεση Kρυφή Μνήμη Μικροαρχιτεκτονική Pentium 4 και Υλοποίηση JVM

45 Υλοποίηση της GOTO στο Mic-3 H=PC PC=H+MBR2;fetch MBR=mem(PC);goto(MBR1) A=PC C=A-1 H=C; Στάση διοχέτευσης: Η επόμενη εντολή δεν εισάγεται A=H, B=MBR2 C=A+B PC=C;fetch MBR=mem goto(mbr1) Νέος PC διαθέσιμος Νέα εντολή διαθέσιμη Εισαγωγή νέας εντολής: Στάση 3 κύκλων Κύκλοι ρολογιού: 8X1/3.5 < 4 Στάση 4 κύκλων

46 Υλοποίηση της IFLT στο Mic MAR=SP=SP-1;rd OPC=TOS B=SP C=B-1 MAR=C;SP=C;rd MDR=mem B=TOS C=B OPC=C TOS=MDR B=MDR C=B TOS=C N=OPC; if(n) goto T; else goto F B=OPC C=B if (N) goto T; else goto F εκτέλεση μέρους GOTO Κύκλοι ρολογιού: 8X1/3=2.6 < 4 Στάση 2 κύκλοι + στάση μέρους GOTO (~4 κύκλοι): Συνολική στάση ~6 κύκλοι

47 Υλοποίηση της IFEQ στο Mic MAR=SP=SP-1;rd OPC=TOS B=SP C=B-1 MAR=C;SP=C;rd MDR=mem B=TOS C=B OPC=C TOS=MDR B=MDR C=B TOS=C Z=OPC; if(z) goto T; else goto F B=OPC C=B if (Z) goto T; else goto F εκτέλεση μέρους GOTO Κύκλοι ρολογιού: 8X1/3=2.6 < 4 Στάση 2 κύκλοι + στάση μέρους GOTO (~ 4 κύκλοι): Συνολική στάση ~ 6 κύκλοι

48 Υλοποίηση της IF_ICMPNEQ στο Mic-3 MAR=SP=SP-1;rd MAR=SP=SP-1 H=MDR;rd OPC=TOS TOS=MDR B=SP C=B-1 MAR=C;SP=C;rd MDR=mem Z=H-OPC; if(z) goto T; else goto F B=SP C=B-1 MAR=C B=MDR C=B B=TOS H=C;rd C=B MDR=mem OPC=C B=MDR C=B TOS=C A=H;B=OPC C=A-B if (Z) goto T; else goto F εκτέλεση μέρους GOTO Κύκλοι ρολογιού: 12X1/3=4 < 6 Στάση 2 κύκλοι + στάση μέρους GOTO (~4 κύκλοι): Συνολική στάση ~6 κύκλοι

49 Κίνδυνος Ελέγχου στο Mic-3 // if (i == 3) k = 0 else k = 1; ILOAD i BIPUSH 3 IF_ICMPEQ L1 BIPUSH 1 ISTORE k GOTO L2 L1: BIPUSH 0 ISTORE k L2: BIPUSH.. ISTORE.. Πρόγραμμα i==3 TRUE i==3 FALSE ILOAD i BIPUSH 3 IF_ICMPEQ L1 BIPUSH 1 ISTORE k GOTO L2 L1: L1: BIPUSH 0 ISTORE k L2: L2: BIPUSH.. ISTORE Ροή εντολών TRUE ILOAD i BIPUSH 3 IF_ICMPEQ L1 BIPUSH 1 ISTORE k GOTO L2 BIPUSH 0 ISTORE k BIPUSH.. ISTORE Ροή εντολών FALSE Στο TRUE οι πράσινες εντολές καθυστερούνται και δεν εισάγονται. Στο FALSE οι πράσινες εντολές καθυστερούνται και εισάγονται ενώ οι μπλέ καθυστερούνται και δεν εισάγονται λόγω GOTO.

50 Τύποι Διακλάδωσης Χωρίς συνθήκη (GOTO) Η εκτέλεση του GOTO αναιρεί την εκτέλεση ορισμένων εντολών που ακολουθούν και έχουν εισέλθει στη διοχέτευση. Προφανής λύση: πρόκληση στάσης (stall) με εντολές τύπου NOP μέχρι να η GOTO να φθάσει στη φάση εκτέλεσης, ώστε ο PC να λάβει τη σωστή τιμή. Με ειδικό υλικό η διάρκεια της στάσης μπορεί να μειωθεί (άμεση γνώση της διεύθυνσης διακλάδωσης). Με συνθήκη (απόφαση) (IFLT, IFEQ, IF_CMPEQ) Πριν την εκτέλεση της διακλάδωσης απαιτείται υπολογισμός της τιμής της συνθήκης. Αυτό επιβαρύνει ακόμη περισσότερο τη καθυστέρηση που θα επιβληθεί στη διοχέτευση γιατί απαιτείται κανονική εκτέλεση της εντολής (δε μπορεί να γίνει παράκαμψη τύπου GOTO).

51 Εναλλακτικές Λύσεις Εισαγωγή στάσης (stall) Απλή αλλά χρονοβόρα λύση, μειώνει την απόδοση της διοχέτευσης. Εκτίμηση μέσων καθυστερήσεων (CPI); Βελτίωση με ειδικό υλικό, ειδικά για GOTO. Πρόβλεψη Μη-Διακλάδωσης (IFLT, IFEQ, IF_CMPEQ) Εκτελούνται οι εντολές αμέσως μετά το IF: No Branch. Σε περίπτωση Αληθούς Συνθήκης οι εκτελεσθείσες εντολές πρέπει να αναιρεθούν (ενδεικτική συχνότητα 47%). Πρόβλεψη Διακλάδωσης (IFLT, IFEQ, IF_CMPEQ) Εκτελούνται οι εντολές αμέσως μετά το Label: Branch. Σε περίπτωση Ψευδούς Συνθήκης οι εκτελεσθείσες εντολές πρέπει να αναιρεθούν (ενδεικτική συχνότητα 53%).

52 Πρόβλεψη Διακλάδωσης Στατική Πρόβλεψη O compiler χρησιμοποιεί βοηθητικές εντολές διακλάδωσης που υποδεικνύουν Διακλάδωση ή Μη-Διακλάδωση (Branch, No Branch). Το πρόγραμμα εκτελείται με profiler για να διαπιστωθεί η συχνότητα επιλογής σε κάθε εντολή διακλάδωσης. Δυναμική Πρόβλεψη Η CPU κρατά τις διευθύνσεις και το ιστορικό των διακλαδώσεων. Εφαρμόζονται διάφοροι αλγόριθμοι πρόβλεψης με βάση το ιστορικό. Και στις δύο περιπτώσεις απαιτείται σύνθετο υλικό (στη δυναμική πρόβλεψη πιο σύνθετο).

53 Υπερβαθμωτή (Superscalar) Αρχιτεκτονική (1) Υπερβαθμωτός επεξεργαστής με πέντε λειτουργικές μονάδες, τοποθετημένος σε διοχέτευση πέντε σταδίων (Pentim II).

54 Υπερβαθμωτή (Superscalar) Αρχιτεκτονική (2) Χρόνος Α Β C D1 D2 D3 D4 D5 E Μονάδες Η Υπερβαθμωτή αρχιτεκτονική επιτρέπει την εκτέλεση πολλαπλών εντολών: Τα στάδια Α έως C 'αδειάζουν' γρήγορα. Η σειρά ολοκλήρωσης των εντολών μπορεί να είναι διαφορετική από τη σειρά εισαγωγής λόγω διαφορετικής καθυστέρησης μονάδων και χρήσης πολλαπλών καταχωρητών.

55 Εκτέλεση Εντός-Εκτός Σειράς Οι εντολές υποβάλονται (issue) με τη σειρά εμφάνισης στο πρόγραμμα. Οι εντολές αποχωρούν (retire) με τη σειρά εμφάνισης στο πρόγραμμα. Οι εντολές μπορεί να εκτελούνται εντός σειράς (in order) ή εκτός σειράς (out of order). Εντολές ή τμήματα εντολών (πράξεις) που δεν εξαρτώνται μεταξύ τους μπορεί να εκτελεστούν εκτός σειράς, με χρήση μετονομασίας καταχωρητών (register renaming). Τα αποτελέσματα αποθηκεύονται σε ενδιάμεσους (πρόχειρους) καταχωρητές και όταν η εξάρτηση λυθεί το αποτέλεσμα μεταφέρεται στον σωστό καταχωρητή. Η απόδοση διοχέτευσης και υπερβαθμωτής εκτέλεσης μπορεί να μην είναι βέλτιστη λόγω εξαρτήσεων δεδομένων (data dependencies) ή κινδύνων δεδομένων (data hazards). Δεδομένα μεταγενέστερων εντολών δεν είναι έτοιμα προς χρήση έγκαιρα.

56 Κανόνες Εκτέλεσης Εντολών 1. Αληθής Εξάρτηση Δεδομένων (Κίνδυνος RAW) Μια εντολή δεν μπορεί να εκτελεστεί αν ένας τελεστής (καταχωρητής) αναμένει να εγγραφεί. 2. Αντι-Εξάρτηση Δεδομένων (Κίνδυνος WAR, R-type) Μια εντολή δεν μπορεί να εκτελεστεί πλήρως αν ο προορισμός (καταχωρητής) αναμένει να διαβαστεί. Μπορεί όμως να εκτελεστεί με μετονομασία καταχωρητή προορισμού. 3. Eξάρτηση Εξόδου (Κίνδυνος WAW) Μια εντολή δεν μπορεί να εκτελεστεί πλήρως αν ο προορισμός (καταχωρητής) αναμένει να εγγραφεί. Μπορεί όμως να εκτελεστεί με μετονομασία καταχωρητή προορισμού.

57 Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Μικροαρχιτεκτονική τριών διαύλων (Mic-2) Διοχέτευση (Mic-3 και Mic-4) Πρόβλεψη Διακλάδωσης και Υπερβαθμωτή εκτέλεση Kρυφή Μνήμη Μικροαρχιτεκτονική Pentium 4 και Υλοποίηση JVM

58 Ιεραρχία Μνήμης καταχωρητές Static RAM L1: 16-64K L1 Instruction/Data on chip L2: K L2 on chip package L3: 128K -8M L3 on board Dynamic RAM: ως 16G Virtual memory HDD: ως Τ Εντολές καταχωρητών * * Εντολές μνήμης * Εντολές Ι/Ο Μια ιεραρχία μνήμης με πέντε (ή εννέα) φυσικά επίπεδα. Τα λογικά επίπεδα είναι τρία (σημειώνονται με *).

59 Κρυφή Μνήμη Σύστημα με τρία επίπεδα κρυφής μνήμης (Cache L1/2/3) που βρίσκονται σε διαφορετική θέση, και έχουν διαφορετική ταχύτητα, χωρητικότητα και λειτουργικότητα (Εντολές, Δεδομένα).

60 Γενικά Χαρακτηριστικά Κόστος L1 > Kόστος L2 > Κόστος L3 > Κόστος Κύριας Μνήμης. Ταχύτητα L1 < Ταχύτητα L2 < Ταχύτητα L3 < Ταχύτητα Κ. Μνήμης Μέγεθος L1 < Μέγεθος L2 < Μέγεθος L3 < Μέγεθος Κ. Μνήμης Μέγεθος Cache < 1% Μέγεθος Κύριας Μνήμης Διαφορές με Καταχωρητές: * Η Cache είναι διαφανής στο επίπεδο συνόλου εντολών (δεν υπάρχουν δηλαδή ειδικές εντολές γλώσσας μηχανής). * Η διαχείριση της Cache γίνεται από το υλικό, όχι το λογισμικό. * Η Cache αποθηκεύει δεδομένα και εντολές.

61 Παράδειγμα Ιεραρχίας Μνήμης ( με 2 επίπεδα cache ) Μεγαλύτερη Ταχύτητα Μεγαλύτερη Χωρητικότητα Processor Main Memory (DRAM) Virtual Memory, Secondary Storage (Disk) Control Registers Datapath On-Chip Level One Cache L1 Second Level Cache (SRAM) L2 Tertiary Storage (Tape) Ταχύτητα : 1-5ns 10ns 30ns 50ns 10ms 10sec Μέγεθος : <1KB <256KB <8MB <4GB >1GB TB Bandwidth : 150GB/s 50GB/s cslab@ntua GB/s 4GB/s 10MB/s

62 Αρχή Τοπικότητας Ένα πρόγραμμα έχει τη τάση να προσπελαύνει σε κάθε χρονική στιγμή δεδομένα και εντολές σε σχετικά περιορισμένο χώρο διευθύνσεων. Δύο ειδών τοπικότητες: Χρονική Τοπικότητα: Αν μια θέση μνήμης προσπελαστεί μια φορά, τότε πιθανότατα θα ξαναχρησιμοποιηθεί τις επόμενες χρονικές στιγμές. Παράδειγμα: εντολές βρόχων επανάληψης Χωρική Τοπικότητα: Αν μια θέση μνήμης προσπελαστεί, τότε πιθανότατα σύντομα θα προσπελαστούν και οι γειτονικές θέσεις μνήμης. Παράδειγμα: πίνακες και άλλες δομές δεδομένων.

63 Οργάνωση και Λειτουργία Οργάνωση δεδομένων (Τύποι Κρυφής Μνήμης): direct-mapped (άμεση χαρτογράφηση) set-associative (συνολοσυνειρμική) fully associative (πλήρως συνειρμική) Προσπέλαση δεδομένων (Διευθυνσιοδότηση): Tag line mod (#lines, #sets, #1) Ανάγνωση/Εγγραφή δεδομένων: Read / Write Hit / Miss Μηχανισμός Aντικατάστασης: Direct (Άμεσος) Least Recently Used (LRU) Λιγότερο Πρόσφατη Χρήση FIFO (First In First Out) Random (Τυχαίος) Μηχανισμός Eνημέρωσης : write-through ή write-back write-allocate ή write-no-allocate cslab@ntua

64 Τύποι Κρυφής Μνήμης (1) Άμεσης Χαρτογράφησης (Direct Mapped Cache) Κάθε λέξη μνήμης έχει μια μόνο πιθανή θέση στη cache. Σχετικά απλή στην υλοποίηση. Συνειρμική (Associative Cache) Κάθε λέξη μνήμης μπορεί να καταλάβει οποιαδήποτε θέση της cache. Πολύ ευέλικτη αλλά δαπανηρή στην υλοποίηση. Συνολοσυνειρμική (Set-associative Cache) Κάθε λέξη μνήμης έχει ένα συγκεκριμένο σύνολο πιθανών θέσεων στη cache. Παράδειγμα: Συνολοσυνειρμική κρυφή μνήμη τεσσάρων δρόμων.

65 Τύποι Κρυφής Μνήμης (2) Γραμμή Η γραμμή 12 μπαίνει οπουδήποτε Η γραμμή 12 μπαίνει Η γραμμή 12 μπαίνει μόνο στη θέση 4 οπουδήποτε μέσα στο 4=12 mod 8) set 0 (=12 mod 4) Γραμμή Γραμμή Cache Αρ. Γραμμής διεύθυνση της γραμμής δεδομένων Μνήμη Κρυφή μνήμη με 8 γραμμές και μνήμη με 32 γραμμές δεδομένων cslab@ntua

66 Κρυφή Μνήμη Άμεσης Χαρτογράφησης (a) Κρυφή μνήμη άμεσης χαρτογράφησης 64K bytes =2K Χ 32 bytes. Στο μέγεθος δεν λαμβάνονται υπ' όψη τα bits ελέγχου (Valid, Tag). (b) Εικονική διεύθυνση των 32 bits (ίση με τη φυσική).

67 Διεθυνσιοδότηση και Μεγέθη (1) Η εικονική διεύθυνση παράγεται από τη CPU και έχει την ίδια μορφή σε όλους τους τύπους κρυφής μνήμης και το μέγεθός της είναι ίσο με αυτό της φυσικής διεύθυνσης. Καθορίζεται από το μέγεθος της κύριας μνήμης. Θεωρούμε οτι έχουμε κύρια μνήμη με 2^32 bytes, άρα διεύθυνση μεγέθους 32 bits. Η μνήμη είναι οργανωμένη σε λέξεις (words) των 4(2^2) bytes, άρα έχουμε 2^30 λέξεις των 4 bytes. Εικονική Διεύθυνση LINE TAG 16 bits 11 bits WORD BYTE 3 bits 2 bits 32 bits

68 Διεθυνσιοδότηση και Μεγέθη (2) Δεδομένα (Data) ή Line ή Block Δεδομένων 8 λέξεις ή 32 bytes δεδομένων από κύρια μνήμη που αποθηκεύονται σε μια γραμμή της κρυφής μνήμης. Το μέγεθος αυτό καθορίζεται από την αρχιτεκτονική της κρυφής μνήμης και φαίνεται στο σχετικό πεδίο της εικονικής διεύθυνσης. Byte ή Byte Select (= Word / Byte ) Δείχνει αν γίνεται αναφορά σε μεμονωμένο byte. Το μέγεθος εξερτάται από τον αριθμό bytes ανά λέξη. Αφού έχουμε 4 bytes ανά λέξη, απαιτούνται 2 bytes, όταν είναι 00 προσπελέυνουμε πλήρη λέξη. Λέξη (Word) ή Block Offset Δείχνει σε ποιά λέξη της γραμμής γίνεται αναφορά. Αφού η κάθε γραμμή αποθηκεύει 32 bytes ή 8 words, απαιτούνται 3 bits από την εικονική διεύθυνση. Άρα στη κύρια μνήμη έχουμε 2^27 γραμμές ή blocks των 32 bytes.

69 Διεθυνσιοδότηση και Μεγέθη (3) Γραμμή (Line) ή Δείκτης (Index) ή Block Δείχνει ποιά καταχώρηση κρυφής μνήμης περιέχει τα αντίστοιχα δεδομένα της κύριας μνήμης, αν υπάρχουν. Αφού η κρυφή μνήμη έχει 2K γραμμές απαιτούνται 11 bits. Άρα οι 2^27 γραμμές (blocks) της κύριας μνήμης ομαδοποιούνται σε 2^11 ομάδες γραμμών που η κάθε μια περιέχει 2^16 γραμμές. Ετικέτα (Tag) Μια μοναδική τιμή 16 bits που καθορίζει μια από τις 2^16 γραμμές κάθε ομάδας (τα bits υψηλότερης τάξης από τη θέση κύριας μνήμης από όπου προέρχονται τα δεδομένα). Επομένως στην κρυφή μνήμη άμεση χαρτογράφησης μόνο μια από τις γραμμές κάθε ομάδας μπορεί να βρίσκεται στη κρυφή μνήμη, η γραμμή Tag Line mod #lines. 'Εγκυρo (Valid) Δείχνει αν η καταχώρηση έχει έγκυρα δεδομένα (1 bit).

70 Παράδειγμα Ομαδοποίησης Κάθε χρώμα ορίζει μια ομάδα γραμμών / block δεδομένων. Κάθε ομάδα μπορεί να αποθηκευθεί μόνο σε μία γραμμή της κρυφής μνήμης άμεσης χαρτογράφησης: (διεύθυνση γραμμής block) MOD (Αριθμός γραμμών / blocks στην cache) Στο παράδειγμά μας: (διεύθυνση block address) MOD (8) cache cache γραμμές (11101) MOD (1000) = γραμμές (blocks) δεδομένων cslab@ntua Μνήμη

71 Παράδειγμα Υλοποίησης Tag field Διεύθυνση (θέση των bit) Index field 2K γραμμές / blocks, κάθε block = 8 words, κάθε word = 4 bytes byte offset Hit/Miss index 16 b i t s v data Επιλογή λέξης tag block offset 8 Χ 4 bytes = 32 bytes = 256 bits tag data K γραμμές Mux 32 cslab@ntua

72 Συνολοσυνειρμική Κρυφή Μνήμη (1) 511 Συνολοσυνειρμική μνήμη τεσσάρων δρόμων.

73 Συνολοσυνειρμική Κρυφή Μνήμη (2) Η εικονική διεύθυνση έχει την ίδια μορφή με τη κρυφή μνήμη άμεσης χαρτογράφησης. Όμως έχουμε τη Η συνολοσυσχετιστική μνήμη 4 δρόμων αποθηκεύει 4 γραμμές της ίδιας ομάδας, άρα έχουμε 4 εναλλακτικές ετικέτες για κάθε γραμμή. Επομένως το σύνολο των τετράδων κάθε ομάδας είναι ίσο με 2^9 = 2^11 / 2^2. Αντίστοιχα τα tag bits αυξάνονται κατά δύο (δηλ. 18 = ) για να επιλέγουμε μια γραμμή από τη τετράδα. Tag Line mod (#lines/#sets) Εικονική Διεύθυνση TAG 18 bits LINE 9 bits WORD BYTE 3 bits 2 bits

74 Συνολοσυνειρμική Κρυφή Μνήμη (3) Στη περίπτωση της πλήρως συνειρμικής μνήμης έχουμε στην ουσία μια συνολοσυνειρμική μνήμη με 2^27 ομάδες-γραμμές των 32 bytes η κάθε μια (2^32 = 2^27 X 2^5). Άρα #lines = #sets και η προσπέλαση γίνεται με Tag Line mod (#lines/#sets) Επομένως 1 αν #sets = 1: αμεση χαρτογράφηση αν #sets = #lines: πλήρως συνειρμική αν 1 < #sets < #lines: συνολοσυνειρμική Εικονική Διεύθυνση TAG LINE 27 bits WORD BYTE 3 bits 2 bits

75 Συνολοσυνειρμική Κρυφή Μνήμη (4) 1-way set associative (direct mapped) block Tag Data 0 2-way set associative 1 Set 2 Χωρητικότητα cache : 8 words Tag Data Tag Data way set associative Set Tag Data Tag Data Tag Data Tag Data way set associative (fully associative) Tag Data Tag Data cslab@ntua Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data

76 Συνολοσυνειρμική Κρυφή Μνήμη (5) Διεύθυνση Tag Field In d ex V Tag D a ta V Tag D a ta Word/byte Index Field 3 2 V T ag D ata V T ag D ata sets 2048 block frames 4 to 1 multiplexer Hlt/Miss cslab@ntua data 4x32

77 Παράδειγμα οργάνωσης και διευθυνσιοδότησης κρυφής μνήμης Έστω κρυφή μνήμη με 128 γραμμές (block frames) Κάθε γραμμή (block frame) περιέχει 4 λέξεις (16 bytes) 16-bit διευθύνσεις μνήμης στην cache (64Kbytes κύρια μνήμη ή 4096 γραμμές) Δείξτε την οργάνωση της κρυφής μνήμης και τα πεδία της εικονικής διεύθυνσης: Fully Associative cache. Direct mapped cache. 2-way set-associative cache. cslab@ntua

78 Fully Associative Valid bit V V Oι 128 tags ελέγχονται παράλληλα από το hardware κατά την τοποθέτηση ενός data block στην cache V Διεύθυνση του Block = 12bits Tag = 12bits cslab@ntua Block Offset = 4bits

79 Direct Mapped Valid bit V V V Μόνο ένα tag ελέγχεται παράλληλα από το hardware κατά την τοποθέτηση ενός data block στην cache V Διεύθυνση του Block = 12bits Tag = 5bits Index = 7bits cslab@ntua Block Offset = 4bits Κύρια Μνήμη

80 2-Way Set-Associative Cache Δύο tags σε ένα set ελέγχονται παράλληλα από το hardware κατά την τοποθέτηση ενός data block στην cache Διεύθυνση του Block = 12bits Tag = 6bits Index = 6bits cslab@ntua Block Offset = 4bits Κύρια Μνήμη

81 Αλγόριθμος Ανάγνωσης 1. Η CPU παράγει μια εικονική διεύθυνση για Read. 2. Το υλικό διαβάζει τις κατάλληλες Γραμμές της κρυφής μνήμης ανάλογα με τον τύπο οργάνωσης. 3. Συγκρίνει τα bits Ετικέτας της εικονικής διεύθυνσης με τα bits Valid/Ετικέτας της Γραμμής (ή Γραμμών). Αν δεν υπάρχει συμφωνία τότε έχουμε Αποτυχία Ανάγνωσης (Read Miss). 4. Επιτυχία Ανάγνωσης (Read Hit). Με βάση το πεδίο Λέξη (Word) και Byte προσκομίζονται τα αντίστοιχα bytes από τα Δεδομένα (Data) από τη κατάλληλη Γραμμή, γίνεται η ανάγνωση. Τέλος. 5. Αποτυχία Ανάγνωσης (Read Miss). Η αντίστοιχη γραμμή προσκομίζεται από ανώτερο επίπεδο Κρυφής Μνήμης ή τελικά από τη Κύρια Μνήμη Αν η αποτυχία οφειλόταν στο Valid bit τότε έχουμε νέα Εγγραφή, αλλιώς 5.2. έχουμε Σύγκρουση που απαιτεί Αντικατάσταση. Τελικά γίνεται η ανάγνωση. Τέλος.

82 Αλγόριθμος Εγγραφής 1. Η CPU παράγει μια εικονική διεύθυνση για Write (ή προκύπτει εγγραφή λόγω του αλγορίθμου ανάγνωσης). 2. Το υλικό διαβάζει τις κατάλληλες Γραμμές της κρυφής μνήμης ανάλογα με τον τύπο οργάνωσης. 3. Συγκρίνει τα bits Ετικέτας της εικονικής διεύθυνσης με τα bits Valid/Ετικέτας της Γραμμής (ή Γραμμών). Αν δεν υπάρχει συμφωνία τότε έχουμε Αποτυχία Κρυφής Μνήμης (Write Miss). 4. Επιτυχία Εγγραφής (Write Hit). Με βάση το πεδίο Λέξη (Word) και Byte προσκομίζονται τα αντίστοιχα bytes από τα Δεδομένα (Data) στη κατάλληλη Γραμμή, γίνεται η Ενημέρωση. Τέλος. 5. Αποτυχία Εγγραφής (Write Miss) Αν η αποτυχία οφειλόταν στο Valid bit τότε έχουμε νέα Εγγραφή, αλλιώς 5.2. έχουμε Σύγκρουση που απαιτεί Αντικατάσταση. Τελικά γίνεται η εγγραφή (Δες Write Miss παρακάτω). Τέλος.

83 Αντικατάσταση Άμεσης Χαρτογράφησης Direct (Άμεσος): μια μόνη επιλογή. Συνειρμική και Συνολοσυνειρμική Least Recently Used (LRU) Λιγότερο Πρόσφατη Χρήση FIFO (First In First Out) Σειρά Εισόδου Random (Τυχαίος) Ενημέρωση, Εγγραφή Write Allocate + Write Back Στο write miss το block μεταφέρεται στη cache και ενημερώνεται. Η κύρια μνήμη ενημερώνεται μόνο στην αντικατάσταση. Write No-Allocate + Write Through Στο write miss το block ενημερώνεται στη κύρια μνήμη. Η κύρια μνήμη ενημερώνεται σε κάθε εγγραφή στη cache.

84 Λειτουργία (1) Σύστημα με διαδρομή δεδομένων 16 bit (1 λέξη = 2 bytes), Διευθύνσεις των 16 bit, άρα 2^16 bytes ή 2^15 λέξεις. H γραμμή της κρυφής μνήμης κρατά 16 λέξεις (32 bytes). Η μνήμη ομαδοποιείται σε 2^16/2^5 = 2^15/2^4 = 2^11 blocks (lines). H κρυφή μνήμη είναι τύπου Άμεσης Χαρτογράφησης και έχει συνολικά 8 γραμμές (2^3). Σε κάθε γραμμή αντιστοιχούν 2^11/2^3 = 2^8 blocks. Άρα η διευθυνσιοδότηση έχει τη μορφή Tag Line mod 8 Tag Line Word Byte Εικονική Διεύθυνση

85 Λειτουργία (2) word/byte Line 0xXX00-0xXX1F 0xXX20-0xXX3F 0xXX40-0xXX5F xXXE0-0xXXFF Κρυφή Μνήμη, αρχική κατάσταση 0x x x x x x x x xFC xFC xFD xFD xFE xFE xFF xFF x x x x x x x x xFC xFC xFD xFD xFE xFE xFF xFF

86 Λειτουργία (3) Tag Line Y 0x0Α Word 1001 Byte 0 (0x0A60-0x0A7F) READ 0x0A72. Read Miss (Valid bit). Νέα Εγγραφή. Ανάγνωση.

87 Λειτουργία (4) Tag Line Word 0100 Y 0x0Α (0x0A60-0x0A7F) Y 0x0C (0x0CA0-0x0CBF) Byte 0 READ 0x0CA8. Read Miss (Valid bit). Νέα Εγγραφή. Ανάγνωση.

88 Λειτουργία (5) Tag Line Word 1111 Y 0x01 (0x0100-0x011F) Y 0x0Α (0x0A60-0x0A7F) Y 0x0C (0x0CA0-0x0CBF) Byte 0 READ 0x011E. Read Miss (Valid bit). Νέα Εγγραφή. Ανάγνωση.

89 Λειτουργία (6) Αποτυχία Tag Line Word 0010 Y 0x01 (0x0100-0x011F) Y 0x0Α (0x0A60-0x0A7F) Y 0x0C Byte 0 Αντικατάσταση αν έχει (0x0CA0-0x0CBF) αλλάξει και προσκόμιση των νέων δεδομένων. READ 0x2464. Read Miss (Tag). Αντικατάσταση >>.

90 Λειτουργία (7) Overwrite Tag Line Word 0010 Y 0x01 (0x0100-0x011F) Y 0x24 (0x2460-0x247F) Y 0x0C (0x0CA0-0x0CBF) Byte 0 READ 0x2464. Read Miss (Tag). >> Αντικατάσταση. Ανάγνωση.

91 Λειτουργία (8) Tag Line Word 0111 Y 0x01 (0x0100-0x011F) Y 0x24 (0x2460-0x247F) Y 0x0C (0x0CA0-0x0CBF) Byte 1 READ 0x010F. Read Ηit. Ανάγνωση.

92 Λειτουργία (8) Tag Line Word x01 (0x0100-0x011F) Y 0x0Α (0x0A60-0x0A7F) Y 0x0C (0x0CA0-0x0CBF) Byte 0 WRITE 0x0CB0. Write Hit. Εγγραφή.

93 Απόδοση Κρυφής Μνήμης (1) Επιτυχία (hit) : το block βρίσκεται σε θέση του εξεταζόμενου επιπέδου κρυφής μνήμης hit rate : hits προς συνολικές προσπελάσεις μνήμης (ποσοστό) hit time/cycles : χρόνος/κύκλοι προσπέλασης των δεδομένων Αποτυχία (miss) : το block δεν υπάρχει στο εξεταζόμενο επίπεδο μνήμης miss rate : 1 (hit rate) miss penalty : χρόνος/κύκλοι μεταφοράς των δεδομένων ενός block στο συγκεκριμένο επίπεδο μνήμης + χρόνος/κύκλοι απόκτησης των δεδομένων από την CPU χρόνος/κύλοι προσπέλασης (access time/cycles) : χρόνος/κύκλοι απόκτησης της 1ης λέξης από τη μνήμη μέσος χρόνος/κύκλοι προσπέλασης (average access time/cycles) : hit time/cycle + miss rate X miss penalty cslab@ntua

94 Απόδοση Κρυφής Μνήμης (2) Για CPU με ένα μόνο επίπεδο (L1) cache και καθόλου πρόσθετη καθυστέρηση όταν έχουμε cache hit: Χρόνος CPU = χρόνος 1 κύκλου ρολογιού Χ { κύκλοι ρολογιού ανά εντολή κατά τη λειτουργία της CPU και για cache hit + κύκλοι ρολογιού λόγω καθυστέρησης από προσπέλαση της μνήμης λόγω cache miss (Mem stalls) } Mem stalls = αναγνώσεις x miss rate αναγνώσεων x miss penalty αναγνώσεων + εγγραφές x miss rate εγγραφών x miss penalty εγγραφών Αν τα miss penalties των αναγνώσεων και των εγγραφών είναι ίδια: Mem stalls = προσπελάσεις μνήμης x miss rate x miss penalty cslab@ntua

95 Παράδειγμα Έστω μία CPU λειτουργεί cache L1 και έχει CPIexecution = 1.1 cycles Εντολές: 50% arith/logic, 30% load/store, 20% control Έστω cache miss rate = 1.5% και miss penalty = 50 cycles. CPI = CPIexecution + Mem stalls/εντολή Mem Stalls/εντολή = Mem accesses /εντολή x Miss rate x Miss penalty Mem accesses /εντολή = = 1.3 cycles Instruction fetch Load/store Mem Stalls /εντολή = 1.3 x x 50 = cycles CPI = = cycles Η ιδανική CPU χωρίς misses είναι 2.075/1.1 = 1.88 φορές γρηγορότερη Ποιοί είναι οι χρόνοι με ρολόι 200 MHz (5 ns/cycle) ; cslab@ntua

96 Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Μικροαρχιτεκτονική τριών διαύλων (Mic-2) Διοχέτευση (Mic-3 και Mic-4) Πρόβλεψη Διακλάδωσης και Υπερβαθμωτή εκτέλεση Kρυφή Μνήμη Μικροαρχιτεκτονική Pentium 4 και Υλοποίηση JVM

97 Διάγραμμα Pentium 4 Επικοινωνία με Μνήμη Μονάδα Εκτέλεσης Δεδομένα Κρυφή Μνήμη L2 Ανάκληση Αποκωδ-ση Υπερβαθμωτή Εκτέλεση Ουρά Εντολών Μικροεντολές Υποβολή Αποχώρηση Πρόβλεψη Διακλάδωσης Κύρια Μονάδα Ελέγχου Έλεγχος Σειράς Εκτέλεσης

98 Εικόνα Intel Pentium 4

99 Δίαυλος NetBurst Pentium 4

100 Υλοποίηση JVM (1) o stack σε register file

101 Σύμπτυξη εντολών (1) Κίνηση στη στοίβα για την ακολουθία ILOAD, ILOAD, IADD, ISTORE (a) Χωρίς σύμπτυξη εντολών (b) Με σύμπτυξη χωρίς σύμπτυξη εντολών

102 (a) (b) Σύμπτυξη εντολών (2) (a) Ομάδες εντολών της JVM (b) Σύμπτυξη ομάδων εντολών της JVM

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Organization, W. Robinson, CS-231,

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

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Μικροαρχιτεκτονική Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Organization, W. Robinson, CS-231,

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

Processor-Memory (DRAM) ιαφορά επίδοσης

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 Performance Processor-Memory Performance Gap: (grows 5% /

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

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

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

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

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

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

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

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

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

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

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

Processor-Memory (DRAM) ιαφορά επίδοσης

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 Performance Processor-Memory Performance Gap: (grows 5% /

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

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

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

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

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

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

Processor-Memory (DRAM) Διαφορά επίδοσης

Processor-Memory (DRAM) Διαφορά επίδοσης Performance Processor-Memory (DRAM) Διαφορά επίδοσης 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 µproc 6%/yr Processor-Memory Performance Gap: (grows 5%

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

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση

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

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

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

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

Οργάνωση Ιεραρχίας Μνήμης - Caches

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

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

Α. Δίνονται οι. (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 ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:

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

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

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

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

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης

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

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

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

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

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 H Μικρο-αρχιτεκτονική μας 4 1 0 PCSrc IF/ID Control ID/EX

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

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

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

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

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

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

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

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Αρης Ευθυμίου Διαδικαστικά Ιστοσελίδα μαθήματος: h:p://www.cs.uoi.gr/~plmy07/ Διαφάνειες μαθημάτων, κτλ 2 Γρήγορη εκτέλεση σειριακού

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

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

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

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

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

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

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

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

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

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

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

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

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

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

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

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

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

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

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

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

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

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

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

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n; Άσκηση 1 η Μέρος Α Ζητούμενο: Δίνεται το παρακάτω πρόγραμμα σε C καθώς και μια μετάφραση του σε assembly MIPS. Συμπληρώστε τα κενά. Σας υπενθυμίζουμε ότι ο καταχωρητής $0 (ή $zero) είναι πάντα μηδέν. int

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

3. Γλώσσα μηχανής IJVM 4. Σχεδιαστικές επιλογές 5. Κρυφή μνήμη

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

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

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

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

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

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

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

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

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

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

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

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

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

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

ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018

ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 Ηµεροµηνία Παράδοσης πρώτου µέρους: 25/10/2018 Θα πρέπει να παραδώσετε

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

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

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

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

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

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

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

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

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

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

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

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

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

Αρχιτεκτονική Υπολογιστών Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών Εισαγωγή Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52,

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 4 : Ενδιάμεση Μνήμη (Cache Memory) Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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