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

Σχετικά έγγραφα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

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

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

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

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;

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

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

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

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

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

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

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

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

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

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

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

1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ

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

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

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

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

Παραδείγματα Assembly (Μέρος

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

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

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

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

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

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

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

ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ Α. ΨΗΦΙΑΚΗ ΣΧΕ ΙΑΣΗ

Εντολές γλώσσας μηχανής

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

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2-

Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i) Εµφανίζει η παραπάνω ακολουθία καθυστέρηση στην εκτέλεση της σε µια δίοδο δεδοµένων µε αρχιτεκτονικ αγωγού (pipelined datapath); Σχεδιάστε ένα διάγραµµα χρονισµού σε δίοδο δεδοµένων των σταδίων, όπως αυτ φαίνεται στο σχµα της επόµενης σελίδας. ii) είξτε πως µπορεί κανείς να χρησιµοποισει ένα σχµα προώθησης, ανάλογο µε αυτό που φαίνεται στο παρακάτω σχµα για τις εντολές, ώστε να αποφεύγει την (ενδεχόµενη) καθυστέρηση. ώστε τις συνθκες (If (ID/EX.) όπως αυτές των σελ. 8-83) που πρέπει να ισχύουν για να γίνει η προώθηση. iii) Ξαναγράψτε την έκφραση στη σελίδα του βιβλίου ώστε να µην ανιχνεύεται πλέον η καθυστέρηση εξ αιτίας της παραπάνω ακολουθίας. cslab@ntua 2-

Θέµα ο (3%) συνέχεια cslab@ntua 2-

Λύση ου θέµατος (i) Εφαρµόζοντας τις υπάρχουσες προβλέψεις forwarding : Υποχρεωτικά εισάγεται µία καθυστέρηση : If ID/EX.MemRead and // lw στο στάδιο ID/EX ((ID/EX.RegRt = IF/ID.RegRs) or // η επόµενη εντολ χρησιµοποιεί (ID/EX.RegRt = IF/ID.RegRt)) // τον RegRt της lw then stall Και στη συνέχεια µε forwarding : If (MEM/WB.RegWrite and // lw στο στάδιο MEM/WB (MEM/WB.RegRt ) and // η επόµενη εντολ χρησιµοποιεί (MEM/WB.RegRt = ID/EX.RegRt)) // τον υποψφιο Reg της lw για WB then forward IF-ID-EX-MEM-WB IF - s -ID -EX -MEM WB cslab@ntua 2-

Λύση ου θέµατος (ii) Μπορούµενα εισάγουµε το εξς forwarding: IF-ID-EX-MEM-WB IF-ID-EX -MEM WB Προσθέτοντας τον έλεγχο : If (ID/EX.MemWrite and EX/MEM.MemRead and (ID/EX.RegRt=EX/MEM.RegRt and EX/MEM.RegRt )) then mux = else mux = M U X cslab@ntua 2-

Λύση ου θέµατος (ii) 2η Λύση : If (EX/MEM.MemWrite and MEM/WB.RegWrite and (EX/MEM.RegRt=MEM/WB.RegRt and MEM/WB.RegRt )) then mux = else mux = M U X cslab@ntua 2-

Λύση ου θέµατος (iii) Ο βρόχος πρόβλεψης των stalls µετά από εντολ lw (για την περίπτωση που στην επόµενη εντολ χρησιµοποιείται η τιµ της θέσης µνµης που φορτώνεται από τη µνµη) πρέπει να αλλάξει: If ID/EX.MemRead and ((ID/EX.RegRt = IF/ID.RegRs) or (ID/EX.RegRt = IF/ID.RegRt)) and not (IF/ID.MemWrite and (ID/EX.RegRt = IF/ID.RegRt)) and ID/EX.RegRt then stall cslab@ntua 2-

