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

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

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

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

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

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

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

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

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

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

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

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

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

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

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

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

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

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

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

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

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

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

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

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

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

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Διασύνδεση Εισόδου-Εξόδου

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

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

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

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

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

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

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

Ασκήσεις Caches

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

Ασκήσεις Caches

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

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

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

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

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

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

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

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

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

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

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

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

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

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

Cach O p i timisati tions

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

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

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

Επαρκή χωρητικότητα αποθήκευσης Αποδεκτό επίπεδο μέσης απόδοσης Χαμηλό μέσο κόστος ανά δυαδικό δ ψηφίο

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Κεφάλαιο 1 Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 5 ο Οργάνωση Υπολογιστών. Δρ.

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

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

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

Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών

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

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

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

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

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

Ηλεκτρονικός Υπολογιστής

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

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

Ζητήµατα Απόδοσης. Ιεραρχία Μνήµης. Αναγκαιότητα για Ιεραρχία Μνήµης. Processor-DRAM Gap (latency) Ε-85: Ειδικά Θέµατα Λογισµικού

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

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

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

Εισαγωγή στην Πληροφορική

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

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

Transcript:

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Ιεραρχία συχνά και το σύστημα γραφικών μέσα στον επεξεργαστή οθόνη διασυνδετικός δίαυλος CPU core L1 L2... CPU core L1 L2 > 90GB/s κρυφή μνήμη (3 ου επιπέδου, L3) Για βελτίωση της απόδοσης του συστήματος μνήμης (και του συνολικού υπολογιστικού συστήματος) σύστημα γραφικών ποντίκι, πληκτρολόγιο, εκτυπωτές, σαρωτές... PCIe (x16) έως 8GB/s USB έως 5Gbit/s north bridge south bridge έως 500ΜB/s M-bus (mem bus) 25+ GB/s (multi-channel) SATA 600ΜB/s DRAM σκληροί δίσκοι, CD/DVD, δικτυακή σύνδεση οι ρυθμοί μεταφοράς που δίνονται είναι οι θεωρητικά μέγιστοι! Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 2

Σκοπός της Ιεραρχίας Προσέγγιση της ιδανικής μνήμης Ο επεξεργαστής να βλέπει μνήμη Με την ταχύτητα του υψηλότερου επιπέδου Και το μέγεθος του χαμηλότερου επιπέδου CPU Για να επιτύχει τον σκοπό της η ιεραρχία μνήμης εκμεταλλεύεται την αρχή της τοπικότητας 0,5-5ns $4.000-$10.000/GB 50-70ns $100-$200/GB 5.000.000-20.000.000 ns $0,5-$2/GB Κρυφή μνήμη (SRAM) Κύρια μνήμη (DRAM) Μαγνητικοί δίσκοι Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 3

Ιεραρχία μνήμης και τοπικότητα ένα πρόγραμμα εκτελεί το 90% των εντολών του μέσα στο 10% του κώδικά του Χρονική Τοπικότητα Εάν προσπελαστεί μια θέση μνήμης, είναι πολύ πιθανό να προσπελαστεί ξανά στο άμεσο μέλλον Παράδειγμα: οι εντολές ενός βρόχου (loop) Εφαρμογή: Δεδομένα εντολές που βρίσκονται ήδη κοντύτερα στον επεξεργαστή (π.χ. στην κρυφή μνήμη) θα προσπελαστούν πολύ γρηγορότερα Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 4

Ιεραρχία μνήμης και τοπικότητα ένα πρόγραμμα εκτελεί το 90% των εντολών του μέσα στο 10% του κώδικά του Χωρική Τοπικότητα Εάν προσπελαστεί μια θέση μνήμης, είναι πολύ πιθανό να προσπελαστούν και οι γειτονικές θέσεις στο άμεσο μέλλον Εντολές προγραμμάτων Δεδομένα σε πίνακες κλπ Εφαρμογή: Εάν προσπελαστεί μια θέση μνήμης, μεταφέρονται και οι διπλανές της λέξεις στη μνήμη του υψηλότερου επιπέδου Μεταφορά σε μπλοκ (πολλαπλές λέξεις μνήμης) Γρηγορότερη προσπέλαση Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 5

Κρυφές μνήμες Σημαντικό τμήμα στην ιεραρχία μνήμης Εξέλιξη συστημάτων κρυφής μνήμης 1962: οι πρώτες ιεραρχίες μνήμης (Atlas computer) Όχι όμως κρυφή μνήμη 1965: η πρώτη περιγραφή κρυφής μνήμης (Wilkes) O πρώτος υπολογιστής με κρυφή μνήμη (IBM 360/85) 1968: η πρώτη χρησιμοποίηση του όρου cache memory Στη συνέχεια: Πολλαπλά επίπεδα κρυφής μνήμης (L1, L2, L3) Βελτιωμένες αρχιτεκτονικές κρυφής μνήμης Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 6

