ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
|
|
- Πιλάτος Σαμαράς
- 6 χρόνια πριν
- Προβολές:
Transcript
1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Εξετάσεις Ιουλίου 2008 Διάρκεια 2,5 ώρες Οι εξετάσεις θα πραγματοποιηθούν ΧΩΡΙΣ την παρουσία βιβλίων, βοηθημάτων ή άλλου είδους σημειώσεων. Το μόνο που επιτρέπεται να έχετε μαζί σας είναι ένα φύλλο Α4 στο οποίο μπορείτε να έχετε γράψει ό,τι έχετε κρίνει πιο σημαντικό για το μάθημα και θέλετε να το έχετε ως βοήθημά σας. Απαγορεύεται η ανταλλαγή οποιουδήποτε αντικειμένου κατά την ώρα της εξέτασης, ούτε και των φύλλων Α4 που είναι ατομικά. Θέμα 1ο (2 μονάδες) Α. Είστε υπεύθυνοι σχεδιασμού ενός out-of-order επεξεργαστή με δυναμική δρομολόγηση (dynamic scheduling) και υποθετική εκτέλεση (speculative execution) εντολών. Ο επεξεργαστής που σχεδιάσατε έχει 8 Integer Functional Units (IUs), 4 Floating Point Units (FPUs), 256KB on-chip caches, 4 reservation stations για integer και 2 για floating point. O Reorder Buffer έχει 8 θέσεις, ενώ το pipeline αποτελείται από 25 στάδια. Τέλος, στο σχέδιο σας έχετε συμπεριλάβει ένα μικρό 2-bit branch predictor, ο οποίος αποδίδει σχετικά καλά. Οι εφαρμογές για τις οποίες θα χρησιμοποιηθεί ο επεξεργαστής έχουν λίγο κώδικα και επεξεργάζονται δεδομένα μεγέθους περίπου 64ΚΒ. Την περισσότερη ώρα οι εφαρμογές εκτελούν loops, των οποίων οι επαναλήψεις είναι μεταξύ τους ανεξάρτητες, ενώ σε κάθε μια από αυτές υπάρχει περιορισμένη δυνατότητα εκμετάλλευσης του ILP. Μετά την αξιολόγηση του σχεδίου, σας ενημερώνουν ότι υπάρχουν ακόμα διαθέσιμα transistors τα οποία θα μπορούσατε να χρησιμοποιήσετε με κάποιον από τους παρακάτω τρόπους : (i) Βελτίωση της ακρίβειας πρόβλεψης του branch predictor. Ο predictor αποδίδει σχετικά καλά και γνωρίζουμε ότι ο κώδικας μας περιέχει πολλά branches. Ταυτόχρονα, το pipeline είναι αρκετά μεγάλο καθιστώντας τις λάθος προβλέψεις πολύ ακριβές. Θα επιλέγαμε επομένως να αυξήσουμε την ακρίβεια του predictor (και μέσω αυτής την απόδοση του συστήματος). (ii) Αύξηση του μεγέθους της cache. Δεν θα το επιλέγαμε. Το σύστημα έχει ήδη αρκέτη μνήμη για να χωρέσει το working set των εφαρμογών, επομένως δε θα βλέπαμε σημαντική μείωση των miss rates. (iii) Προσθήκη περισσότερων reservation stations. Θα επιλέγαμε να προσθέσουμε περισσότερα RS, καθώς αυτό θα σήμαινε ότι το σύστημα θα είχε ένα μεγαλύτερο window στο οποίο θα έψαχνε για εντολές που θα μπορούσαν να εκτελεστούν παράλληλα. Θα 1
2 έδινε πχ. τη δυνατότητα στο σύστημα μας να εκμεταλλευτεί τυχόν παραλληλισμό μεταξύ διαφορετικών επαναλήψεων ενός loop. (iv) Προσθήκη περισσότερων IUs και FPUs. Δεν θα το επιλέγαμε, τουλάχιστον σε σύγκριση με τις υπόλοιπες επιλογές. Αν ο επεξεργαστής μας δεν έχει τη δυνατότητα να ανακαλύψει περισσότερο ILP τότε δεν έχει νόημα να προσθέσουμε περισσότερα execution units, καθώς θα μείνουν ανενεργά. (v) Προσθήκη περισσότερων θέσεων στον ROB. Ο ROB έχει πολύ λίγες θέσεις. Θα επιλέγαμε λοιπόν να τον μεγαλώσουμε, καθώς θα βοηθούσε να κρυφτούν οι μεγάλες καθυστερήσεις (λόγω long latency instructions) και θα έδινε τη δυνατότητα στον επεξεργαστή να ψάξει για παραλληλισμό σε ένα μεγαλύτερο window εντολών (όμοια με την (iii) ). Β. Για ποιο λόγο, οι αρχιτεκτονικές που χρησιμοποιούν τον αλγόριθμο Tomasulo χρειάζονται κάποιο μηχανισμό πρόβλεψης διακλάδωσης; Ο αλγόριθμος Tomasulo χρησιμοποιείται για την υλοποίηση out-of-order εκτέλεσης εντολών. Τα συστήματα αυτά επιτυγχάνουν βελτίωση της απόδοσης τους εκτελώντας εντολές οι οποίες ακολουθούν άλλες, οι οποίες όμως είναι blocked περιμένοντας το αποτέλεσμα κάποιων προηγούμενων εντολών από τις οποίες εξαρτώνται. Για να γίνει εφικτό αυτό, οι αρχιτεκτονικές αυτές απαιτείται να δρομολογούν πολλές εντολές, οι οποίες βρίσκονται πιο μπροστά στο instruction stream. Όταν λοιπόν συναντούν ένα branch απαιτείται ένας μηχανισμός πρόβλεψης, ώστε να ξέρουν ποιες εντολές πρέπει να δρομολογήσουν στη συνέχεια. Διαφορετικά, θα πρέπει να περιμένουν το αποτέλεσμα του branch χάνοντας έτσι το κέρδος της οοο execution. Γ. Υποθέστε ότι έχετε έναν επεξεργαστή ο οποίος υλοποιεί τον αλγόριθμο Tomasulo με τη βοήθεια ROB και ο οποίος έχει άπειρους επεξεργαστικούς πόρους (π.χ. άπειρα reservation units και άπειρα execution units). Υποθέστε επίσης ότι ο μηχανισμός πρόβλεψης διακλάδωσης είναι ιδανικός και πως δεν υπάρχουν dependencies μεταξύ των εντολών που εκτελούνται. Τέλος, το Fetch στάδιο μπορεί να φέρνει 12 εντολές ανά κύκλο, ενώ για τα υπόλοιπα στάδια δεν υπάρχουν περιορισμοί (π.χ. αποκωδικοποίηση άπειρων εντολών ανά κύκλο). (i) Αν όλες οι εντολές απαιτούν 1 κύκλο εκτέλεσης και ο ROB έχει άπειρες θέσεις ποιος είναι ο μέσος ρυθμός εκτέλεσης εντολών ανά κύκλο (IPC) του επεξεργαστή; Το IPC περιορίζεται μόνο από το ρυθμό με τον οποίο οι εντολές γίνονται fetched. Δεν υπάρχουν data dependencies ή branch mipredictions ενώ έχουμε και άπειρους επεξεργαστικούς πόρους. Επομένως IPC = 12 (ii) Αν για το σύστημα του ερωτήματος (i) έχετε κάθε 48 εντολές ένα load το οποίο αποτυγχάνει και το miss χρειάζεται 500 κύκλους για να ικανοποιηθεί, ποιο θα είναι το IPC του επεξεργαστή ; O ROB είναι άπειρος, δηλαδή συνεχίζουμε να κάνουμε fetch και issue 12 εντολές ανά κύκλο. Το κάθε miss χρειάζεται 500 κύκλους από το fetch μέχρι το commit, αλλά αυτές οι καθυστερήσεις κρύβονται μέσω του ROB και το average throughput παραμένει 12. (iii) Αν στο ερώτημα (ii) περιορίσετε τις θέσεις του ROB από άπειρες σε 48, το IPC του επεξεργαστή μεταβάλλεται; Αν το IPC είναι μικρότερο από 12, ποιο το μέγεθος του ROB που απαιτείται ώστε IPC = 12; 2
3 Προφανώς το IPC θα είναι μικρότερο του 12, μιας και λόγω του μεγέθους του ROB θα έχουμε stalls. Έστω ότι στον 1ο κύκλο έχουμε ένα load που προκαλεί miss. Το σύστημα θα συνεχίσει να φέρνει και να δρομολογεί εντολές μέχρι να γεμίσει ο ROB, δηλαδή 47 ακόμα εντολές θα γίνουν issued και μετά θα έχουμε stall. Στον κύκλο 500 το load που βρίσκεται στην κορυφή του ROB θα είναι έτοιμο να γίνει commit, μαζί βέβαια με τις υπόλοιπες 47 εντολές. Στο σημείο αυτό γίνεται issued το επόμενο load που προκαλεί miss και ο κύκλος επαναλαμβάνεται. Δηλαδή κάθε 500 κύκλους μπορούμε να κάνουμε commit 48 εντολές κι άρα IPC = 48 / 500 Για να έχουμε IPC = 12, πρέπει το σύστημα να μπορεί να διατηρεί ρυθμό εκτέλεσης 12 εντολές ανά κύκλο κατά τη διάρκεια των 500 κύκλων όπου περιμένουμε να ικανοποιηθεί το load (οι εντολές αυτές βέβαια θα γίνονται commit μαζί με το load). Επομένως απαιτείται το ROB να έχει τουλάχιστον 12 * 500 = 6000 θέσεις. Θέμα 2 ο (2 μονάδες) Α. Υποθέστε εντολές διακλάδωσης με τις παρακάτω συμπεριφορές : (i) T, T, T, T, T, T, N, T, T, T, T, T, T, T, T, N, T, T, T, T, T, T, T, T, T, N, T, T, T, T, T, T, T, T, T, T, N (ii) Τ, Τ, Τ, Τ, Τ, Ν, Ν, Ν, Ν, Ν, Ν, Ν, Ν, Τ, Τ, Τ, Τ, Τ, Τ, Τ, Τ, Τ, Τ, Ν, Ν, Ν, Ν, Ν, Τ, Τ, Τ, Τ, Τ, Τ, Τ (iii) T, T, T, T, N, T, T, T, T, T, T, N, T, T, T, T, T, T, T, N, N, N, N, N, T, N, N, N, N, N, N, T, N, N, N όπου Τ taken και N not-taken. Σας δίνονται επίσης οι επόμενοι μηχανισμοί πρόβλεψης : 1. static Taken 2. n-bit, όπου n = 1, 2 Ποιο μηχανισμό θα προτείνατε για κάθε μια από τις παραπάνω εντολές διακλάδωσης και γιατί; (Προφανώς αν 2 μηχανισμοί αποδίδουν το ίδιο καλά, τότε πρέπει να λάβετε υπόψη το κόστος του καθενός). O 2-bit predictor χρησιμοποιεί το παρακάτω FSM (finite state machine): (i) static Taken : 4 miss-predictions 1-bit : 7 miss-predictions (2 λάθη σε κάθε Τ,Ν,Τ) 2-bit : 4 miss-predictions (1 λάθος σε κάθε Τ,Ν,Τ) Επιλέγεται ο static Taken λόγω μικρότερου κόστους από τον 2-bit. (ii) static Taken : 13 miss-predictions 1-bit : 4 miss-predictions (1 λάθος σε κάθε Τ,Ν,Ν ή Ν,Τ,Τ) 2-bit : 8 miss-predictions (2 λάθη σε κάθε Τ,Ν,Ν ή Ν,ΤΤ) Επιλέγεται ο 1-bit. 3
4 (iii) static Taken : 16 miss-predictions 1-bit : 9 miss-predictions (1 λάθος σε κάθε Τ,Ν,Ν και 2 λάθη σε κάθε Τ,Ν,Τ ή Ν,Τ,Ν) 2-bit : 6 miss-predictions (2 λάθη σε κάθε Τ,Ν,Ν και 1 λάθος σε κάθε Τ,Ν,Τ ή Ν,Τ,Ν) Επιλέγεται ο 2-bit predictor. Β. Δίνονται οι παρακάτω εντολές διακλάδωσης : Β1 : Τ, Ν, Τ, Τ, Τ, Ν, Ν, Ν, Τ, Ν, Τ, Ν, Τ, Τ, Ν, Τ, Ν Β2 : Ν, Τ, Ν, Ν, Ν, Τ, Τ, Τ, Ν, Τ, Ν, Τ, Ν, Ν, Τ, Ν, Τ Εκτός από τους μηχανισμούς του ερωτήματος Α μπορείτε τώρα να χρησιμοποιήσετε και έναν (m,n) global history predictor, όπου m,n = 1,2. Ποιο μηχανισμό πρόβλεψης θα προτείνατε για τη διακλάδωση Β2 και γιατί; Παρατηρούμε πως το Β2 είναι διαρκώς το αντίθετο του Β1. Όταν δηλαδή το Β1 είναι Τ το Β2 είναι Ν και αντίστοιχα αν το Β1 είναι Ν το Β2 είναι Τ. Σε έναν global history predictor (m,n) θα αρκούσε ένας 1-bit local predictor, δηλαδή n = 1. Επίσης, επειδή το Β2 εκτελείται πάντα μετά από το Β1, αρκεί 1 bit ιστορίας (το οποίο θα κρατάει το αποτέλεσμα του Β1) για να προβλέπουμε το Β2, δηλαδή m = 1. Χρησιμοποιώντας λοιπόν έναν (1,1) predictor με κατάλληλη αρχικοποίηση θα είχαμε 100% ακρίβεια πρόβλεψης για το Β2. Θέμα 3ο (2.5 μονάδες) Α. Έστω ένας επεξεργαστής που υλοποιεί τον αλγόριθμο Tomasulo με out-of-order commit εντολών, καθώς και οι παρακάτω εντολές : 1. LD R1, 0(R2) 2. ADD R3, R4, R1 3. SUB R5, R4, R1 4. MUL R5, R4, R8 Υποθέστε επίσης τα εξής : Η αρχιτεκτονική διαθέτει 6 reservation stations, τα Load1, Load2, Add1, Add2, Mult1 και Mult2 Οι εντολές LD, ADD και SUB απαιτούν 5 κύκλους εκτέλεσης ενώ η MULT 7 κύκλους (i) Δώστε την εικόνα των reservation stations όταν γίνει issued και η 4η εντολή, δηλαδή όταν cycles = 4, φτιάχνοντας έναν πίνακα όπως παρακάτω: Name Busy Op Vj Vk Qj Qk Add1 Yes Add R[R4] Load1 Add2 Yes Sub R[R4] Load1 Mult 1 Yes Mul R[R4] R[R8] Mult 2 4
5 Busy Address Load1 Yes M[0+R2] Load2 Reg. res.st at us R1 R2 R3 R4 R5 R6 R7 R8 Qi Load1 Add1 Mult1 (ii) Δώστε τους χρόνους δρομολόγησης, εκτέλεσης και ολοκλήρωσης των εντολών, συμπληρώνοντας έναν πίνακα όπως ο παρακάτω : OP Issue Exec WB Σχόλιο LD R1, 0(R2) 1 2 -???? Αν για κάποιες εντολές υπάρχει καθυστέρηση μεταξύ Issue-Exec ή Exec-WB, χρησιμοποιήστε το πεδίο Σχόλιο για να την εξηγήσετε. Inst ruct ion j k IS EX WB LD R1 0 R ADD R3 R4 R SUB R5 R4 R MUL R5 R4 R Σημείωση: έχουμε υποθέσει 1 adder, οπότε η SUB θα πρέπει να περιμένει να τελειώσει πρώτα η ADD. (iii) Αν η αρχιτεκτονική χρησιμοποιούσε έναν ROB τι θα άλλαζε στα πιο πάνω αποτελέσματα; Υποθέστε ότι ο ROB έχει άπειρες θέσεις. IS EX WB CO Β. Δίνεται αρχιτεκτονική η οποία υλοποιεί τον αλγόριθμο Tomasulo χρησιμοποιώντας ROB. Το pipeline του επεξεργαστή περιέχει τα στάδια Issue (IS), Execute (EX), Write Result (WR) και Commit (CMT), αγνοούμε δηλαδή το IF. Ισχύουν επίσης τα ακόλουθα : 1. Τα IS, WR, CMT απαιτούν 1 κύκλο. 2. Στο στάδιο ΕΧ εκτελείται και ο υπολογισμός της διεύθυνσης μιας προσπέλασης στη μνήμη καθώς και η ίδια προσπέλαση. 3. Το σύστημα έχει άπειρα reservation stations καθώς και άπειρες θέσεις στον ROB. 4. Υπάρχουν 2 Integer Functional Units τα οποία χρησιμοποιούνται για όλες τις πράξεις integer αριθμών καθώς και όλες τις προσπελάσεις στη μνήμη. 5. Υπάρχουν 2 Floating Point Functional Units, τα οποία χρησιμοποιούνται για όλες τις πράξεις μεταξύ floating point αριθμών (προσθέσεις, πολλαπλασιασμούς, διαιρέσεις). 6. Δεν υπάρχει προώθηση μεταξύ των διαφόρων FUs. Τα αποτελέσματα μεταφέρονται σε κάθε reservation station μέσω του CDB. 5
6 7. Οι εντολές που χρησιμοποιούν τα Integer FUs απαιτούν 1 κύκλο εκτέλεσης, ενώ για αυτές που χρησιμοποιούν τα Floating Point FUs απαιτούνται 5 κύκλοι για ADD, 10 κύκλοι για MULT και 14 κύκλοι για DIV. 8. O επεξεργαστής είναι 2-wide superscalar, επομένως σε κάθε κύκλο 2 εντολές μπορούν να γίνονται issued, να γίνονται commit ή να βρίσκονται στο WR στάδιο (επομένως υπάρχουν 2 CDBs). Το σύστημα εκτελεί τις παρακάτω εντολές : 1. LD F0, 0(R1) 2. MUL.D F2, F1, F0 3. DIV.D F6, F2, F0 4. ADD.D F2, F4, F8 5. LD F5, 0(R3) 6. LD F10, 0(R2) 7. DIV.D F6, F1, F4 8. MUL.D F4, F0, F5 9. ADD.D F2, F7, F8 Δώστε τους χρόνους δρομολόγησης, εκτέλεσης και ολοκλήρωσης των εντολών συμπληρώνοντας έναν πίνακα όπως ο παρακάτω : OP IS EX WR CMT Σχόλιο LD F0, 0(R1) MUL.D F2,F1,F0?????????? Στο πεδίο Σχόλιο δικαιολογήστε τυχόν καθυστερήσεις μεταξύ ΙS-EX, EX-WR και WR-CMT. Inst ruct ion j k IS EX WB CO Σχόλιο LD F0 0 R MUL.D F2 F1 F α DIV.D F6 F2 F β ADD.D F2 F4 F LD F5 0 R LD F10 0 R DIV.D F6 F1 F γ MUL.D F4 F0 F δ ADD.D F2 F7 F ε Εκτός από τα stalls μεταξύ των σταδίων WB-CO που είναι απαραίτητα ώστε οι εντολές να γίνονται commit στη σειρά προγράμματος, τα υπόλοιπα stalls είναι τα εξής: α) Stall λόγω αναμονής F0 από την LD β) Αναμονή F2 από την 1η MUL. Μπορεί να ξεκινήσει από τον 15ο κύκλο και μετά, εφόσον βρει εκείνη τη στιγμή ελεύθερη fp μονάδα. Όμως στον 14ο κύκλο την μονάδα θα την πάρει η 2η MUL. γ) Stall λόγω αναμονής fp μονάδας. Τελειώνει πρώτη η 1η ADD στον κύκλο 7, οπότε η 2η DIV μπορεί να ξεκινήσει να εκτελείται από τον κύκλο 8. δ) Stall λόγω αναμονής fp μονάδας. Θα πάρει την μονάδα μόλις τελειώσει η 1η MUL. ε) Stall λόγω αναμονής fp μονάδας. Θα πάρει την μονάδα μόλις τελειώσει η 2η MUL (θα μπορούσε να πάρει τη μονάδα της 2ης DIV μόλις εκείνη τελειώσει στον κύκλο 21, όμως η 1η DIV έχει προτεραιότητα). 6
7 Θέμα 4ο (2,5 μονάδες) Α. Εξετάζουμε την εκτέλεση του ακόλουθου βρόχου ο οποίος αντιμεταθέτει έναν 256x256 πίνακα a και αποθηκεύει το αποτέλεσμα σε έναν πίνακα b. for(i=0; i<256; i++) for(j=0; j<256; j++) b[i][j] = a[j][i]; Οι πίνακες περιέχουν στοιχεία κινητής υποδιαστολής διπλής ακρίβειας, μεγέθους 8 bytes το καθένα. Κάνουμε τις εξής υποθέσεις: Το πρόγραμμα εκτελείται σε έναν επεξεργαστή με μόνο ένα επίπεδο κρυφής μνήμης δεδομένων, η οποία αρχικά είναι άδεια. H κρυφή μνήμη είναι πλήρως συσχετιστική (fully associative), writeallocate, έχει μέγεθος 16 ΚΒ, και έχει LRU πολιτική αντικατάστασης. Το μέγεθος του block είναι 64 bytes. Οι πίνακες είναι αποθηκευμένοι στην κύρια μνήμη κατά γραμμές. Επιπλέον, είναι ευθυγραμμισμένοι ώστε το πρώτο στοιχείο του καθενός να απεικονίζεται στην αρχή μιας γραμμής της κρυφής μνήμης. (i) Βρείτε το συνολικό ποσοστό αστοχίας (miss rate) για τις αναφορές που γίνονται στην μνήμη στον παραπάνω κώδικα. Κάθε cache line είναι 64 bytes, άρα σε 1 cache line χωράνε 8 στοιχεία κάποιου πίνακα. Επιπλέον, για την αποθήκευση 1 γραμμής ενός πίνακα απαιτούνται 8*256 = 2048 bytes, ενώ για την αποθήκευση 1 στήλης απαιτούνται 64*256 = 16ΚΒ (η αναφορά σε κάθε στοιχείο της στήλης οδηγεί στην φόρτωση καινούριας cache line). Αυτό αμέσως σημαίνει ότι τα στοιχεία μιας στήλης δεν μπορούν να επαναχρησιμοποιηθούν αφού απαιτούν ολόκληρη την cache για να αποθηκευτούν. Για την 1η επανάληψη του εξωτερικού loop, οι αναφορές που γίνονται είναι οι ακόλουθες: a 0,0 b 0,0 m m a 1,0 b 0,1 m h a 2,0 b 0,2 m h a 7,0 b 0,7 m h a 8,0 b 0,8 m m (νέα cache line για τον b) a 9,0 b 0,9 m h a 15,0 b 0,15 m h a 16,0 b 0,16 m m a 255,0 b 0,255 m h Το παραπάνω miss pattern επαναλαμβάνεται ανά 8 επαναλήψεις του εσωτερικού loop. Συνεπώς, θα έχουμε συνολικά 256/8 * 9 misses = 288 misses για 256 επαναλήψεις του εσωτερικού loop, δηλαδή για 1 επανάληψη του εξωτερικού loop. Στην επόμενη επανάληψη του εξωτερικού loop, δεν υπάρχει επαναχρησιμοποίηση σε κανέναν από τους δύο πίνακες. Συγκεκριμένα, η αναφορά στα τελευταία στοιχεία της 1ης γραμμής του b κατά την 1η επανάληψη του εξωτερικού loop, έχει οδηγήσει στον εκτοπισμό των πρώτων στοιχείων της 1ης (και μαζί της 2ης, 3ης,,8ης) στήλης του a, τα οποία θα μπορούσαν να επαναχρησιμοποιηθούν στις επόμενες επαναλήψεις του εξωτερικού loop. Συνεπώς, και στις επόμενες επαναλήψεις του εξωτερικού loop έχουμε το ίδιο miss pattern, δηλαδή θα έχουμε συνολικά 256*288 = misses σε σύνολο 2*256*256 αναφορών, που δίνει miss rate ίσο με 7
8 288/512 = 56.25%. (ii) Εφαρμόστε την τεχνική του blocking στον παραπάνω κώδικα παρουσιάζοντας τον βελτιστοποιημένο κώδικα. Ποιο block size θα επιλέγατε ως καταλληλότερο και γιατί; for(i=0; i<256; i+=bs) for(j=0; j<256; j+=bs) for(ii=i; ii<i+bs; ii++) for(jj=j; jj<j+bs; jj++) b[ii][jj] = a[jj][ii]; H επιλογή του block size πρέπει να γίνει με τέτοιο τρόπο ώστε τα 2 blocks, 1 για τον πίνακα a και 1 για τον πίνακα b, να χωράνε στην cache. Αυτό σημαίνει ότι κάθε block θα απαιτεί 8ΚΒ, δηλαδή θα απαρτίζεται από 1024 στοιχεία, επομένως θα έχει διάσταση 32x32. Επομένως bs=32. (iii) Για το block size που απαντήσατε στο ερώτημα β, υπολογίστε το ποσοστό αστοχίας για τον blocked κώδικα. Για την 1η επανάληψη του 2ου εσωτερικότερου loop (ii=0), οι αναφορές που γίνονται είναι οι εξής: a 0,0 b 0,0 m m a 1,0 b 0,1 m h a 2,0 b 0,2 m h a 7,0 b 0,7 m h a 8,0 b 0,8 m m a 9,0 b 0,9 m h a 15,0 b 0,15 m h a 16,0 b 0,16 m m a 17,0 b 0,17 m h a 23,0 b 0,23 m h a 24,0 b 0,24 m m a 25,0 b 0,25 m h a 31,0 b 0,31 m h Ανά 8 επαναλήψεις του loop jj το miss pattern επαναλαμβάνεται, οπότε έχουμε συνολικά 4*9=36 misses. Στην επόμενη επανάληψη του 2ου εσωτερικότερου loop (ii=1), θα έχουμε επαναχρησιμοποίηση στα στοιχεία του a (την οποία δεν καταφέραμε να έχουμε στην non-blocked έκδοση του κώδικα λόγω του ότι δουλεύαμε με πίνακες που δεν χωρούσαν στην cache). a 0,1 b 1,0 a 1,1 b 1,1 a 2,1 b 1,2 a 7,1 b 1,7 a 8,1 b 1,8 a 9,1 b 1,9 a 15,1 b 1,15 a 16,1 b 1,16 h m h m h m 8
9 a 17,1 b 1,17 a 23,1 b 1,23 a 24,1 b 1,24 a 25,1 b 1,25 a 31,1 b 1,31 h m Σε αυτή την περίπτωση έχουμε συνολικά 4*1=4 misses. H επαναχρησιμοποίηση στα στοιχεία του a θα συνεχιστεί και για ii=2,3,,7, όπου θα έχουμε και εκεί 4 misses ανά επανάληψη. Συνολικά λοιπόν, για ii=0,,7, θα έχουμε *4 = 64 misses. To pattern αυτό θα επαναλαμβάνεται για ii=8,,15, ii=16,,23, ii=24,,31 (όπου αλλάζει η στήλη για τον πίνακα a ώστε να φορτώνεται κανούρια cache line). Συνολικά επομένως, για μια πλήρη εκτέλεση των 2 εσωτερικότερων loops (για την εκτέλεση δηλαδή του αλγορίθμου σε επίπεδο block πίνακα), θα έχουμε 4*64 = 256 misses σε σύνολο 2*32*32=2048 αναφορών. Το miss pattern αυτό επαναλαμβάνεται για όλες τις επαναλήψεις των 2 εξωτερικότερων loops, για όλους δηλαδή τους συνδυασμούς blocks των πινάκων a και b (δεν υπάρχει επαναχρησιμοποίηση σε επίπεδο block, μόνο σε επίπεδο στοιχείων εντός του block). Επομένως, το miss rate ισούται με 256/2048 = 12.5%. 9
Ασκήσεις Caches
Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1
Διαβάστε περισσότεραΑσκήσεις Caches
Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΆσκηση 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 ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΑσκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Ασκήσεις Caches http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 5 η : Δυναμική Δρομολόγηση Εντολών (Διακλαδώσεις, Υποθετική & Υπερβαθμωτή Εκτέλεση) Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη
Διαβάστε περισσότεραΑσκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών
Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία
Διαβάστε περισσότεραΑ. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
Διαβάστε περισσότεραΔυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Διαβάστε περισσότεραΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:
ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου
Διαβάστε περισσότεραΑσκήσεις Αρχιτεκτονικής Υπολογιστών
Ασκήσεις Αρχιτεκτονικής Υπολογιστών ακαδ. έτος 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 =
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη
Διαβάστε περισσότερα2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
Διαβάστε περισσότεραΘέµατα Φεβρουαρίου
Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)
Διαβάστε περισσότεραAΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
Διαβάστε περισσότερα3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότερα(Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 11 (εργαστηριακή): Ασκήσεις Εξαμήνου Μέρος Γ Δεκέμβριος 2016 Γράψτε ένα πρόγραμμα προσομοίωσης
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 6: Ασκήσεις Εξαμήνου Μέρος Β Νοέμβριος 2016 Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση ενός
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση 6: Ασκήσεις Χειμερινού Εξαμήνου 2017-2018 (μέρος Β ) Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία
Διαβάστε περισσότεραΕντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer.
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές
Διαβάστε περισσότεραInstruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach
Instruction-Level Parallelism and its Dynamic Exploitation Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism (ILP) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΥπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΠαραλληλισμός σε επίπεδο εντολών
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής Αρης Ευθυμίου Ταχύτερη εκτέλεση Με τις τεχνικές που είδαμε στα προηγούμενα μαθήματα μπορούμε να εκτελέσουμε (με επικάλυψη) περίπου 1 εντολή
Διαβάστε περισσότεραΙόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το
Διαβάστε περισσότεραΥπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Τα όρια του Παραλληλισµού σε επίπεδο εντολών (Instruction Level Parallelism - ILP) Weiss and Smith [1984] Sohi
Διαβάστε περισσότεραΚεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότερα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
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής WB Data Imm Επεξεργαστής DLX Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory Access Write Back
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό
Διαβάστε περισσότεραΜέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότεραΠεριορισμοί των βαθμωτών αρχιτεκτονικών
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Περιορισμοί
Διαβάστε περισσότεραΠανεπιστήµιο Θεσσαλίας
Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 4: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής βασισµένος στην αρχιτεκτονική του πίνακα παρακολούθησης
Διαβάστε περισσότεραΤμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραChapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται
Διαβάστε περισσότεραΙεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης
Διαβάστε περισσότεραΟργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός
Διαβάστε περισσότεραΔιάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών
Διαβάστε περισσότεραΥποθετική Εκτέλεση Εντολών
Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών
Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Αρης Ευθυμίου Το σημερινό μάθημα Προσκόμιση (fetch) πολλαπλές εντολές ανά κύκλο Μετονομασία καταχωρητών
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 5ο μάθημα: πρόβλεψη διακλάδωσης, διαφοροποιημένη διοχέτευση, χρονοπρογραμματισμός Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 3 η : Μερική Επικάλυψη Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης
Διαβάστε περισσότερα1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ
1.1 ΑΣΚΗΣΗ i) Έστω ότι οι εντολές κινητής υποδιαστολής ευθύνονται για το 25% του χρόνου εκτέλεσης ενός προγράµµατος σε ένα µηχάνηµα. Προτείνεται να βελτιωθεί το υλικό που σχετίζεται µε αριθµούς κινητής
Διαβάστε περισσότεραΠαράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών Α. Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση
Διαβάστε περισσότεραΥπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Ανάγνωση εντολής (Instruction Fetch) Σε µία αρχιτεκτονική πλάτους s, πρέπει διαβάζονται s εντολές σε κάθε κύκλο
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη
Διαβάστε περισσότεραΤελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
Διαβάστε περισσότεραPipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το
Διαβάστε περισσότεραΕπιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης
Διαβάστε περισσότεραΥ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών
Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Αρης Ευθυμίου Διαδικαστικά Ιστοσελίδα μαθήματος: h:p://www.cs.uoi.gr/~plmy07/ Διαφάνειες μαθημάτων, κτλ 2 Γρήγορη εκτέλεση σειριακού
Διαβάστε περισσότεραSMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)
SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε
Διαβάστε περισσότεραΥπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε
Διαβάστε περισσότεραΔιάλεξη 12 Καθυστερήσεις (Stalls)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data
Διαβάστε περισσότεραΟργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 8 ο Μερική Επικάλυψη Κίνδυνοι στη Μερική Επικάλυψη Αδυναμία ιδανικής εκτέλεσης με μερική επικάλυψη Εξαρτήσεις μεταξύ εντολών Ανάγκη εκτέλεσης λειτουργιών σε συγκεκριμένη σειρά
Διαβάστε περισσότεραCS-425 Mid-term exam
CS-425 Mid-term exam Tuesday November 8th, 2005, 5-8 p.m. Aids: Non-programmable pocket calculator Only ONE problem solution PER PAGE! Put your NAME on each sheet. NUMBER each sheet. Mobile phones are
Διαβάστε περισσότεραΣυστήματα σε Ολοκληρωμένα Κυκλώματα
Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται
Διαβάστε περισσότεραΑρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή
ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση
Διαβάστε περισσότεραΑρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ
ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων
Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ
1 ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Λ - Ω) Εξέταση Μαρτίου 2014
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές
ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια
Διαβάστε περισσότεραΤο ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ
Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή
Διαβάστε περισσότεραΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018
ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 Ηµεροµηνία Παράδοσης πρώτου µέρους: 25/10/2018 Θα πρέπει να παραδώσετε
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:
Διαβάστε περισσότεραΔιάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης
Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης Αρης Ευθυμίου Το σημερινό μάθημα Πρόβλεψη διακλάδωσης (branch predicfon) ποιο είναι το πρόβλημα και τι προκαλεί πρόβλεψη κατεύθυνσης πρόβλεψη στόχου
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης
Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Αρης Ευθυμίου Το σημερινό μάθημα Execu9on scheduling wake- up and select specula9ve wake- up Εκτέλεση εντολών
Διαβάστε περισσότεραi Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Διαβάστε περισσότεραΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική
Διαβάστε περισσότερα2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMMY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις Άσκηση 1: Διασωλήνωση
Διαβάστε περισσότεραO επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΕισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων
Εισαγωγή Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων 1 Παράγοντες που επηρεάζουν την επίδοση της CPU CPU time = Seconds = Instructions Cycles Seconds --------------
Διαβάστε περισσότεραΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 7 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΔΙΑΔΟΧΙΚΕΣ ΔΙΑΔΙΚΑΣΙΕΣ Σειριακή εκτέλεση, χωρίς καμία επικάλυψη: 50ns 100ns Δ1 Χρόνος Δ2 Δ3 Συνολικός χρόνος ολοκλήρωσης
Διαβάστε περισσότεραΟργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Precise Exceptions Speculation Reorder Buffer. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Precise Exceptions Speculation Reorder Buffer Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Αρχιτεκτονική Scoreboard (CDC 6600) Registers FP Mult FP Mult FP Divide FP Add Integer
Διαβάστε περισσότεραΙόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control
Διαβάστε περισσότερα1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο
Διαβάστε περισσότερα