Θέµα 2ο (2%): Θέλουµενα συγκρίνουµε τη αποδοτικότητα χρσης µνµης που εµφανίζουν οι διάφορες αρχιτεκτονικές συνόλου εντολών (instruction set architectures) για δύο συγκεκριµένες ακολουθίες εντολών. Οι αρχιτεκτονικές συνόλου εντολών είναι: Συσσωρευτ (accumulator): (LDA mem_address, STA mem_address) Μνµης-Μνµης: (τρία ορίσµατα σε κάθε εντολ που είναι διευθύνσεις µνµης: load A, B, C κλπ) Στοίβας: (όλες οι πράξεις γίνονται στη κορυφ της στοίβας. Μόνο οι push και pop προσπελαύνουν τη µνµη, και όλες οι άλλες εντολές βγάζουν τους τελεστέους τους από τη στοίβα, εκτελείται η αντίστοιχη πράξη, και το αποτέλεσµα αποθηκεύεται στη στοίβα. Η εντολ dup ξανααποθηκεύει στη στοίβα το στοιχείο που ταν στην κορυφ της. Push A, Pop B, mul, sub κλπ). Φόρτωσης/Αποθκευσης (Load/Store): (όλες οι αριθµητικές εντολές έχουν ορίσµατα καταχωρητές, υπάρχουν καταχωρητές γενικού σκοπού, άρα bit για δεικτοδότηση κάθε ορίσµατος) Για να µετρσουµε την αποδοτικότητα στη χρση µνµης κάνουµε τις παρακάτω υποθέσεις: Το τµµα opcode (κώδικας εντολς) έχει µκος byte (8 bit) Οι διευθύνσεις µνµης έχουν µκος 2 bytes ( bit) Όλα τα ορίσµατα-δεδοµένα έχουν µκος bytes (32 bit) Όλες οι εντολές έχουν µκος ακέραιο αριθµό από bytes. εν υπάρχουν άλλου είδους βελτιστοποισεις αναφοράς στη µνµη, και όλες οι µεταβλητές A,B,C,D και E είναι αρχικά στη µνµη. cslab@ntua 2-

Θέµα 2ο (2%): i) γράψτε τις τέσσερις ακολουθίες εντολών για τα παραπάνω Instruction Sets της εντολς A=B+C. Για κάθε ακολουθία µετρστε το σύνολο των instruction και data bytes που φέρνετε από τη µνµη. α) Ποια αρχιτεκτονικ είναι πιο αποδοτικ σε σχέση µε το σύνολο των instruction bytes; β) Ποια αρχιτεκτονικ είναι πιο αποδοτικ σε σχέση µε το συνολικό πλθος των bytes (instruction+data) που ανταλλάσσονται µεταξύ CPU και µνµης (memory bandwidth) ii) επαναλάβετε το (i) για A= B* C D= A C E= A+ C Aν τα αποτελέσµατα είναι διαφορετικά από ότι στο (i), σχολιάστε. cslab@ntua 2-

Λύση 2ου θέµατος (i) : A = B + C Instr data ( bytes). load B + 2 add C + 2 store A + 2 2 2. add A, B, C + 2 + 2 + 2 3 7 2 3. push B + 2 push C + 2 add pop A + 2 2. load r, B +. + 2 = load r2, C +. + 2 = add r3, r, r2 + 3. = 3 store A, r3 +. + 2 = 2 cslab@ntua 2-

A = B * C Λύση 2ου θέµατος (ii) : D = A C E = A + C Instr data ( bytes). load B 3 mul C 3 store A 3 sub C 3 store D 3 load A 3 add C 3 store E 3 2 + 32 = 2. mul A, B, C 7 2 sub D, A, C 7 2 add E, A, C 7 2 cslab@ntua 2-2 + 3 = 7 Instr data 3. push C 3 dup push B 3 mul dup dup pop A 3 push C 3 sub pop D 3 add pop E 3 2 + 2 = 8

A = B * C Λύση 2ου θέµατος (ii) : D = A C E = A + C Instr data ( bytes). load r, B load r2, C mul r3, r, r2 3 store A, r3 sub r, r3, r2 3 store D, r add r, r3, r2 3 store E, r 2 + 2 = cslab@ntua 2-

