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

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

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

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

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

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

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

Ασκήσεις Caches

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

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

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

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

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

Σειρά Ασκήσεων 11: Κρυφές Μνήμες και η Επίδοσή τους

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

Μικροβιολογία & Υγιεινή Τροφίμων

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

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

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

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

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

Αρχιτεκτονική-ΙI Ενότητα 4 :

ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache)

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

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

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Ηλεκτρονικοί Υπολογιστές I

Κρυφή Μνήµη. Λειτουργικά Συστήµατα ΙΙ UNIX. Μάθηµα: Aναπλ. Καθ. Κ. Λαµπρινουδάκης ιδάσκων: &καιτοπλήθοςτωνπλαισίωντηςκρυφήςµνήµης

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Cach O p i timisati tions

Ιστορία της μετάφρασης

Λειτουργικά Συστήματα

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

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

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

ΔΙΑΛΕΞΕΙΣ 6-7: ΚΡΥΦΗ ΜΝΗΜΗ (Cache)

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

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

Εισαγωγή στους Αλγορίθμους

Είδη των Cache Misses: 3C s

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Εφαρμοσμένη Στατιστική

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

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

Εισαγωγή στους Αλγορίθμους

Υπολογιστές Ι. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

(advanced_ca, ακ. έτος Cache Optimisations

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εφαρμοσμένη Στατιστική

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Εκκλησιαστικό Δίκαιο

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΦΥΣΙΚΟΧΗΜΕΙΑ ΙΙ

Βασικοί άξονες Μαθηματικά στην εκπαίδευση:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

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

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

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;

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Transcript:

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Κρυφή μνήμη, μέρος 2 Αρης Ευθυμίου πηγή διαφανειών: CS61C UCB

Το σημερινό μάθημα! Οργάνωση κρυφής μνήμης associajvity σχέση associajvity, αριθμού σετ, μεγέθους tag!!!! Αντικατάσταση γραμμών Χειρισμός εγγραφών Είδη αστοχιών Αξιολόγηση επιδόσεων κρυφών μνημών Επίδοση υπολογιστή με κρυφή μνήμη Μέσος χρόνος προσπέλασης! Πολλαπλά επίπεδα κρυφής μνήμης 2

Βασικές παράμετροι $! Μέγεθος γραμμής (Block / line size) Αριθμός bytes δεδομένων κάθε «θέσης» (γραμμής) της $! Αριθμός ways (associadvity) Αριθμός «θέσεων» σε κάθε σετ Direct- mapped => AssociaJvity = 1 Set- associajve => 1 < AssociaJvity < συνολικός αριθμός θέσεων $ Fully associajve => AssociaJvity = συνολικός αριθμός θέσεων $! Χωρητικότητα(bytes) = συνολικός αριθμ. γραμμών * μέγεθος γραμμής! συν. αριθμ. γραμμών = αριθμ. σετ * AssociaJvity 3

Οργάνωση set- associajve! Συχνά ονομάζονται Ν- way associajve N αριθμός θέσεων ενός σετ της κρυφής μνήμης Το Ν είναι η associadvity (συσχετιστικότητα) της κρυφής μνήμης 1 way! Συνολικός αριθμός των γραμμών της κρυφής μνήμης = αριθμός ways x αριθμός των σετ! μη μπερδεύετε ways με sets!! ο αριθμός των ways δεν είναι απαραίτητα δύναμη του 2 4

Τρόποι οργάνωσης $, 8 γραμμών! Στο παράδειγμα, 8- ways = fully associajve 5

AssociaJvity αριθμός σετ - tag! Για κρυφή μνήμη με σταθερό μέγεθος, διπλασιασμός στην associajvity διπλασιάζει τον αριθμό των γραμμών κάθε σετ (δλδ., τον αριθμό των ways) και διαιρεί τον αριθμό των σετ κατά 2 Μικραίνει το index κατά 1 bit και αυξάνει το tag κατά 1 bit Για σύγκριση με αποθηκευμένα for tag Tag επιλέγει το set Index Επιλέγει τη λέξη μέσα στη γραμμή Word offset Byte offset Αύξηση associajvity Μείωση associajvity Direct mapped (μόνο ένα way) Μικρότερα tags, μόνο ένας συγκριτής Fully associajve (μόνο ένα set) Το tag είναι όλα τα bits εκτός από το block and byte offset 6

Κόστος set- associajve $! Σύγκριση N- way set- associajve cache με direct mapped! Απαιτούνται Ν συγκριτές πρέπει τα Ν αποθηκευμένα tags να συγκριθούν με το αντίστοιχο τμήμα της διεύθυνσης! Καθυστέρηση πολυπλέκτης επιλογής γραμμής από τις Ν του σετ πιο πολύπλοκη δομή από πίνακες/μνήμες! Δεν μπορεί να υλοποιηθεί το εξής τέχνασμα της dm $: Τα δεδομένα είναι διαθέσιμα λίγο πρίν γίνει γνωστό αν έχουμε hit ή miss Μπορεί ο επεξεργαστής να τα χρησιμοποιήσει και αν τελικά έχουμε miss, να ακυρώσει την εντολή και να την «ξανατρέξει» αργότερα Αυτό δεν γίνεται με set- associajve: δεν γνωρίζουμε ποιο way έχει τα δεδομένα, πρίν γίνει η σύγκριση των tag 7

Αντικατάσταση γραμμών! Μετά από μία αστοχία, μια γραμμή τοποθετείται (refill) στην κρυφή μνήμη αλλά επειδή ο χώρος είναι περιορισμένος, αντικαθιστά μια άλλη γραμμή, που ονομάζεται θύμα (vicdm block)! Σε direct mapped $, δεν υπάρχει επιλογή! Σε N- way set- associajve, υπάρχουν Ν πιθανά θύματα ποιό επιλέγεται;! Ιδανικά το θύμα είναι η γραμμή που θα χρειαστεί αργότερα στο χρόνο ή που δεν χρειάζεται πλέον καθόλου ή μια γραμμή που είναι άκυρη (valid = 0)! Πρέπει να μαντέψουμε! 8

Αλγόριθμοι αντικατάστασης! Πρόβλεψη με οδηγό την προηγούμενη «συμπεριφορά»! Τυπικός αλγόριθμος: Least Recently Used (LRU) η γραμμή (του σετ) που προσπελάσθηκε παλιότερα, μάλλον δεν θα προσπελασθεί ξανά Πρέπει να κρατιέται πληροφορία κατάταξης των γραμμών κάθε σετ Γίνεται δύσκολο/ακριβό από 4- ways και πάνω! Πολλοί άλλοι αλγόριθμοι τυχαία επιλογή θύματος επιλογή με τη σειρά προσκόμισης (FIFO) ψεύτο- LRU, π.χ. not- most- recently- used 9

Εγγραφές δεδομένων! Μέχρι τώρα ασχοληθήκαμε μόνο με αναγνώσεις (loads)! Αν η διευθυνση στην οποία γίνεται μια εγγραφή είναι στην κρυφή μνήμη, η εγγραφή σταματάει εκεί ή συνεχίζει για να ενημερώσει και τη κύρια μνήμη;! Δύο επιλογές:! write- through γράφει και στις δύο! write- back γράφει στη μνήμη μόνο όταν χρειάζεται όταν η γραμμή εκδιωχθεί (evict) από την κρυφή μνήμη 10

Write through! Για να μην περιμένει ο επεξεργαστής την αργή κύρια 32-bit Address μνήμη σε κάθε εγγραφή,! προσθέτουμε Write- buffer κρατάει την πληροφορία και κάνει την εγγραφή ελευθερώνει τον επεξεργαστή να προχωρήσει την εκτέλεση μπορεί να έχει πολλές θέσεις! Αν η store αστοχήσει στη cache, πρέπει να γίνει αναζήτηση και στον write buffer 32-bit Data Cache 12 252 1022 131 2041 32-bit Address Write Buffer Addr Data 99 7 20 32-bit Data 11

write- back! Εγγραφές γίνονται όλες «μαζεμένα» στην κρυφή μνήμη! Κάθε γραμμή που εκδιώχνεται πρέπει να γραφτεί στη μνήμη ακόμη και αν δεν έχει γίνει εγγραφή σε αυτήν!! Λύση: dirty bit 1 bit ανά γραμμή Κανονικά είναι 0 Γίνεται 1 σε κάθε προσπέλαση εγγραφής Κατά την εκδίωξη μιας γραμμής, αν έχει dirty bit, γράφεται στη μνήμη, αλλιώς δεν χρείαζεται να γίνει τίποτα 12

write- back vs write- through Write- Through: Write- Back Απλούστερη λογική ελέγχου Αξιοπιστία: υπάρχει αντίγραφο και στη κύρια μνήμη και στη κρυφή Μεταβλητός χρονισμός (0,1,2 προσπελάσεις μνήμης για κάθε προσπέλαση στη κρυφή μνήμη) Μειώνει την «κίνηση» της κύριας μνήμης 13

Αστοχίες εγγραφών! Αν μια εγγραφή (εντολή store) αστοχίσει στην $! no write allocate: εγγραφή μόνο στην κύρια μνήμη! write allocate: προσκόμιση της γραμμής και μετά εγγραφή! Συνηθισμένοι συνδιασμοι: write through και no write allocate write back και write allocate! Ονομάζονται write policies 14

Μέτρα αξιολόγησης $! Hit rate: ποσοστό (κλάσμα) προσπελάσεων που ευστοχούν στη κρυφή μνήμη! Miss rate: 1 Hit rate! Miss penalty: Χρόνος τοποθέτησης μιας γραμμής από κατώτερο επίπεδο της ιεραρχίας μνήμης Jme! Hit Jme: χρόνος προσπέλασης της κρυφής μνήμης περιλαμβάνει το χρόνο σύγκρισης tag 15

Είδη αστοχιών $ - τρία C! Compulsory (Υποχρεωτικές, cold start): Πρώτη πρόσπέλαση σε μια γραμμή Πιθανές λύσεις: αύξηση μεγέθους γραμμής, pre- fetching! Capacity (Χωρητικότητας): Η cache δεν χωράει όλες τις γραμμές που χρειάζεται το πρόγραμμα (ονομάζεται working set) Πιθανή λύση: αύξηση χωρητικότητας! Conflict (Σύγκρουση, collision): Πολλές MulJple memory locajons mapped to the same cache locajon Πιθανές λύσεις:αύξηση χωρητικότητας, associajvity 16

Διαχωρισμός αστοχιών με προσομοίωση! Compulsory: αστοχίες σε fully associajve κρυφή μνήμη και με άπειρη χωρητικότητα! Capacity: Μεταβολή χωρητικότητας και μέτρηση αστοχιών 16 MB, 8 MB, 4 MB, 128 KB, 64 KB, 16 KB! Conflict: Μεταβολή από fully associajve σε n- way set associajve και μέτρηση αστοχιών Fully associajve, 16- way, 8- way, 4- way, 2- way, 1- way 17

Αποτελέσματα 3C, SPEC2000! Compulsory misses 0.006% 18

AssociaJvity και miss rate! Nόμος της φθίνουσας απόδοσης (law of diminishing returns) 20% βελτίωση από DM σε 2- way 19

Επίδοση υπολογιστή και $!! CPU Jme = IC CPI CC Το CPI, όπως το ξέραμε μέχρι τώρα περιλαμβάνει το hit Jme στη κρυφή μνήμη -!! θεωρούμε ότι hit Jme = 1 κύκλος Οι αστοχίες μνήμης προκαλούν αύξηση στο ιδανικό CPI CPU Jme = IC (CPIcore + memory stall cycles) CC Memory stall cycles Memory accesses = Miss rate Miss penalty Program Instructions Misses = Miss penalty Program Instruction 20

Παράδειγμα!!!!! Ι$ miss rate = 2% D$ miss rate = 4% CPI με ιδανική μνήμη = 2 Ποινή αστοχίας κρυφής μνήμης = 100 κύκλοι 36% των εντολών είναι load ή store 21

Απάντηση!!!!! InstrucJon miss cycles = I 2% 100 = 2.00 I Data miss cycles = I 36% 4% 100 = 1.44 I Συνολικά miss cycles = 3.44 I CPI με mem stalls = 2 + 3.44 = 5.44 «χαμένη» επίδοση 5.44/2 = 2.72 φορές πιο αργός από υπολογιστή με ιδανική μνήμη ποσοστό χρόνου για μνήμη = 3.44/5.44 = 63% Αν δεν είχαμε κρυφή μνήμη: Instr miss cycles = 100, data miss cycles = 36, CPI = 2+ 100+36 = 138 22

Μέσος χρόνος προσπέλασης! Average memory access Jme (AMAT)! Μέσος χρόνος προσπέλασης μνήμης περιλαμβάνει και χρόνο ευστοχίας και χρόνο αστοχίας! AMAT = Hit Jme + Miss rate Miss penalty! Καλύτερο μέτρο επίδοσης σε σχέση με hit/miss rate μέρος μόνο της εξίσωσης του AMAT 23

Μείωση ποινής αστοχίας! Διαφορά ταχύτητας επεξεργαστή κύριας μνήμης ήδη μεγάλη και μεγαλώνει περισσότερο με τον χρόνο 100s κύκλοι! 2ο επίπεδο κρυφής μνήμης (L2 $) για μείωση της ποινής αστοχίας αν οι αστοχίες της L1$ «απαντηθούν» από την L2, η ποινή αστοχίας θα είναι ο χρόνος προσπέλασης της L2! AMAT = Hit JmeL1 + Miss ratel1 * Miss penaltyl1! Miss penaltyl1 = Hit JmeL2 + Miss ratel2 * Miss penaltyl2 24

Global, local misses! Πώς ορίζονται τα miss rate για κάθε επίπεδο?! Local miss rate ο αριθμός αστοχιών μιας cache διαιρεμένος με τον αριθμό προσπελάσεων της ίδιας cache Ο προηγούμενος τύπος χρησιμοποιεί local miss rates! Global miss rate - ο αριθμός αστοχιών μιας cache διαιρεμένος με τον αριθμό προσπελάσεων που προκαλεί ο επεξεργαστής! Το local miss rate είναι σχετικά μεγάλο για το 2ο επίπεδο το 1ο επίπεδο εκμεταλεύτηκε το μεγαλύτερο μέρος της τοπικότητας αναφορών μνήμης 25

Πολλαπλά επίπεδα cache! Η ταχύτητα του 1ου επιπέδου επηρεάζει το ρυθμό ρολογιού του επεξεργαστή! Η ταχύτητα του 2ου επιπέδου επηρεάζει το miss penalty του 1ου επιπέδου! Υπάρχει μεγαλύτερη ευελιξία επιλογής οργάνωσης στο 2ο επίπεδο! Μεγάλη σημασία έχει το κόστος και πόσο μειώνει το μέσο χρόνο προσπέλασης (ΑΜΑΤ) 26

Μεγάλες γραμμές! Εκμετάλευση της spajal locality! Μείωση των compulsory misses! Αύξηση του Miss penalty περισσότερος χρόνος μεταφοράς! Αύξηση conflict misses περισσότερες γραμμές αντιστοιχούν στα, λιγότερα πλέον, set Miss rate 10% 4K 5% 16K 0% 64K 256K 16 32 64 Block size 128 256 27

Cache design space! Πολλαπλοι παράμετροι Cache Size Cache size Block size AssociaJvity Replacement policy Write- through vs. write- back Write allocajon! Η βέλτιστη επιλογή είναι ένας συμβιβασμός εξαρτάται από (μέτρο)προγράμμα αλλάζει με τεχνολογία, σχετικά κόστη υλοποιησης Associativity Block Size Bad Good Factor A Less Factor B More 28

Επόμενο μάθημα Εικονική μνήμη 29

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 1.0 διαθέσιμη εδώ. http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου. «Αρχιτεκτονική Υπολογιστών. Υποσύστημα μνήμης». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.