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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

Ασκήσεις Caches

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

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321)

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

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

Cach O p i timisati tions

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

Διαχείριση Κύριας Μνήμης

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

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

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

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

Μάθημα 8: Διαχείριση Μνήμης

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

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

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

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

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

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

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

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

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

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

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

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

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

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

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ

Chapter 4 ( ή 1 στο βιβλίο σας)

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

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών

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

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

Προηγμένοι Μικροεπεξεργαστές. Υποσύστημα Μνήμης

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

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

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

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

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης

Εικονική Μνήμη (1/2)

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

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

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

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

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

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

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

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

Transcript:

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

Εικονική μνήμη ως cache Η κύρια μνήμη (DRAM) μπορεί να θεωρηθεί ως «κρυφή μνήμη» της δευτερεύουσας μνήμης (δίσκος) ο χειρισμός γίνεται και με υλικό και με λογισμικό (Λ.Σ.) Τα προγράμματα μοιράζονται τη κύρια μνήμη κάθε διεργασία έχει ξεχωριστό ένα χώρο διευθύνσεων μνήμης, εικονική μνήμη (virtual memory) προστατεύεται από άλλες διεργασίες που τρέχουν ταυτόχρονα Το Λ.Σ. και ο επεξεργαστής μεταφράζουν τις εικονικές διευθύνσεις σε φυσικές (physical) μια «γραμμή» εικονικής μνήμης λέγεται σελίδα (page) αστοχία στη κύρια μνήμη λέγεται σφάλμα σελίδας (page fault) ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 2

Μετάφραση διευθύνσεων Σελίδες σταθερού μεγέθους (π.χ. 4ΚΒ) λιγότερα bits για αριθμό σελίδας (οικονομία στην αποθήκευση) εκμετάλευση του σχετικά μεγάλου ρυθμού μεταφοράς από το δίσκο σε σχέση με τον αργό χρόνο προσπέλασης Δεν χρειάζεται οι σελίδες να είναι σε συνεχόμενο χώρο στη (φυσική) μνήμη ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 3

Πίνακας (μετάφρασης)σελίδων Αποθηκεύει πληροφορίες για τη μετάφραση πίνακας καταχωρήσεων σελίδων (page table entry PTE), διευθυνσιοδοτημένoς με τον εικονικό αριθμό σελίδας Αν μια σελίδα είναι στην μνήμη η καταχώριση περιλαμβάνει τον αριθμό φυσικής σελίδας και διάφορα bit κατάστασης, χρήσιμα για αλγόριθμο αντικατάστασης, χειρισμό εγγραφών Αν η σελίδα δεν είναι στη μνήμη η καταχώριση δείχνει τη θέση της σελίδας στο δίσκο Ταυτόχρονα μπορεί να ελεγχθεί αν επιτρέπεται πρόσβαση στη σελίδα από τη διεργασία π.χ. πρόσβαση σε διεύθυνση που δεν έχει κατανεμηθεί στη διεργασία ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 4

Ξεχωριστοί πίνακες ανά διεργασία User 1 VA1 Page Table OS pages User 2 User 3 VA1 VA1 Page Table Physical Memory Page Table free Ο χώρος που απαιτείται είναι μεγάλος μόνο η κύρια μνήμη μπορεί να αποθηκεύσει τον πίνακα σελίδων Οργάνωση σε 2 (ή περισσότερα) επίπεδα για οικονομία χώρου ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 5

Πίνακες στη μνήμη PT User 1 VA1 User 1 Virtual Address Space PT User 2 VA1 User 2 Virtual Address Space Κάθε προσπέλαση στην εικονική μνήμη από το πρόγραμμα στην πραγματικότητα προκαλεί 2 προσπελάσεις μνήμης ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 6