Έστω το παρακάτω τµµα κώδικα: Loop: lw $, ($2) addi $, $, sw ($2), $ addi $2, $2, sub $, $3, $2 bnez cslab@ntua 2- Θέµα 3ο (3%): $, loop Η αρχικ τιµ του $3 είναι $2+3. Χρησιµοποιούµε µια δίοδο δεδοµένων µε αρχιτεκτονικ αγωγού (pipelined datapath) των σταδίων (IF, ID, EX, MEM, WB). Υποθέστε ότι όλες οι αναφορές στη µνµη ικανοποιούνται από τη κρυφ µνµη (cache hits).. είξτε το διάγραµµα εκτέλεσης των επιµέρους φάσεων για κάθε εντολ, µέσα στην αρχιτεκτονικ αγωγού, χωρίς την ύπαρξη κανενός είδους σχµατος προώθησης (διάγραµµα εκτέλεσης όπως στις διαφάνειες του µαθµατος). Υποθέστε ότι µπορείτε να διαβάσετε και να γράψετε στον ίδιο κύκλο µέσω του register file. Υποθέστε ότι η διακλάδωση γίνεται µε καθάρισµα (flushing) του αγωγού (pipeline). Πόσους κύκλους χρειάζεται για να εκτελεστεί ο παραπάνω βρόχος; 2. είξτε το διάγραµµα εκτέλεσης των επιµέρους φάσεων για κάθε εντολ, µέσα στην αρχιτεκτονικ αγωγού, µε την υποστριξη σχµατος προώθησης. Υποθέστε ότι µπορείτε να διαβάσετε και να γράψετε στον ίδιο κύκλο µέσω του register file. Υποθέστε ότι κάθε φορά θεωρούµε ότι δεν πρόκειται να γίνει η διακλάδωση (branch not taken). Πόσους κύκλους χρειάζεται τώρα για να εκτελεστεί ο παραπάνω βρόχος;

Λύση 3ου θέµατος (i) lw $, ($2) IF D EX MEM-WB addi $, $, IF s -s -ID EX MEM-WB sw ($2), $ IF s- s -ID EX MEM-WB addi $2, $2, IF-D EX MEM-WB sub $, $3, $2 IF-s s ID-EX MEM-WB bnez $, loop IF-s s -D EX MEM-WB... Επανάληψη του βρόχου : 3 / = φορές Συνολικά : x + 2 = 87 = cycles cslab@ntua 2-

Λύση 3ου θέµατος (ii) lw $, ($2) IF D EX MEM-WB addi $, $, IF ID s -EX MEM-WB sw ($2), $ IF s -ID EX MEM-WB addi $2, $2, IF-D EX MEM-WB sub $, $3, $2 IF-ID-EX MEM-WB bnez $, loop IF-ID EX MEM-WB... Επανάληψη του βρόχου : 3 / = φορές Συνολικά : x + 2 = 83 = cycles cslab@ntua 2-

Θέµα ο (%): ίνεται µια σειρά αναφορών σε διευθύνσεις λέξεων στη µνµη ενός υπολογιστ:,, 8,, 2, 7,,,,,, 3,,,, 7. Υποθέτουµε ότι έχουµε κρυφ µνµη µε οργάνωση: απευθείας απεικόνισης (direct mapped) µε blocks, όπου κάθε block έχει µέγεθος µια λέξη (word), απευθείας απεικόνισης (direct mapped), µε λέξεις (words) συνολικό µέγεθος cache, όπου κάθε block έχει µέγεθος τέσσερεις () λέξεις. συνόλου συσχέτισης 2-δρόµων (2-way set associative) µε συνολικό µέγεθος λέξεις (words) όπου κάθε block έχει µέγεθος µια λέξη (Υποθέστε LRU αλγόριθµο αντικατάστασης). είξτε για τις παραπάνω περιπτώσεις οργάνωσης της κρυφς µνµης, για κάθε αναφορά, αν είναι επιτυχς (hit) όχι (miss) καθώς και την τελικά περιεχόµενα της κρυφς µνµης. cslab@ntua 2-

Λύση ου θέµατος (i) index valid tag x-3 ιαθέτουµε cache µε blocks = 2 blocks index = (mem address) mod αλλιώς τα τελευταία bits της διεύθυνσης (σε 2-δικ µορφ) Αρχικά η cache είναι κεν (όλα τα valid flags = ) cslab@ntua 2-2 3 7 8 2 3

Λύση ου θέµατος (i) Κλση της διεύθυνσης : = index = mod = index valid tag x-3 2 3 7 8 2 3 cslab@ntua 2-

Λύση ου θέµατος (i) miss 8 2 7 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 2 3 7 8 2 3 mem[]

Λύση ου θέµατος (i) miss 8 2 7 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 2 3 7 8 2 3 mem[]

Λύση ου θέµατος (i) miss miss 8 2 7 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 2 3 7 8 2 3 mem[] mem[]

Λύση ου θέµατος (i) miss miss 8 2 7 3 7 cslab@ntua 2-8 = index = 8 mod = 8 index valid tag x-3 2 3 7 8 2 3 mem[] mem[]

Λύση ου θέµατος (i) miss miss 2 7 3 7 cslab@ntua 2-8 = index = 8 mod = 8 index valid tag x-3 2 3 7 8 2 3 mem[] mem[] mem[8]

Λύση ου θέµατος (i) miss miss miss 2 7 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 2 3 7 8 2 3 mem[] mem[] mem[] mem[8]

Λύση ου θέµατος (i) miss miss miss 2 miss 7 3 7 cslab@ntua 2-2 = index = 2 mod = index valid tag x-3 2 3 7 8 2 3 mem[] mem[] mem[] mem[8] tags :! =

Λύση ου θέµατος (i) miss miss miss 2 miss 7 3 7 cslab@ntua 2-2 = index = 2 mod = index valid tag x-3 2 3 7 8 2 3 mem[] mem[2] mem[] mem[8]

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss 3 7 cslab@ntua 2-7 = index = 7 mod = index valid tag x-3 2 3 7 8 2 3 mem[] mem[2] mem[] mem[8]

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss 3 7 cslab@ntua 2-7 = index = 7 mod = index valid tag x-3 mem[7] 2 3 mem[2] mem[] 7 8 mem[8] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss 3 7 cslab@ntua 2- = index = mod = 3 index valid tag x-3 mem[7] 2 3 mem[2] mem[] 7 8 mem[8] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss 3 7 cslab@ntua 2- = index = mod = 3 index valid tag x-3 mem[7] 2 3 mem[] mem[2] mem[] 7 8 mem[8] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss 3 7 cslab@ntua 2- = index = mod = 8 index valid tag x-3 mem[7] 2 3 mem[] mem[2] mem[] 7 8 mem[8] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss 3 7 cslab@ntua 2- = index = mod = 8 index valid tag x-3 mem[7] 2 3 mem[] mem[2] mem[] 7 8 mem[] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 mem[7] 2 3 mem[] mem[2] mem[] 7 8 mem[] mem[] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 mem[7] 2 3 mem[] mem[2] mem[] 7 8 mem[] mem[] mem[] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 7 cslab@ntua 2- = index = mod = index valid tag x-3 mem[7] 2 3 mem[] mem[2] mem[] 7 8 mem[] mem[] mem[] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 miss 7 cslab@ntua 2-3 = index = 3 mod = index valid tag x-3 mem[7] 2 3 mem[] mem[] mem[] 7 8 mem[] mem[] mem[] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 miss 7 cslab@ntua 2-3 = index = 3 mod = index valid tag x-3 mem[7] 2 3 mem[] mem[] mem[] 7 8 mem[] mem[] mem[3] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 miss hit 7 cslab@ntua 2- = index = mod = index valid tag x-3 mem[7] 2 3 mem[] mem[] mem[] 7 8 mem[] mem[] mem[3] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 miss hit miss 7 cslab@ntua 2- = index = mod = index valid tag x-3 mem[7] 2 3 mem[] mem[] mem[] mem[] 7 8 mem[] mem[] mem[3] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 miss hit miss hit 7 cslab@ntua 2- = index = mod = index valid tag x-3 mem[7] 2 3 mem[] mem[] mem[] mem[] 7 8 mem[] mem[] mem[3] 2 3

Λύση ου θέµατος (i) miss miss miss 2 miss 7 miss miss miss miss miss miss 3 miss hit miss hit 7 hit cslab@ntua 2-7 = index = 7 mod = index valid tag x-3 mem[7] 2 3 mem[] mem[] mem[] mem[] 7 8 mem[] mem[] mem[3] 2 3