Απλό μοντέλο ιεραρχίας μνήμης CPU Οι αρχές λειτουργίας της απλής ιεραρχίας μπορούν να επεκταθούν σε πολλαπλά επίπεδα Η διαχείριση της κρυφής μνήμης γίνεται από το υλικό διαφανώς προς τις εφαρμογές κρυφή μνήμη Κύρια μνήμη (DRAM) Τα δεδομένα βρίσκονται αρχικά στην κύρια μνήμη Η κρυφή μνήμη περιέχει υποσύνολο των δεδομένων Μεταφορά μεταξύ επιπέδων μνήμης σε μπλοκ λέξεων Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 7

Αποθήκευση δεδομένων στην Ιεραρχία Αποθήκευση δεδομένων Τα υψηλότερα επίπεδα της ιεραρχίας μνήμης είναι υποσύνολα των χαμηλότερων Όλα τα δεδομένα αποθηκεύονται τελικά στο χαμηλότερο επίπεδο Μεταφορά δεδομένων Αντιγραφή από επίπεδο σε επίπεδο Το ελάχιστο σύνολο δεδομένων που μεταφέρεται μεταξύ δύο επιπέδων ονομάζεται μπλοκ Πολλαπλά bytes (πολλές λέξεις μαζί) Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 8

Αναζήτηση δεδομένων στην Ιεραρχία Αναζήτηση δεδομένων Ο επεξεργαστής ζητά πάντοτε τα δεδομένα από το κοντινότερο σε αυτόν επίπεδο Τα δεδομένα υπάρχουν στο επίπεδο αυτό: hit Τα δεδομένα δεν βρίσκονται στο επίπεδο αυτό: miss Η αίτηση προωθείται στο επόμενο (χαμηλότερο) επίπεδο Όταν βρεθεί, το μπλοκ που περιέχει τα δεδομένα αντιγράφεται στο ανώτερο επίπεδο Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 9

Μπλοκ (γραμμές) κρυφής μνήμης Για την εκμετάλλευση της τοπικότητας Όταν πρέπει να μεταφερθεί μια λέξη, μεταφέρεται το μπλοκ που την περιέχει CPU Οι σύγχρονοι επεξεργαστές διαθέτουν κρυφές μνήμες (L1) με μέγεθος μπλοκ έως 64 bytes Το μέγεθος του μπλοκ είναι καθοριστικό για την απόδοση της ιεραρχίας μνήμης Το σύστημα κύριας μνήμης έχει βελτιστοποιηθεί αρχιτεκτονικά για μεταφορές μπλοκ μπλοκ μπλοκ μπλοκ κρυφή μνήμη Κύρια μνήμη (DRAM) λέξεις Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 10

Τοποθέτηση ενός μπλοκ Η κύρια μνήμη περιέχει πολύ περισσότερα μπλοκ από όσα χωρούν στην κρυφή μνήμη Συνεπώς, στην ίδια θέση της κρυφής μνήμης πρέπει να τοποθετηθούν περισσότερα από ένα μπλοκ Σύγκρουση μπλοκ! Πώς αποφασίζεται η θέση ενός μπλοκ στην κρυφή μνήμη; Η απλή λύση: άμεση απεικόνιση (direct mapped caches) Κάθε μπλοκ πηγαίνει σε μία μόνο θέση (αριθμός μπλοκ) mod (θέσεις( στην κρυφή μνήμη) Υπολογίζεται πολύ εύκολα αν οι θέσεις είναι δύναμη του 2 Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 11

Άμεση απεικόνιση θέσης μπλοκ Παράδειγμα: Block = 16 bytes Cache = 32 blocks Αριθμός μπλοκ = 0x22 0x226 = 001 00010 0110 θέση μπλοκ = 2 0x7Ε9 = 011 11110 10 1001 0x821 = 100 00010 0001 θέση 0 θέση 1 θέση 2 θέση 3... θέση 30 θέση 31 κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 12

Ποιο μπλοκ βρίσκεται σε κάθε θέση; 0x226 = 001 00010 0110 = μπλοκ 0 μπλοκ 1 001 μπλοκ 2 μπλοκ 3 μπλοκ.. Είναι η θέση κατειλημμένη από κάποιο μπλοκ; valid bit (V) 0x821 = 100 00010 0001 μπλοκ 30 μπλοκ 31 κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 13

Ανάγνωση: Cache Hit read 0x226 = 001 00010 0110 CPU Σε περίπτωση εύρεσης των δεδομένων στην κρυφή μνήμη, η ΚΜΕ μπορεί να τα λάβει ακόμα και σε 1 κύκλο hit 001 μπλοκ 0 μπλοκ 1 μπλοκ 2 μπλοκ 3 μπλοκ.. Κύρια μνήμη (DRAM) Αιτήσεις για ανάγνωση: εντολές και δεδομένα Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 14

Ανάγνωση: Cache Miss read 0x821 = 100 00010 0001 CPU Miss penalty: ο χρόνος για την μεταφορά του μπλοκ από κύρια μνήμη και επιστροφή δεδομένων στον επεξεργαστή miss 100 001 read 0x820 0x82F μπλοκ 0 μπλοκ 1 μπλοκ 2 μπλοκ 3 μπλοκ.. Κύρια μνήμη (DRAM) Αιτήσεις για ανάγνωση: εντολές και δεδομένα Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 15

Εγγραφή στην κρυφή μνήμη Συνοχή δεδομένων: Πώς επηρεάζουν οι κρυφές μνήμες τη σχεδίαση πολυεπεξεργαστικών συστημάτων; Μόνο για δεδομένα Write Hit Ενημέρωση κρυφής μνήμης Στη συνέχεια: Είτε ενημερώνω αμέσως την κύρια μνήμη (write- through) Επιβάρυνση σε κάθε εγγραφή! Δεν χρησιμοποιείται πλέον Είτε μόνο όταν το μπλοκ εκτοπίζεται από την κρυφή μνήμη (write-back) Write Miss Απαιτείται επιπλέον λογική για τον έλεγχο της σωστής αποθήκευσης των δεδομένων Πρέπει το μπλοκ να έρθει (ανάγνωση!) πρώτα στην κρυφή μνήμη από την κύρια μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 16

Τι δημιουργεί cache misses; Απόδοση κρυφής μνήμης Η πρώτη φορά προσπέλασης ενός μπλοκ Μπλοκ που δεν βρέθηκαν ποτέ μέχρι τώρα στην κρυφή μνήμη Λόγω χωρητικότητας της κρυφής μνήμης Η κρυφή μνήμη δεν χωράει όλα τα μπλοκ (ταυτόχρονα) Μπλοκ που τοποθετούνται στην ίδια θέση στην κρυφή μνήμη, συναγωνίζονται για τη θέση αυτή ανάλογα με τη μέθοδο τοποθέτησης ακόμα κι αν άλλο μέρος της κρυφής μνήμης είναι ελεύθερο... Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 17

Χαρακτηριστικά απόδοσης κρυφής μνήμης Απόδοση κρυφής μνήμης Hit Rate Ποσοστό προσπελάσεων μνήμης, όπου τα δεδομένα βρίσκονται στην κρυφή μνήμη Miss Rate Ποσοστό προσπελάσεων μνήμης, όπου τα δεδομένα δεν βρίσκονται στην κρυφή μνήμη (1-hit rate) Hit Time Ο χρόνος για την προσπέλαση δεδομένων σε hit Miss Penalty Ο χρόνος για την προσπέλαση, μεταφορά και τοποθέτηση των δεδομένων miss από την κύρια στην κρυφή μνήμη και στον επεξεργαστή Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 18

Το κόστος των cache misses Απόδοση κρυφής μνήμης Χαμένοι κύκλοι ρολογιού Σε αναμονή για προσπέλαση κύριας μνήμης Κύκλοι Αναμονής = Προσπελάσεις μνήμης * Miss Rate * Miss Penalty Είναι απλουστευμένο μοντέλο γιατί: Διαφορετικό Miss Rate ανά κατηγορίες εντολών Διαφορετικό Miss Rate για ανάγνωση-εγγραφή Σύνθετη ανάλυση για εκτέλεση εκτός σειράς Ο επεξεργαστής κρύβει την καθυστέρηση εκτελώντας κάτι άλλο: πώς υπολογίζεται το miss penalty τότε; Βελτίωση της απόδοσης Μείωση του miss rate Μείωση του miss penalty Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 19

Τεχνικές μείωσης miss rate Απόδοση κρυφής μνήμης Αντιμετώπιση αιτιών που προκαλούν misses Αύξηση χωρητικότητας κρυφής μνήμης Αλλά: μια μεγάλη κρυφή μνήμη μπορεί να είναι πιο αργή! (αύξηση hit time) Αύξηση του μεγέθους του μπλοκ Προσπάθεια εκμετάλλευσης της τοπικότητας Αλλά: αυξάνει το miss penalty Πιθανόν να αυξάνει τελικά το miss rate, λόγω των λιγότερων μπλοκ στην κρυφή μνήμη Ευέλικτες τεχνικές τοποθέτησης των μπλοκ Ώστε να παραμένουν περισσότερο στην κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 20

Ευέλικτες τεχνικές τοποθέτησης μπλοκ fully associative 0x226 = 001 00010 0110 2-way set associative 00100010 001 Πιθανή η αύξηση του hit time λόγω πολύπλοκου κυκλώματος! Πιθανή τοποθέτηση Παράλληλη αναζήτηση Αντικατάσταση: least recently used (LRU) Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 21

Τεχνικές μείωσης miss penalty Απόδοση κρυφής μνήμης Οι σύγχρονοι επεξεργαστές έχουν τουλάχιστον L1 και L2 cache μέσα στο ίδιο το chip τους Μείωση των χρόνων μεταφοράς μπλοκ Βελτιστοποιήσεις στην επικοινωνία με την κύρια μνήμη Έτσι ώστε ένα ολόκληρο μπλοκ να μεταφέρεται με τη μικρότερη δυνατή καθυστέρηση (bursts) Πολυεπίπεδες ιεραρχίες κρυφής μνήμης Μείωση miss penalty πρώτου επιπέδου (L1) L1: μικρότερο μέγεθος, μεγαλύτερη ταχύτητα Μεγαλύτερο miss rate αλλά miss penalty μικρότερο L2: μεγαλύτερο μέγεθος, μικρότερη ταχύτητα Αργότερη αλλά δεν επηρεάζει hit time επεξεργαστή Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 22

Ανάγνωση από κύρια μνήμη CLK COMMAND ACT PRE READ ACT READ PRE ACT ADDR Ra Ca Rb Cb Ra BS DQ CAS Latency=3 Da Da+1 Da+2 Da+3 Db Db+1 Db+2 Db+3 Burst Length=4 Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 23

Πολυεπίπεδη οργάνωση κρυφής μνήμης Απόδοση κρυφής μνήμης Τύπος L1 Μέγεθος έως 64ΚΒ Χρόνος προσπέλασης 4ns Ρυθμός μεταφοράς 50GB/s L2 έως 8ΜΒ 10ns 25GB/s Οι σύγχρονοι επεξεργαστές έχουν ξεχωριστή κρυφή μνήμη L1 για εντολές και δεδομένα. Ποια τα πλεονεκτήματαμειονεκτήματα; Παράδειγμα: Pentium4 L1 cache: 4 κύκλοι ρολογιού (pipelined: 1) L3 έως 64ΜΒ 20ns L2 cache: 20 κύκλοι ρολογιού 10GB/s Προσπέλαση στη μνήμη: >100 κύκλοι ρολογιού Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 24

Intel Montecito : Επίπεδα κρυφής μνήμης Απόδοση κρυφής μνήμης Intel Montecito: 1,72 δις τρανζίστορ 2 επεξεργαστές Itanium2 1.8GHz @ 100W Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 25

Intel Montecito : Επίπεδα κρυφής μνήμης Απόδοση κρυφής μνήμης L1 instruction & data caches: 16KB 4-way set associative, έως και 4 αιτήσεις ανά κύκλο ρολογιού Intel Montecito: συνολικά 27MB κρυφή μνήμη μέσα στο chip L2 instruction cache: 1ΜΒ 8-way set associative, 128 bytes μπλοκ, 7 κύκλοι για προσπέλαση L2 data cache: 256KB, 5-6κύκλοι για προσπέλαση L3 cache: 12ΜΒ, 14 κύκλοι για προσπέλαση Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 26

Βελτιστοποίηση απόδοσης κρυφής μνήμης Απόδοση κρυφής μνήμης Αρχιτεκτονικές βελτιώσεις Pipelining Non-blocking εξυπηρέτηση πολλαπλών αιτήσεων Πολλαπλά επίπεδα κρυφής μνήμης στο chip του επεξεργαστή Ο ρόλος του λογισμικού (μεταγλωττιστές) Αναδιοργάνωση προγραμμάτων για αύξηση της τοπικότητας (κυρίως στους βρόχους επανάληψης) Prefetching: μετακίνηση δεδομένων στην κρυφή μνήμη πριν αυτά χρειαστούν στον επεξεργαστή! Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 27

Η απόδοση της κρυφής μνήμης συνοπτικά Απόδοση κρυφής μνήμης Καθοριστική για τα σύγχρονα υπολογιστικά συστήματα Μείωση του miss rate ή του miss penalty Όμως: η συμπεριφορά της ιεραρχίας μνήμης επηρεάζεται από πολλούς παράγοντες! Η πραγματική συμπεριφορά Είναι σύνθετη απαιτούνται εξομοιώσεις πριν τη σχεδίαση νέων συστημάτων Είναι διαφορετική ανά εφαρμογή δεν υπάρχει ένα μόνο αντιπροσωπευτικό πρόγραμμα! Είναι διαφορετική ανά υπολογιστικό σύστημα desktop, server ή embedded Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 28