Γρήγορη μετάφραση Οι προσπελάσεις στο πίνακα σελίδων έχουν μεγάλη τοπικότητα αναφορών Μπορει να εκμεταλευτεί από μια κρυφή μνήμη για καταχωρήσεις πίνακα μετάφρασης (PTE) ευστοχία: άμεση μετάφραση σε ένα κύκλο (ή και μισό) αστοχία: page table walk από υλικό ή λογισμικό Ονομάζεται Transla{on Look- aside Buffer (TLB) Περιέχει 16-512 PTEs, 0.5 1 cycle for hit, 10 100 cycles for miss, 0.01% 1% miss rate Πρόσφατοι επεξεργαστές έχουν 2 επίπεδα TLB ακριβώς όπως οι κρυφές μνήμες: μειώνουν τη ποινή αστοχίας ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 7

Μετάφραση διεύθυνσης Restart instruction Virtual Address TLB Lookup hardware hardware or software software miss hit Page Table Walk Protection Check the page is memory memory denied permitted Page Fault (OS loads page) Update TLB Protection Fault SEGFAULT Physical Address (to cache) ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 8

Μετάφραση και διοχέτευση PC Inst TLB Inst. Cache D Decode E M + Data TLB Data Cache W Η μετάφραση διεύθυνσης προσθέτει χρόνο. Επιλογές: αύξηση περιόδου ρολογιού όχι! χωριστά στάδια διοχέτευσης για TLB και κρυφή μνήμη δεν είναι καταστροφικό αλλά αυξάνει χρόνο προσπέλασης κρυφές μνήμες με εικονικές διευθύνσεις παράλληλη προσπέλαση σε TLB και κρυφή μνήμη ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 9

Κρυφές μνήμες με εικονικές διευθύνσεις VA CPU Virtual Cache TLB PA Primary Memory Δεν χρειάζεται μετάφραση αν ευστοχεί στην κρυφή μνήμη Τα tags πρέπει να επεκτείνονται με αριθμό/κωδικό διεργασίας Πρόβλημα ψευδόνυμων (aliasing) αν δύο εικονικές σελίδες αντιστοιχούν στην ίδια πραγματική, δύο αντίγραφα της ίδιας γραμμής μπορεί να βρίσκονται στην κρυφή μνήμη ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 10

Παράλληλη προσπέλαση VA VPN L b Virtual Index PA TLB PPN k Page Offset Direct-map Cache 2 L blocks 2 b -byte block Tag hit? = Physical Tag Data Λέγεται και virtually indexed, physically tagged Το index της κρυφής μνήμης δεν χρειάζεται μετάφραση αν «πεφτει» στο τμήμα της διεύθυνσεις που αντιστοιχεί στο page offset Η σύγκριση των tags γίνεται μετά από και τις δύο προσπελάσεις ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 11

Ορια παράλληλης προσπέλασης VA VPN a L = k-b b 2 a Virtual Index TLB k Direct-map 2 L blocks Direct-map 2 L blocks PA PPN Page Offset Phy. Tag Tag = hit? 2 a = Αν L + b > k, μπορεί να έχουμε aliasing Τίθεται όριο στον αριθμό set της κρυφής μνήμης! L = k- b Data Η κρυφή μνήμη μπορεί να αυξηθεί, χρησιμοποιώντας περισσότερα ways ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 12

Αστοχίες κρυφής μνήμης Τα τρία C Υποχρωτικές Compulsory (cold) Λόγω πρώτης προσπέλασης σε μια γραμμή Συμβαίνουν ακόμα και σε κρυφές μνήμες άπειρης χωρητικότητας Χωρητικότητας Capacity Λόγω πεπερασμένου μεγέθους κρυφής μνήμης Μια γραμμή που αντικαταστάθηκε, ξαναπροσπελαύνεται Συμβαίνουν ακόμα και με τέλειο αλγόριθμο αντικατάστασης Σύγκρουσης Conflict (collision) Λογω ανταγωνισμού για μια θέση σε ένα set Συμβαίνουν σε όλα τα είδη εκτός από τις fully associa{ve ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 13

Παράμετροι κρυφής μνήμης Μέγεθος (χωρητικότητα) μειώνει αστοχίες χωρητικότητας και σύγκρουσης αυξάνει χρόνο ευστοχίας Associa{vity μειώνει αστοχίες σύγκρουσης αυξάνει (λίγο) χρόνο ευστοχίας Μέγεθος γραμμής μειώνει υποχρεωτικές αστοχίες αυξάνει αστοχίες σύγκρουσης και ποινή αστοχίας ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 14

Ρυθμός αστοχίας Από μετροπρόγραμμα SPEC CPU2000 Υπενθύμιση: αυτό που τελικά μετράει είναι ο μέσος χρόνος προσπέλασης όχι μόνο ο ρυθμός αστοχίας ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 15

Κρυφές μνήμες και προγραμματισμός Συχνά τα προγράμματα χρησιμοποιούν μεγάλους πίνακες Η ταχύτητα εξαρτάται από τη ταχύτητα του συστήματος μνήμης (το AMAT) Στόχος: μείωση των αστοχιών της κρυφής μνήμης αλλάζοντας τη σειρά προσπελάσεων μνήμης η σειρά μπορεί να αλλάξει αρκεί το αποτέλεσμα να είναι σωστό! Μέθοδος cache blocking «σμίκρυνση» του προβλήματος ώστε να χωράει στη κρυφή μνήμη και εκτέλεση περισσότερων επαναλλήψεων ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 16

Παράδειγμα πολ/σμός πινάκων * = c ij a i* b *j ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 17

Απλή υλοποίηση for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) c[i][j] += a[i][k] * b[k][j]; ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 18

Πίνακες στη μνήμη Ο πίνακας είναι 2 διαστάσεων αλλά στη μνήμη υπάρχει μόνο 1 διάσταση column major A(i,j) at A+i+j*n row major A(i,j) at A+i*n+j Column major πίνακας Column major Row major 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 4 8 12 16 1 5 9 13 17 2 6 10 14 18 3 7 11 15 19 γραμμές cache Σειρά πίνακα περιέχεται στις κόκκινες γραμμές ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 19

Γραμμική άλγεβρα Μπορούμε να σπάσουμε τον πίνακα σε μικρότερους ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 20

Πολλαπλασιασμός σε block C 11 C 12 C 13 C 14 A 11 A 12 A 13 A 14 B 11 B 12 B 13 B 14 C 21 C 22 C 23 C 24 A 21 A 22 A 23 A 24 B 21 B 22 B 23 B 24 C 31 C 32 C 43 C 34 A 31 A 32 A 33 A 34 B 32 B 32 B 33 B 34 C 41 C 42 C 43 C 44 A 41 A 42 A 43 A 144 B 41 B 42 B 43 B 44 C 22 = A 21 B 12 + A 22 B 22 + A 23 B 32 + A 24 B 42 = k A 2k *B k2 κάθε πολλαπλασιασμός γίνεται σε μικρούς πίνακες με μέγεθος κατάλληλο ώστε να χωράνε στη κρυφή μνήμη N = 4 *r ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 21

Υλοποίηση for(jj=0; jj < N; jj=jj+b) for(kk=0; kk < N; kk=kk+b) for(i=0; i < N; i++) for(j=jj; j < min(jj+b,n); j++) { r = 0; for(k=kk; k < min(kk+b,n); k++) r = r + y[i][k] * z[k][j]; x[i][j] = x[i][j] + r; } ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 22

Προτεραιότητα σε αναγνώσεις Μια εγγραφή σπάνια καθυστερεί τις επόμενες εντολές του προγράμματος Αντίθετα μια ανάγνωση έχει εξαρτημενες εντολές που ακολουθούν «Καθυστέρηση εγγραφών» με write buffer Π.χ. κατά την αντικατάσταση μιας γραμμής, αυτή μεταφέρεται στο write buffer ώστε η (ανάγνωση) που την προκάλεσε να γίνει πρώτη Προσοχή σε αναγνώσεις αμέσως μετά από εγγραφές! ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 23

Πρόβλεψη κατεύθυνσης Τεχνική για μείωση χρόνου επιτυχίας και μείωση ενέργειας Σε μια κρυφή μνήμη με πολλαπλές κατευθύνσεις (ways), τυπικά διαβάζεται όλο το set και ελέγχονται όλα τα tags μόνο μία γραμμή στο set μπορεί να είναι αυτή που χρειαζόμαστε σημαντική μείωση σε κατανάλωση ενέργειας Κρατάμε πληροφορία για να κάνουμε τη πρόβλεψη Αν γίνει λάθος πρόβλεψη, γίνεται έλεγχος στις άλλες κατευθύνσεις μεταβλητός χρόνος ευστοχίας μπορεί να αυξήσει την ποινή αστοχίας ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 24

Non- blocking κρυφές μνήμες Οταν εξυπηρετούν μια αστοχία, επιτρέπουν άλλες προσπελάσεις εύστοχες hit under miss άστοχες (μέχρι ένα όριο) miss under miss Αύξηση ρυθμού εργασίας κρυφής μνήμης Το AMAT δεν είναι καλό μέτρο απόδοσης σε τέτοιες κρυφές μνήμες επικάλυψη χρόνου αστοχίας ΠΛΕ 027 Μικροεπεξεργαστές 2011-2012 25