Λύση ου θέµατος (ii) index = ( (mem address) div ) mod ιαθέτουµε cache µε blocks / = 2 = sets = 2 sets αλλιώς τα 2bitsτης διεύθυνσης που βρίσκονται στην 3- lsb θέση (σε 2-δικ µορφ) index valid tag x-3 x-7 x8-b xc-f 2 3 cslab@ntua 2- Αρχικά η cache είναι κεν (όλα τα valid flags = )

Λύση ου θέµατος (ii) miss 8 2 7 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] 2 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss 8 2 7 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] mem[] mem[] mem[] mem[7] 2 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss 2 7 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 8 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 7 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 2 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 2 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[] mem[2] mem[3] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 7 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 7 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[] mem[7] mem[8] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[] mem[7] mem[8] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[2] mem[2] mem[22] mem[23] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[] mem[] mem[2] mem[3] 3 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss hit 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[] mem[] mem[2] mem[3] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss hit hit 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[] mem[] mem[2] mem[3] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss hit hit miss 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[] mem[] mem[2] mem[3] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss hit hit miss 7 index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 = cslab@ntua 2-

Λύση ου θέµατος (ii) miss miss hit 2 miss 7 miss hit miss miss hit miss 3 miss hit hit miss 7 hit index valid tag x-3 x-7 x8-b xc-f mem[] mem[7] mem[8] mem[] mem[] mem[] mem[] mem[7] 2 mem[8] mem[] mem[] mem[] 3 7 = cslab@ntua 2-

Λύση ου θέµατος (iii) index valid tag x-3 ιαθέτουµε cache µε blocks / 2 = 3 = 8 sets = 2 sets index = (mem address) mod 8 αλλιώς τα 3 τελευταία bits της διεύθυνσης (σε 2-δικ µορφ) Αρχικά η cache είναι κεν (όλα τα valid flags = ) cslab@ntua 2-2 3 7

Λύση ου θέµατος (iii) miss 8 2 7 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7

Λύση ου θέµατος (iii) miss 8 2 7 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[]

Λύση ου θέµατος (iii) miss miss 8 2 7 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[]

Λύση ου θέµατος (iii) miss miss 2 7 3 7 cslab@ntua 2-8 = index = 8 mod 8 = index valid tag x-3 2 3 7 mem[8] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 7 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[8] mem[] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 3 7 cslab@ntua 2- = index = 2 mod 8 = index valid tag x-3 2 3 7 mem[8] mem[] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 3 7 cslab@ntua 2- = index = 2 mod 8 = index valid tag x-3 2 3 7 mem[8] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss 3 7 cslab@ntua 2-7 = index = 7 mod 8 = index valid tag x-3 2 3 7 mem[8] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss 3 7 cslab@ntua 2-7 = index = 7 mod 8 = index valid tag x-3 2 3 7 mem[8] mem[7] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss 3 7 cslab@ntua 2- = index = mod 8 = 3 index valid tag x-3 2 3 7 mem[8] mem[7] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[8] mem[7] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[7] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[7] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss 3 7 cslab@ntua 2- = index = mod 8 = 3 index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss 3 7 cslab@ntua 2- = index = mod 8 = 3 index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[] mem[] mem[] mem[2] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 miss 7 cslab@ntua 2-3 = index = 3 mod 8 = 3 index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[] mem[] mem[] mem[2] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 miss 7 cslab@ntua 2-3 = index = 3 mod 8 = 3 index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[3] mem[] mem[] mem[2] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 miss hit 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[3] mem[] mem[] mem[2] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 miss hit miss 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[3] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 miss hit miss hit 7 cslab@ntua 2- = index = mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[3] mem[] mem[] mem[2] mem[] mem[]

Λύση ου θέµατος (iii) miss miss miss 2 miss 7 miss miss miss miss miss hit 3 miss hit miss hit 7 hit cslab@ntua 2- = index = 7 mod 8 = index valid tag x-3 2 3 7 mem[] mem[8] mem[] mem[7] mem[3] mem[] mem[] mem[2] mem[] mem[]