ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
|
|
- Ἐπαφρᾶς Αγγελοπούλου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Εξετάσεις Σεπτεμβρίου 2010 Διάρκεια 2:45 ώρες Οι εξετάσεις θα πραγματοποιηθούν ΧΩΡΙΣ την παρουσία βιβλίων, βοηθημάτων ή άλλου είδους σημειώσεων. Το μόνο που επιτρέπεται να έχετε μαζί σας είναι ένα φύλλο Α4 στο οποίο μπορείτε να έχετε γράψει ό,τι έχετε κρίνει πιο σημαντικό για το μάθημα και θέλετε να το έχετε ως βοήθημά σας. Απαγορεύεται η ανταλλαγή οποιουδήποτε αντικειμένου κατά την ώρα της εξέτασης, ούτε και των φύλλων Α4 που είναι ατομικά. Θέμα 1ο (15%) Α. Δώστε τους ορισμούς για τις RAW, WAR, WAW εξαρτήσεις καθώς και ένα παράδειγμα κώδικα για κάθε μια. Με ποιον τρόπο επιλύονται οι αντίστοιχοι hazards στις αρχιτεκτονικές που χρησιμοποιούν τον αλγόριθμο Tomasulo με ROB; RAW: Όταν μια εντολή παράγει μια τιμή που χρησιμοποιείται ως όρισμα από μια επόμενη. add $r1, $r2, $r3 sub $r5, $r1, $r6 WAR: Όταν μια μεταγενέστερη εντολή γράφει σε ένα καταχωρητή που πρέπει να διαβαστεί από μια προγενέστερη εντολή. sub $r5, $r1, $r6 add $r1, $r2, $r3 WAW: Όταν 2 εντολές γράφουν στον ίδιο καταχωρητή. Αν η εγγραφή γίνει out-of-order τότε ο καταχωρητής θα έχει τη λάθος τιμή. add $r1, $r2, $r3 sub $r1, $r4, $r5 Ο Tomasulo επιλύει τους WAR και WAW hazards με register renaming. Οι RAW επιλύονται με stalls, μέσω των RSs όπου οι εντολές περιμένουν να παραχθούν τα ορίσματα που χρειάζονται και forwarding των τιμών μέσω του CDB. (2%) B. Αναφέρατε δύο λόγους για τους οποίους η τεχνική βελτιστοποίησης loop unrolling βελτιώνει την απόδοση και ένα λόγο για τον οποίο μπορεί να τη μειώσει. Βελτίωση απόδοσης : Λιγότερα loop conditional evaluations Λιγότερα branches/jumps Μεγαλύτερη δυνατότητα για reordering εντολών που ανήκουν σε διαφορετικά iterations Δυνατότητα για συγχώνευση loads και stores που ανήκουν σε διαφορετικά iterations Μείωση απόδοσης : Αυξημένος φόρτος (pressure) στην I-cache Γ. Δίνεται ο παρακάτω κώδικας γραμμένος σε C : int touch_array(long *array, long size, long stride, long iter) 1
2 { long i, sum=0; long *p, *limit; limit = &(array[size-1]); for (i = 0; i < iter; i++) for (p = array; p < limit; p+= stride) sum += *p; returnsum; } Ο κώδικας έχει μεταγλωττιστεί με τέτοιο τρόπο ώστε οι βαθμωτές μεταβλητές να αποθηκεύονται σε καταχωρητές ενώ το overhead των εντολών ελέγχου του loop (reads και writes) έχει απομακρυνθεί. Ο κώδικας εκτελέστηκε για διαφορετικές τιμές του size και του stride. Η παρακάτω γραφική δείχνει το χρόνο εκτέλεσης του προγράμματος για κάθε περίπτωση. (i) Ποιο είναι το μέγεθος της cache σε ΚΒ; Δικαιολογήστε την απάντηση σας. Όταν ο πίνακας έχει στοιχεία η απόδοση πέφτει ενώ μέχρι εκείνο το σημείο διατηρείται σταθερή. Επομένως το μέγεθος της cache είναι * 8 bytes = 96KB. (ii) Ποιο είναι το μέγεθος του cache bock της cache σε bytes; Δικαιολογήστε την απάντηση σας. Για stride 1,2,3 η απόδοση είναι καλύτερη από ότι για stride 4, ενώ από εκεί και πέρα δεν υπάρχει μεταβολή. Αυτό σημαίνει ότι για 1,2,3 υπάρχουν πολλαπλά hits σε κάθε block, τα οποία και εξαφανίζονται για stride 4. Επομένως το block size είναι 4 * 8 = 32 bytes. Θέμα 2 ο (20%) Α. Δίνεται ένας Tournament Branch Predictor, ο οποίος αποτελείται από τα εξής 3 δομικά στοιχεία. P1: Ένας (1,1) global history predictor, με όλους τους προβλέπτες αρχικοποιημένους στο NT. P2: Ένας πίνακας με 2-bit predictors, με όλους τους προβλέπτες αρχικοποιημένους στο 01. P3: Ένας πίνακας με 1-bit predictors, ο καθένας από τους οποίους δείχνει ποιος από τους P1, P2 θα χρησιμοποιηθεί για την πρόβλεψη του συγκεκριμένου άλματος. Όλοι οι προβλέπτες είναι αρχικοποιημένοι να δείχνουν τον P2. Ο Tournament Predictor προβλέπει το αποτέλεσμα της εντολής άλματος με βάση την πρόβλεψη του predictor που επιλέγει ο P3. Αν η πρόβλεψη αποδειχτεί ότι ήταν λάθος ενώ ο μη επελεγμένος predictor είχε προβλέψει σωστά, τότε ο P3 ενημερώνεται ώστε την επόμενη φορά να επιλέξει τον άλλο predictor. Αυτή είναι η μόνη περίπτωση στην οποία αλλάζει η κατάσταση του P3. Ο κώδικας που εκτελείται περιέχει 3 εντολές άλματος τις Branch1, Branch2 και Branch3. Ο παρακάτω πίνακας δείχνει τη σειρά με την οποία 2
3 εκτελούνται οι εντολές άλματος καθώς και το αποτέλεσμα κάθε μιας. Χρησιμοποιήστε έναν πίνακα όπως αυτός, για να δείξετε την πρόβλεψη που κάνει κάθε φορά ο Tournament Predictor καθώς και τη νέα τιμή των P1, P2, P3 με βάση τα εξής : Η τιμή του Ρ1 κωδικοποιείται ως X/Y όπου: o X η κατάσταση του 1-bit προβλέπτη που χρησιμοποιείται στην περίπτωση που η τελευταία εντολή άλματος ήταν Not Taken. o Y - η κατάσταση του 1-bit προβλέπτη που χρησιμοποιείται στην περίπτωση που η τελευταία εντολή άλματος ήταν Taken.. Η τιμή του Ρ2 κωδικοποιείται ως 00, 01, 10, ή 11. Η τιμή του P3 είναι είτε P1 είτε P2. Branch Αποτέλεσμα Πρόβλεψη Νέα τιμή του P1 Νέα τιμή του P2 Νέα τιμή του P3 Branch2 Branch3 Branch2 Branch3 Branch2 Branch3 Branch1 NT Branch2 T Ν Τ/Ν Ν/Ν P2 P2 Branch3 T Ν Τ/Ν Ν/Τ P2 P2 Branch1 T Branch2 NT Τ Τ/Ν Ν/Τ P1 P2 Branch3 T Τ Τ/Ν Τ/Τ P1 P2 Branch1 NT Branch2 T Τ Τ/Ν Τ/Τ P1 P2 Branch3 T Τ Τ/Ν Τ/Τ P1 P2 Branch1 T Branch2 NT Ν Τ/Ν Τ/Τ P1 P2 Branch3 T Τ Τ/Ν Τ/Τ P1 P2 Δε χρειάζεται να συμπληρώσετε τις γραμμές που αντιστοιχούν στο Branch1. Αυτές οι γραμμές δίνονται ώστε να φαίνεται η σειρά εκτέλεσης των εντολών και να έχετε το σωστό branch history για τον P1 προβλέπτη. Ο P2 χρησιμοποιεί το εξής FSM : Β. Σαν αρχιτέκτονες επιλέγετε να χρησιμοποιείτε ένα πίνακα από n-bit προβλέπτες αντί για ένα μοναδικό προβλέπτη τον οποίο μοιράζονται όλες οι εντολές άλματος. Γιατί; Δώστε μια ακολουθία αλμάτων όπου ο ρυθμός αποτυχημένων προβλέψεων είναι μικρότερος όταν 2 άλματα μοιράζονται τον ίδιο 1-bit προβλέπτη σε σχέση με την περίπτωση όπου κάθε ένα από τα 2 άλματα χρησιμοποιεί τον δικό του ξεχωριστό 1-bit προβλέπτη. Έστω 2 branches B1, B2 που εκτελούνται συνεχώς το ένα μετά το άλλο και μοιράζονται ένα 1 bit predictor, αρχικοποιημένο στο ΝΤ. Εντολή Β1 Β2 Β1 Β2 Β1 Β2 Β1 Β2 Αποτέλεσμα T NT NT T T NT NT T Πρόβλεψη ΝΤ Τ ΝΤ ΝΤ Τ Τ ΝΤ ΝΤ Σωστή όχι όχι ναι όχι ναι όχι ναι όχι 3
4 Ποσοστό επιτυχίας 3/8. Έστω τώρα ότι το κάθε branch έχει το δικό του 1 bit predictor. Για την ίδια ακολουθία θα είχαμε : Εντολή Β1 Β2 Β1 Β2 Β1 Β2 Β1 Β2 Αποτέλεσμα T NT NT T T NT NT T Πρόβλεψη ΝΤ ΝΤ Τ ΝΤ ΝΤ Τ Τ ΝΤ Σωστή όχι ναι όχι όχι όχι όχι Όχι όχι Ποσοστό επιτυχίας 1/8. Θέμα 3ο (30%) Δίνεται αρχιτεκτονική η οποία υλοποιεί τον αλγόριθμο Tomasulo χρησιμοποιώντας ROB για in-order commit εντολών. Το pipeline του επεξεργαστή περιέχει τα στάδια Issue (IS), Execute (EX), Write Result (WR) και Commit (CMT), αγνοούμε δηλαδή τα IF και ID. Ισχύουν επίσης τα ακόλουθα : Τα IS, WR, CMT απαιτούν 1 κύκλο. Το σύστημα περιέχει άπειρο αριθμό από reservation stations (RS). Το σύστημα περιλαμβάνει 2 non-pipelined integer functional unit. Στο ένα εκτελούνται προσθέσεις/αφαιρέσεις ακεραίων, οι οποίες διαρκούν 1 κύκλο, καθώς και η αφαίρεση που απαιτούν οι εντολές άλματος υπό συνθήκη. Στο δεύτερο εκτελούνται πολλαπλασιασμοί/διαιρέσεις ακεραίων, οι οποίοι διαρκούν 5 κύκλους. Η εντολή διαίρεσης ακεραίων αποθηκεύει το πηλίκο στον καταχωρητή Lo και το υπόλοιπο στον καταχωρητή Hi, από όπου μπορεί να μεταφερθεί με την εντολή MFHI. Η εντολή αυτή αντιμετωπίζεται από το σύστημα σαν μια απλή αριθμητική εντολή ακεραίων, διαρκεί ένα κύκλο και δεν απαιτεί την χρήση του integer functional unit. Το σύστημα περιλαμβάνει 2 non-pipelined floating point functional units, ένα για ADDD / SUBD και ένα για MULD / DIVD. Οι εντολές πρόσθεσης/αφαίρεσης διαρκούν 2 κύκλους, ενώ οι εντολές πολλαπλασιασμού/διαίρεσης 7 κύκλους. Για τις εντολές αναφοράς στη μνήμη, στο στάδιο EX γίνεται τόσο ο υπολογισμός της διεύθυνσης αναφοράς όσο και η προσπέλαση στη μνήμη. Το σύστημα περιλαμβάνει ένα Load και ένα Store Queue, τα οποία διαθέτουν 4 θέσεις. Οι εντολές χρησιμοποιούν ένα ξεχωριστό functional unit για τον υπολογισμό της διεύθυνσης και διαρκούν 2 κύκλους σε περίπτωση Hit στην cache και 6 κύκλους σε περίπτωση Miss. Ο ROB έχει 8 θέσεις. Το σύστημα περιλαμβάνει 1 CDB. Σε περίπτωση που παραπάνω από μια εντολές θέλουν να το χρησιμοποιήσουν, τότε προτεραιότητα αποκτά η παλαιότερη εντολή. Για τις εντολές διακλάδωσης υπό συνθήκη, το σύστημα χρησιμοποιεί έναν 3-bit predictor με συνολικά 16 εγγραφές (entries). Oι 3-bit predictors είναι αρχικοποιημένοι στο 000. Δίνεται το παρακάτω FSM του 3-bit predictor : Η πρόβλεψη για μια εντολή διακλάδωσης υπό συνθήκη γίνεται ταυτόχρονα με τη δρομολόγηση της εντολής. Ο έλεγχος της πρόβλεψης γίνεται αμέσως μόλις γίνει γνωστό το αποτέλεσμα της εντολής, δηλαδή στο στάδιο WR (κύκλος k). Σε περίπτωση σφάλματος, σταματά η εκτέλεση των λάθος εντολών και στον επόμενο κύκλο (κύκλος k+1) δρομολογείται η σωστή εντολή. 4
5 Δίνεται ο παρακάτω κώδικας : 0x LOOP: LD F2, 0(R2) 0x ADDD F4, F2, F3 0x MULD F6, F2, F4 0x C ADDD F0, F0, F6 0x DIVI R1, #2 // R4 = R1 % 2; 0x MFHI R4 0x BNEZ R4, L1 0x C ADDI R2, R2, #8 0x LD F2, 0(R2) 0x MULD F2, F2, F6 0x ADDD F0, F0, F2 0x C L1: ADDI R2, R2, #8 0x ADDI R1, R1, #1 0x SUBI R5, R5, #1 0x BNEZ R5, LOOP 0x C ADDI R2, R2, #8 0x SD F0, 0(R2) 0x ADDI R2, R2, #8 Ο καταχωρητής R2 περιέχει τη διεύθυνση του πρώτου στοιχείου ενός πίνακα Α, στον οποίο είναι αποθηκευμένοι αριθμοί διπλής ακρίβειας (μεγέθους 8 bytes ο καθένας). Η cache είναι fully associative απείρου μεγέθους, ενώ το μέγεθος του cache block είναι 8 bytes. Στην αρχή η cache είναι άδεια. Δίνονται επίσης οι αρχικές τιμές 1 και 2 για τους καταχωρητές R1 και R5 αντίστοιχα. Εκτελέστε τον παραπάνω κώδικα και δώστε τους χρόνους δρομολόγησης, εκτέλεσης και ολοκλήρωσης των εντολών σε έναν πίνακα όπως ο παρακάτω : Αφού ο πίνακας έχει 16 εγγραφές, θα χρησιμοποιούνται τα 4 τελευταία bits του PC των branches για να προσπελαύνεται ο αντίστοιχος predictor. Επομένως και τα 2 branches του κώδικα χρησιμοποιούν τον ίδιο predictor. 5
6 OP IS EX WR CMT Σχόλιο L.D F2, 0(R2) Cache Miss ADDD F4, F2, F RAW (F2) MULD F6, F2, F RAW (F4) ADDD F0, F0, F RAW (F6) DIVI R1,# CDB conflict MFHI R RAW (Hi) BNEZ R4, L pred = NT, res = T new_val = 001, ADDI R2, R2, # L.D F2, 0(R2) ROB full, Cache miss MULD F2, F2, F6 13 ROB full, RAW (F2) ADDI R2, R2, # CDB conflict ADDI R1, R1, # CDB conflict SUBI R5, R5, # CDB conflict BNEZ R5, LOOP RAW (R5), pred = NT, res = T new_val = 010, ADDI R2, R2, # SD F0, 0(R2) 25 L.D F2, 0(R2) Cache Hit ADDD F4, F2, F RAW (F2) MULD F6, F2, F RAW (F4) ADDD F0, F0, F RAW (F6) DIVI R1,# MFHI R RAW (Hi) BNEZ R4, L ADDI R2, R2, # CDB conflict, pred = NT, res = NT, new_val = 001 L.D F2, 0(R2) Cache Miss MULD F2, F2, F RAW (F2) ADDD F0, F0, F ROB full, RAW(F2) ADDI R2, R2, # ADDI R1, R1, # SUBI R5, R5, # BNEZ R5, LOOP pred = NT, res = NT, new_val = 000 ADDI R2, R2, # struct. hazard SD F0, 0(R2) RAW (R2), Cache Miss ADDI R2, R2, # ROB full 6
7 Θέμα 4ο (25%) Θεωρούμε το ακόλουθο κομμάτι κώδικα: float x[256][256], y[256][256]; int i,j; for(i=0; i<16; i++) for(j=0; j<256; j++) x[i][j] += y[i][j] + y[i+1][j]; Κάνουμε τις εξής υποθέσεις: 1. Το πρόγραμμα εκτελείται σε έναν επεξεργαστή με μόνο ένα επίπεδο κρυφής μνήμης δεδομένων, η οποία αρχικά είναι άδεια. Η κρυφή μνήμη είναι direct-mapped, write-allocate, και έχει μέγεθος 2ΚB. Το μέγεθος του block είναι 32 bytes, ενώ το μέγεθος ενός float είναι 4 bytes. 2. Η σειρά με την οποία γίνονται οι αναγνώσεις είναι x[i][j], y[i][j], y[i+1][j]. 3. Δήλωση διαδοχικών μεταβλητών συνεπάγεται αποθήκευση τους σε συνεχόμενες θέσεις μνήμης. 4. Οι πίνακες είναι ευθυγραμμισμένοι και αποθηκευμένοι κατά γραμμές. Α. Βρείτε το συνολικό ποσοστό αστοχίας (miss rate) για τις αναφορές που γίνονται στην μνήμη. Η cache έχει (2 * 2 10 ) / 2 5 = 2 6 = 64 blocks. Το κάθε block χωράει 8 στοιχεία από τον κάθε πίνακα. Η κάθε γραμμή των πινάκων καταλαμβάνει 256 * 4 = 1KB ή αλλιώς 32 blocks της cache. Επομένως η γραμμή x 0 θα καταλαμβάνει τα 32 blocks της cache και η x 1 τα επόμενα 32. Η x 2 θα καταλαμβάνει τα ίδια blocks με την x 0, η x 3 με τη x 1,., η x 255 με τη x 1. Έτσι η y 0 θα καταλαμβάνει τα ίδια blocks με τη x 0 κτλ. αφού οι 2 πίνακες είναι αποθηκευμένοι σε συνεχόμενες θέσεις της μνήμης. x[0][0] y[0][0] y[1][0] x[0][0] m m m m comp comp comp conf x[0][1] y[0][1] y[1][1] x[0][1] h m h m conf conf x[0][2] y[0][2] y[1][2] x[0][2] h m h m conf conf x[0][7] y[0][7] y[1][7] x[0][7] h m h m conf conf x[0][8] y[0][8] y[1][8] x[0][8] m m m m comp comp comp conf x[0][9] y[0][9] y[1][9] x[0][9] h m h m conf conf x[0][10] y[0][10] y[1][10] x[0][10] h m h m conf conf... x[0][15] y[0][15] y[1][15] x[0][15] h m h m conf conf.. x[0][248] y[0][248] y[1][248] x[0][248] m m m m comp comp comp conf x[0][249] y[0][249] y[1][249] x[0][249] h m h m conf conf x[0][250] y[0][250] y[1][250] x[0][250] h m h m conf conf x[0][255] y[0][255] y[1][255] x[0][255] h m h m conf conf Στο τέλος του iteration για i=0, η cache έχει τα εξής περιεχόμενα : X[0][0] X[0][7] X[0][8] X[0][15] X[0][16] X[0][23] X[0][248] X[0][255] 7
8 Y[1][0] Y[1][7] Y[1][8] Y[1][15] Y[1][16] Y[1][23] Y[1][248] Y[1][255] Με βάση τα mappings, η γραμμή x 1 θα αντιστοιχίζεται στα ίδια blocks με τη γραμμή y 1. Έτσι, θα έχουμε : x[1][0] y[1][0] y[2][0] x[1][0] m m m m comp conf comp conf x[1][1] y[1][1] y[2][1] x[1][1] h m h m conf conf x[1][2] y[1][2] y[2][2] x[1][2] h m h m conf conf. x[1][7] y[1][7] y[2][7] x[1][7] h m h m conf conf x[1][8] y[1][8] y[2][8] x[1][8] m m m m comp conf comp conf x[1][9] y[1][9] y[2][9] x[1][9] h m h m conf conf x[1][10] y[1][10] y[2][10] x[1][10] h m h m conf conf. x[1][15] y[1][15] y[2][15] x[1][15] h m h m conf conf.. x[1][248] y[1][248] y[2][248] x[1][248] m m m m comp conf comp conf x[1][249] y[1][249] y[2][249] x[1][249] h m h m conf conf x[1][250] y[1][250] y[2][250] x[1][250] h m h m conf conf x[1][255] y[1][255] y[2][255] x[1][255] h m h m conf conf Επομένως συνολικά έχουμε misses = 16 * 32 * 18 = 9216 και miss_rate = 9216/16384 = 56.25% Β. Ποιες από τις παρακάτω τεχνικές βελτιστοποίησης θα ακολουθούσατε προκειμένου να βελτιώσετε την απόδοση; Δικαιολογήστε την επιλογή ή μη-επιλογή κάθε τεχνικής. Για αυτές που επιλέξατε, υπολογίστε το νέο ποσοστό αστοχίας. 1. Αύξηση block size στα 64 bytes (με διατήρηση της χωρητικότητας της cache) Διπλασιάζοντας το μέγεθος του block διατηρώντας ταυτόχρονα σταθερή τη χωρητικότητα της cache, μειώνουμε στο μισό το πλήθος των blocks. Έτσι, πλέον η cache διαθέτει 32 blocks, κάθε ένα εκ των οποίων χωρά 16 στοιχεία από τον κάθε πίνακα. Αντίστοιχα επηρεάζονται και τα mappings, αφού τώρα κάθε γραμμή του πίνακα απαιτεί 16 αντί για 32 blocks. Τα conflicts όμως παραμένουν τα ίδια. Όσον αφορά το pattern των προσβάσεων στη μνήμη, για κάθε 16-άδα θα γλυτώνουμε 2 compulsory misses του x i και του y i+1.έτσι τα misses θα είναι τώρα misses = 16 * 16 * (18+16) = 8704 και miss_rate = % Αφού ο ρυθμός αστοχίας μειώνεται θα την επιλέγαμε. 2. Αύξηση associativity σε 2-way (με διατήρηση της χωρητικότητας της cache) Διπλασιάζοντας το associativity διατηρώντας ταυτόχρονα σταθερή τη χωρητικότητα της cache καταλήγουμε σε ένα σχήμα με 32 cache lines, καθεμιά από τις οποίες περιέχει 2 cache blocks. Αφού η 8
9 κάθε γραμμή του πίνακα καταλαμβάνει 32 cache blocks, συμπεραίνουμε πως ανά μια γραμμή θα έχουμε conflicts. Έτσι (υποθέτοντας LRU πολιτική) το pattern τώρα θα είναι : x[0][0] y[0][0] y[1][0] x[0][0] m m m m comp comp comp conf x[0][1] y[0][1] y[1][1] x[0][1] h m m m conf conf conf x[0][2] y[0][2] y[1][2] x[0][2] h m m m conf conf conf x[0][7] y[0][7] y[1][7] x[0][7] h m m m conf conf conf x[0][8] y[0][8] y[1][8] x[0][8] m m m m comp comp comp conf x[0][9] y[0][9] y[1][9] x[0][9] h m m m conf conf conf x[0][10] y[0][10] y[1][10] x[0][10] h m m m conf conf conf... x[0][15] y[0][15] y[1][15] x[0][15] h m m m conf conf conf.. x[0][248] y[0][248] y[1][248] x[0][248] m m m m comp comp comp conf x[0][249] y[0][249] y[1][249] x[0][249] h m m m conf conf conf x[0][250] y[0][250] y[1][250] x[0][250] h m m m conf conf conf x[0][255] y[0][255] y[1][255] x[0][255] h m m m conf conf conf Στο τέλος του iteration για i=0, η cache έχει τα εξής περιεχόμενα : X[0][0] X[0][7] Y[1][0] Y[1][7] X[0][8] X[0][15] Y[1][8] Y[1][15] X[0][16] X[0][23] Y[1][16] Y[1][23] X[0][248] X[0][255] Y[1][248] Y[1][255] όπου το LRU block κάθε cache line είναι αυτό που περιέχει τον πίνακα y. Έτσι για i = 1 θα έχουμε : x[1][0] y[1][0] y[2][0] x[1][0] m m m m comp conf comp conf x[1][1] y[1][1] y[2][1] x[1][1] h m m m conf conf conf x[1][2] y[1][2] y[2][2] x[1][2] h m m m conf conf conf. x[1][7] y[1][7] y[2][7] x[1][7] h m m m conf conf conf x[1][8] y[1][8] y[2][8] x[1][8] m m m m comp conf comp conf x[1][9] y[1][9] y[2][9] x[1][9] h m m m conf conf conf x[1][10] y[1][10] y[2][10] x[1][10] h m m m conf conf conf. x[1][15] y[1][15] y[2][15] x[1][15] h m m m conf conf conf.. x[1][248] y[1][248] y[2][248] x[1][248] m m m m comp conf comp conf x[1][249] y[1][249] y[2][249] x[1][249] h m m m conf conf conf x[1][250] y[1][250] y[2][250] x[1][250] h m m m conf conf conf x[1][255] y[1][255] y[2][255] x[1][255] h m m m conf conf conf 9
10 Επομένως misses = 16 * 32 * 25 = και miss_rate = %. Άρα δε θα επιλέγαμε τη τεχνική αυτή. 3. Loop distribution Ο κώδικας μπορεί να γραφτεί ως εξής : for(i = 0; i < 16; i++) for(j = 0; j < 256; j++) x[i][j] += y[i][j] for(i = 0; i < 16; i++) for(j = 0; j < 256; j++) x[i][j] += y[i+1][j] Για το πρώτο loop έχουμε : x[0][0] y[0][0] x[0][0] m m m comp comp conf x[0][1] y[0][1] x[0][1] h m m conf conf x[0][2] y[0][2] x[0][2] h m m conf conf x[0][7] y[0][7] x[0][7] h m m conf conf x[0][8] y[0][8] x[0][8] m m m comp comp conf x[0][9] y[0][9] x[0][9] h m m conf conf x[0][10] y[0][10] x[0][10] h m m conf conf... x[0][15] y[0][15] x[0][15] h m m conf conf misses = 16 * 32 * (3+14) = 8704, accesses = 16 * 32 *24 = Για το δεύτερο loop έχουμε : x[0][0] y[1][0] x[0][0] m m h comp comp x[0][1] y[1][1] x[0][1] x[0][2] y[1][2] x[0][2] x[0][7] y[1][7] x[0][7] x[0][8] y[1][8] x[0][8] m m h comp comp x[0][9] y[1][9] x[0][9] x[0][10] y[1][10] x[0][10]... x[0][15] y[1][15] x[0][15] misses = 16 * 32 * 2 = 1024, accesses = 16 * 32 *24 = Άρα miss_rate = 39.5%. Αυτός ο ρυθμός προκύπτει από την αύξηση των misses από 9216 σε 9728 και των συνολικών προσβάσεων στην ιεραρχία μνήμης από σε (αύξηση 50%). Επομένως, δε θα επιλέγαμε αυτή την τεχνική. 10
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Ασκήσεις Caches
Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1
Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,
Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Ασκήσεις Caches
Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1
Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών
Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω
Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Ασκήσεις Caches http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:
ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου
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
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Ασκήσεις Αρχιτεκτονικής Υπολογιστών
Ασκήσεις Αρχιτεκτονικής Υπολογιστών ακαδ. έτος 2008-2009 Άσκηση 1: caches Θεωρούμε το ακόλουθο κομμάτι κώδικα #define N 4 #define M 8 double c[n], a[n][m], b[m]; int i,j; for(i = 0; i < N; i++) for(j =
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
(Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Θέµατα Φεβρουαρίου
Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ
1 ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Λ - Ω) Εξέταση Μαρτίου 2014
AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
Αρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 5 η : Δυναμική Δρομολόγηση Εντολών (Διακλαδώσεις, Υποθετική & Υπερβαθμωτή Εκτέλεση) Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό
2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ
1.1 ΑΣΚΗΣΗ i) Έστω ότι οι εντολές κινητής υποδιαστολής ευθύνονται για το 25% του χρόνου εκτέλεσης ενός προγράµµατος σε ένα µηχάνηµα. Προτείνεται να βελτιωθεί το υλικό που σχετίζεται µε αριθµούς κινητής
Εντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer.
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές
Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών
Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Αρης Ευθυμίου Το σημερινό μάθημα Προσκόμιση (fetch) πολλαπλές εντολές ανά κύκλο Μετονομασία καταχωρητών
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται
Τελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Αρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 3 η : Μερική Επικάλυψη Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης
Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση 6: Ασκήσεις Χειμερινού Εξαμήνου 2017-2018 (μέρος Β ) Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 6: Ασκήσεις Εξαμήνου Μέρος Β Νοέμβριος 2016 Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση ενός
Πανεπιστήµιο Θεσσαλίας
Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 4: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής βασισµένος στην αρχιτεκτονική του πίνακα παρακολούθησης
Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το
Κεντρική Μονάδα Επεξεργασίας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018
ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 Ηµεροµηνία Παράδοσης πρώτου µέρους: 25/10/2018 Θα πρέπει να παραδώσετε
2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMMY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις Άσκηση 1: Διασωλήνωση
Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής Αρης Ευθυμίου Ταχύτερη εκτέλεση Με τις τεχνικές που είδαμε στα προηγούμενα μαθήματα μπορούμε να εκτελέσουμε (με επικάλυψη) περίπου 1 εντολή
ΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής WB Data Imm Επεξεργαστής DLX Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory Access Write Back
SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)
SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 7 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΔΙΑΔΟΧΙΚΕΣ ΔΙΑΔΙΚΑΣΙΕΣ Σειριακή εκτέλεση, χωρίς καμία επικάλυψη: 50ns 100ns Δ1 Χρόνος Δ2 Δ3 Συνολικός χρόνος ολοκλήρωσης
Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 8 ο Μερική Επικάλυψη Κίνδυνοι στη Μερική Επικάλυψη Αδυναμία ιδανικής εκτέλεσης με μερική επικάλυψη Εξαρτήσεις μεταξύ εντολών Ανάγκη εκτέλεσης λειτουργιών σε συγκεκριμένη σειρά
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης
Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Αρης Ευθυμίου Το σημερινό μάθημα Execu9on scheduling wake- up and select specula9ve wake- up Εκτέλεση εντολών
ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή
ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση
Αρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία
Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις
Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 11 (εργαστηριακή): Ασκήσεις Εξαμήνου Μέρος Γ Δεκέμβριος 2016 Γράψτε ένα πρόγραμμα προσομοίωσης
Cach O p i timisati tions
Cache Optimisations i 1 Διαφορά Επίδοσης Processor-Memory Performance Gap: (grows 50% / year) 2 SRAM vs DRAM 1-transistor DRAM cell 6-transistor SRAM cell 3 Intel 45nm 6T SRAM cell 4 Ιεραρχία Μνήμης Πρέπει
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ
ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε
Είδη των Cache Misses: 3C s
Είδη των Cache Misses: 3C s 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαμηλότερα επίπεδα μνήμης και να τοποθετηθεί στην cache (αποκαλούνται και cold start
(advanced_ca, ακ. έτος Cache Optimisations
Cache Optimisations Διαφορά Επίδοσης Processor-Memory Performance Gap: (grows 50% / year) Ιεραρχία Μνήμης Πρέπει να μειώσουμε το processor-memory performance gap Η προσπέλαση δεδομένων (code & data) δεν
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Σάββατο, 26 Νοεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 120 ΛΕΠΤΑ 1) Υλοποίηση
Υποθετική Εκτέλεση Εντολών
Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y»
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y» Σάββατο, 31 Οκτωβρίου 2015 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 150 ΛΕΠΤΑ ΘΕΜΑ 1.
Διάλεξη 12 Καθυστερήσεις (Stalls)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data
Οργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό
Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)
Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα
ΠΛΕ- 027 Μικροεπεξεργαστές
ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια
CS425 Computer Systems Architecture
CS425 Computer Systems Architecture Fall 2017 Dynamic Instruction Scheduling: Scoreboard CS425 - Vassilis Papaefstathiou 1 DLX Processor Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory
i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική
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 κάθε «φάση»
Παραλληλισμός σε επίπεδο εντολών
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης
Παραδείγματα Assembly (Μέρος
Παραδείγματα Assembly (Μέρος Β) 1 Άσκηση 1 Γράψτε ένα πρόγραμμα (4 εντολών) με το οποίο μπορείτε να προσθέσετε το περιεχόμενο των θέσεων μνήμης 0Χ30000000 και 0Χ30000001. Το αποτέλεσμα να αποθηκευτεί ως
Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων
Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών
Αρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Cache Optimizations
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Cache Optimizations Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 5ο μάθημα: πρόβλεψη διακλάδωσης, διαφοροποιημένη διοχέτευση, χρονοπρογραμματισμός Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου
Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση) Μανόλης Γ.Η.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση) Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό
Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων
Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από
Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών
Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Αρης Ευθυμίου Διαδικαστικά Ιστοσελίδα μαθήματος: h:p://www.cs.uoi.gr/~plmy07/ Διαφάνειες μαθημάτων, κτλ 2 Γρήγορη εκτέλεση σειριακού
Εικονική Μνήμη (Virtual Μemory)
ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1
και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath
O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I
Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 H Μικρο-αρχιτεκτονική μας 4 1 0 PCSrc IF/ID Control ID/EX
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΝΗΜΗ Πρωτόκολλα Συνέπειας Μνήµης σε Πολυεπεξεργαστικά Υπολογιστικά Συστήµατα ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙ
ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control
Αρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς