Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεAchelous Prisco Τροποποιήθηκε πριν 10 χρόνια
1
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Βασικές Αρχές Cache
2
Περιεχόμενα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 2 Συστήματα Μνήμης Η τεχνολογία της ιεραρχημένης μνήμης Οργάνωση της μνήμης cache Η βασική αρχή λειτουργίας Οι παράμετροι της cache Απόδοση της cache Οργάνωση της Κ. Μνήμης Φυσική οργάνωση Λογική οργάνωση Απόδοση συστήματος cache -Κ. Μνήμης
3
H Ιεραρχία μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 3
4
Μνήμες - χωρητικότητες- ταχύτητες Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 4 Κ. Διαμαντάρας - Α. Βαφειάδης ΧωρητικότηταΧρόνος προσπέλασης Τεχνολογία Καταχωρητές1KB – 8KB0.2 – 0.5 ns CMOS Cache L18KB – 64KB1 – 2 nsCMOS SRAM Cache L264ΚΒ – 256ΚΒ2 – 5 nsCMOS SRAM Cache L32ΜΒ – 16ΜΒ10 – 20 nsCMOS SRAM Κύρια Μνήμη2GB – 16GB>20 nsCMOS DRAM Δίσκος>100GΒ5 – 8 msΜαγνητικό μέσο
5
Απόκλιση ταχυτήτων CPU και DRAM Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 5 Κ. Διαμαντάρας - Α. Βαφειάδης
6
Τοπικότητα των κλήσεων Αρχή της τοπικότητας (locality principle). Στα περισσότερα προγράμματα διαδοχικές εντολές ή δεδομένα, στο χρόνο καλούνται από διαδοχικές ή κοντινές περιοχές της μνήμης. H χρονική τoπικότητα (temporal locality or locality on time) αναφέρεται στο γεγονός, ότι διευθύνσεις της μνήμης που χρησιμοποιήθηκαν κάποια χρονική στιγμή έχουν μεγάλη πιθανότητα να ξαναχρησιμοποιηθούν σύντομα. H χωρική τοπικότητα (spatial locality or locality in space) αναφέρεται στο γεγονός, ότι δύο γειτονικές διευθύνσεις θα χρησιμοποιηθούν διαδοχικά στο μέλλον. Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 6 Κ. Διαμαντάρας - Α. Βαφειάδης
7
Το συγκρότημα Cache – Κεντρική Μνήμη Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 7 Κ. Διαμαντάρας - Α. Βαφειάδης
8
Η βασική ιδέα Cache hit : Η CPU βρίσκει την διεύθυνση στη cache Cache miss : Η CPU ΔΕΝ βρίσκει την διεύθυνση στη cache Hit rate : Η πιθανότητα επιτυχίας (η διεύθυνση είναι στη cache) Miss rate : Η πιθανότητα αποτυχίας (η διεύθυνση δεν είναι στη cache) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 8 Κ. Διαμαντάρας - Α. Βαφειάδης
9
Ο αλγόριθμος λειτουργίας Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 9 Κ. Διαμαντάρας - Α. Βαφειάδης
10
Χρησιμότητα της cache Βελτιώνει τον χρόνο προσπέλασης των δεδομένων από την CPU Οι σημερινές cache έχουν hit rate ≥ 0.95 (δηλαδή ≥ 95 στις100 φορές η ζητούμενη από τη CPU διεύθυνση βρίσκεται στη cache) Παράδειγμα: Κεντρική μνήμη με access time 30 ns Cache μνήμη με access time 1 ns και hit rate 0.95 ή 95% Μέσος χρόνος κλήσης = 0.95 × 1ns + 0.05 × (1ns+30ns) = 2.5ns Βελτίωση = 30/2.5 = 12 φορές Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 10 Κ. Διαμαντάρας - Α. Βαφειάδης
11
Τύποι μέσου χρόνου (T AV ) και βελτίωσης (n) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 11 Γενικά αν Τcache, Τmem είναι οι χρόνοι απόκρισης της μνήμης cache και της κύριας μνήμης αντίστοιχα, τότε ο μέσος χρόνος απόκρισης για hit-rate [hr %] είναι: Tav = [hr/100] × (Tcache) + [1−hr/100] × (Tcache + Tmem) επιτυγχάνεται βελτίωση n φορές στο χρόνο απόκρισης όπου n = Tmem/Tav = 1 / [1−(hr/100)+(Tcache/Tmem)].
12
Παράμετροι cache Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 12 Κ. Διαμαντάρας - Α. Βαφειάδης Μέγεθος (Cache size) Αρκετά μικρό ώστε η cache να μη κοστίζει πολύ Αρκετά μεγάλο ώστε χρόνος προσπέλασης του συγκροτήματος (cache - K. Μνήμη) να είναι κοντά σε αυτόν της cache Συναρτήσεις απεικόνισης Direct mapping (άμεσης απεικόνισης) Full associative mapping (πλήρως συσχετική) Set associative mapping (τμηματικά συσχετική) Αλγόριθμοι αντικατάστασης (Replacement algorithms) Πολιτική εγγραφής (Write policy) Μήκος γραμμής cache (Line size or Block size) Επίπεδα cache (number of cache)
13
Το μέγεθος της cache Επεξεργαστής Έτος κατασκευής Cache L1Cache L2Cache L3 IBM 360.85196816-32 KB PDP 11/7019751 KB VAX 11/780197816 KB IBM 30901985128-256 KB Intel 8048619898 KB Pentium19938 KB/8KB256-512 KB Power PC 601199332 KB Power PC 620199632 KB /32 KB256 – 1000 KB2 MB Power PC G4199932 KB /32 KB256 – 1000 KB Pentium 420008 KB / 8KB256 KB Itanium200116 KB /16 KB96 KB4 MB Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 13 Κ. Διαμαντάρας - Α. Βαφειάδης
14
H συνάρτηση απεικόνισης Η άμεσης απεικόνισης (direct mapping) H συσχετική απεικόνιση (associative mapping) Η τμηματικά συσχετική απεικόνιση (set associative mapping ) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 14 Κ. Διαμαντάρας - Α. Βαφειάδης
15
Τεχνικές οργάνωσης της cache Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 15 Κ. Διαμαντάρας - Α. Βαφειάδης
16
Οργάνωση άμεσης απεικόνισης (direct mapping) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 16 Βασική αρχή Κάθε block στη κεντρική μνήμη αντιστοιχεί ΜΟΝΟ σε μια συγκεκριμένη cache line (ένα block, πάντοτε μεταφέρεται στην ίδια διεύθυνση της cache η οποία υπολογίζεται από την συνάρτηση απεικόνισης) Συνάρτηση απεικόνισης (mapping function) Ανj = η διεύθυνση o ενός block στη κεντρική μνήμη m = το μέγεθος της cache σε γραμμές τότε L = j modulo m είναι η διεύθυνση της γραμμής στην cache που αυτό θα τοποθετηθεί
17
Άμεση απεικόνιση – Διευθύνσεις
18
Υποθέσεις για τα παραδείγματα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 18 Στα επόμενα θα υποθέσουμε ότι έχουμε: CACHE Μέγεθος Cache : 64 kByte = 2 16 (καθαρό χωρίς τα Tags) Μέγεθος block : 4 bytes = 2 2 bytes Πλήθος blocks : 16 k (2 14 = 2 16 /2 2 ) Μήκος διεύθυνσης block : 14 bit ΚΥΡΙΑ ΜΝΗΜΗ Μέγεθος: 16 MBytes Byte addressable memory (Διεύθυνση ανά byte) Μήκος διεύθυνσης κύριας μνήμης : 24 bit (2 24 = 16 M)
19
Άμεση απεικόνιση: το φαινόμενο thrashing Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 19 Ας υποθέσουμε ότι ένα πρόγραμμα ζητάει συνεχώς δεδομένα εναλλάξ από δύο θέσεις της μνήμης που έχουν το ίδιο index. Επειδή και οι δύο δεν μπορούν να βρίσκονται στη cache ταυτόχρονα εναλλάσσονται συνεχώς μεταξύ της μνήμης και της cache Το φαινόμενο αυτό ονομάζεται thrashing (συνεχές χτύπημα)
20
Άμεση απεικόνιση - Διεύθυνση μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 20 Offset : Η διεύθυνση ενός byte μέσα στο block Index : Η διεύθυνση ενός block μέσα στην cache Tag : Ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Μέγεθος Block : 4 bytes = 2 w bytes → W = 2 Μέγεθος Μνήμης : 16 Mbytes = 2 24 = 2 s+w Μήκος διεύθυνσης Κ.Μ. : (S + W) bits = 24 bits → S = 22 Πλήθος blocks στη μνήμη : 2 s = 2 22 = 4 Mblocks Μέγεθος Cache : 64 Kbytes = 2 16 bytes Πλήθος blocks στην cache: 2 D = 2 16 / 2 2 = 2 14 → D = 14 Μέγεθος tag : T = S−D bits = 8 S = Διεύθυνση του block στην ΚΜ = 22 W=2 Διεύθυνση Κύριας Μνήμης = 24 T=8 TagOffset D=14 Index
21
Τοποθέτηση ενός δεδομένου στη cache Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 21 Κ. Διαμαντάρας - Α. Βαφειάδης
22
Άμεση οργάνωση - Αλγόριθμος Αναζήτησης - hit Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 22 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, index, W (01 0100 10) Βήμα 1: Η index διεύθυνση μας οδηγεί σε μια γραμμή της cache στην οποία, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνση που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με ο tag της γραμμής της cache στην οποία μας οδήγησε η διεύθυνση index. Βήμα 3: Αν τα δύο tag είναι ίσα τότε έχουμε cache hit η διεύθυνση βρίσκεται στη γραμμή (block) της cache με διεύθυνση index Βήμα 4: Το πεδίο W (offset ) βοηθά στον εντοπισμό της θέσης μνήμης (01 0100 10) μέσα στο block Βήμα 5: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (01 0100 10)
24
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 24 Κ. Διαμαντάρας - Α. Βαφειάδης
25
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 25 Κ. Διαμαντάρας - Α. Βαφειάδης
26
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 26 Κ. Διαμαντάρας - Α. Βαφειάδης
27
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 27 Κ. Διαμαντάρας - Α. Βαφειάδης
28
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 28 Κ. Διαμαντάρας - Α. Βαφειάδης
29
Άμεση οργάνωση - Αλγόριθμος Αναζήτησης - miss Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 29 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, index, W ( 10 1010 10) Βήμα 1: Η index διεύθυνση μας οδηγεί σε μια γραμμή της cache στην οποία, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνση που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με ο tag της γραμμής της cache στην οποία μας οδήγησε η διεύθυνση index. Βήμα 3: Αν τα δύο tag ΔΕΝ είναι ίσα τότε έχουμε cache miss και η διεύθυνση δεν βρίσκεται στη γραμμή (block) της cache με διεύθυνση index Βήμα 4: Η κ. μνήμη μεταφέρει στη cache και στη line (1010) όλο block με διεύθυνση (10 1010 00) Βήμα 5: Το πεδίο w (offset ) βοήθα τον εντοπισμό της θέσης μνήμης (10 1010 10) μέσα στο block Βήμα 6: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (10 1010 10)
31
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 31 Κ. Διαμαντάρας - Α. Βαφειάδης
32
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 32 Κ. Διαμαντάρας - Α. Βαφειάδης
33
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 33 Κ. Διαμαντάρας - Α. Βαφειάδης
34
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 34 Κ. Διαμαντάρας - Α. Βαφειάδης
35
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 35 Κ. Διαμαντάρας - Α. Βαφειάδης
36
Διεύθυνση μνήμης: 1 6 3 3 9 C Δυαδική μορφή: 0001011000110011100111 00 Tag Offset 00 1100 1110 0111 Line address 0CE7 (Διεύθυνση cache) Άμεση απεικόνιση – Ανάλυση Διεύθυνσης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 36 Κ. Διαμαντάρας - Α. Βαφειάδης
37
Άμεση απεικόνιση - Παράδειγμα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 37 1 6 3 3 9 C Διεύθυνση μνήμης 0001 0110 0011 0011 1001 11 00 Tag Offset 00 1100 1110 0111 Line address 0 C E 7 Διεύθυνση cache
38
Πλήρως συσχετιστική cache (fully associative) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 38 Βασική αρχή Κάθε block της Κεντρικής Μνήμης τοποθετείται στη πρώτη κενή θέση της cache. Αν η cache είναι γεμάτη τότε τοποθετείται στην κενή θέση που δημιουργεί ο αλγόριθμος αντικατάστασης της cache. Συνάρτηση απεικόνισης : δεν υπάρχει
39
Πλήρως Συσχετιστική - Διεύθυνση μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 39 Offset : Η διεύθυνση ενός byte μέσα στο block Index : Δεν υπάρχει Tag : Ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Μέγεθος Block : 4 bytes = 2 w bytes → W = 2 Μέγεθος Μνήμης : 16 Mbytes = 2 24 = 2 s+w Μήκος διεύθυνσης Κ.Μ. : (S + W) bits = 24 bits → S = 22 Πλήθος blocks στη μνήμη : 2 s = 2 22 = 4 Mblocks Μέγεθος Cache : 64 Kbytes = 2 16 bytes Πλήθος blocks στην cache: 2 D = 2 16 / 2 2 = 2 14 → D = 14 Μέγεθος tag : T = S−D bits = 8 S = Διεύθυνση του block στην ΚΜ = 22 W=2 Διεύθυνση Κύριας Μνήμης = 24 T=22 TagOffset
40
Πλήρως συσχετιστική – Αλγόριθμος προσπέλασης-hit Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 40 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, και w (010100 10) Βήμα 1-2: Το tag της διεύθυνσης συγκρίνεται με τα tag όλων των γραμμών της cache Βήμα 3: Αν κάποιο tag της cache είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache hit και η γραμμή της cache η οποία έχει το ίδιο tag με αυτό της διεύθυνσης περιέχει την διεύθυνση Βήμα 4: Το πεδίο w (offset ) βοήθα τον εντοπισμό της θέσης μνήμης (010100 10) μέσα στο block Βήμα 5: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (010100 10)
42
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 42 Κ. Διαμαντάρας - Α. Βαφειάδης
43
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 43 Κ. Διαμαντάρας - Α. Βαφειάδης
44
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 44 Κ. Διαμαντάρας - Α. Βαφειάδης
45
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 45 Κ. Διαμαντάρας - Α. Βαφειάδης
46
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 46 Κ. Διαμαντάρας - Α. Βαφειάδης
47
Πλήρως συσχετιστική – Αλγόριθμος προσπέλασης-miss Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 47 Βήμα 0: Ανάλυση της διεύθυνσης στα πεδία, tag, και w (101010 10) Βήμα 1-2: Το tag της διεύθυνσης συγκρίνεται με τα tag όλων των γραμμών της cache Βήμα 3: Αν κανένα από tag της cache δεν είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache miss Βήμα 4: Ο αλγόριθμος αντικατάστασης αποφασίζει πιο από τα block της cache θα απομακρυνθεί (εστω ότι είναι το block της cache με διεύθυνση 1000) Βήμα 5: Η κ. μνήμη μεταφέρει στη cache και στη line (0100) όλο block με διεύθυνση (101010 00) Βήμα 6: Το πεδίο w (offset ) βοήθα τον εντοπισμό της θέσης μνήμης (101010 10) μέσα στο block Βήμα 7: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (101010 10)
48
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 48 Κ. Διαμαντάρας - Α. Βαφειάδης
50
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 50 Κ. Διαμαντάρας - Α. Βαφειάδης
51
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 51 Κ. Διαμαντάρας - Α. Βαφειάδης
52
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 52 Κ. Διαμαντάρας - Α. Βαφειάδης
53
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 53 Κ. Διαμαντάρας - Α. Βαφειάδης
54
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 54 Κ. Διαμαντάρας - Α. Βαφειάδης
55
Διεύθυνση μνήμης: 1 6 3 3 9 C Δυαδική μορφή: 0001 0110 0011 0011 1001 11 00 Tag Offset 00 0101 1000 1100 1110 0111 Διεύθυνση cache: 058CE7 Πλήρως Συσχετιστική – Ανάλυση Διεύθυνσης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 55 Κ. Διαμαντάρας - Α. Βαφειάδης
56
Πλήρως συσχετιστική - Παράδειγμα 1 6 3 3 9 C (Διεύθυνση μνήμης) 0001 0110 0011 0011 1001 11 00 Offset 00 0101 1000 1100 1110 011 Tag 0 5 8 C E 7 Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 56 Κ. Διαμαντάρας - Α. Βαφειάδης
57
Τμηματικά Συσχετική cache (Set Associative) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 57 Βασική αρχή Υπόθεση: Η cache διαιρείται σε n sets των B blocks Πλήθος blocks της cache: m = n*B Ένα block τοποθετείται οπουδήποτε μέσα σε ένα set. Σε πoιo set θα τοποθετηθεί το αποφασίζει η συνάρτηση απεικόνισης Συνάρτηση απεικόνισης: (mapping function) αν j η διεύθυνση o ενός block στη κεντρική μνήμη i η διεύθυνση ενός set i = j modulo n Δηλαδή το block της μνήμης με διεύθυνση j θα τοποθετηθεί οπουδήποτε μέσα στο στο i set Μια τέτοια cache ονομάζεται B-way set associative
58
Τμηματικά συσχετιστική cache (2-way set associative cache) Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 58 Κύρια Μνήμη : TagBlock 0 1 2 3 5 6 7 4 Γραμμές Cache: Μέγεθος cache = 8 blocks 4 sets 2 blocks ανά set Set 0 Set 1 Set 2 Set 3 0 1 2 3 5 6 7 4 Μέγεθος μνήμης = 32 blocks 31 30 29 28 8 9 10 11 13 14 15 12 27 26 25 24 23 22 21 20 19 18 17 16
59
Τμηματικά συσχετιστική - Διεύθυνση μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 59 Offset: Η διεύθυνση ενός byte μέσα στο block Set: Η διεύθυνση ενός set Tag: Ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Μέγεθος Block : 4 bytes = 2 w bytes → W = 2 Μέγεθος Μνήμης : 16 Mbytes = 2 24 = 2 s+w Μήκος διεύθυνσης Κ.Μ. : (S + W) bits = 24 bits → S = 22 Πλήθος blocks στη μνήμη : 2 s = 2 22 = 4 Mblocks 2 blocks ανά set (2-way set associative) Μέγεθος Cache : 64 Kbytes = 2 16 bytes Πλήθος blocks στην cache: 2 16 / 2 2 = 2 14 Πλήθος sets στην cache: 2 D = 2 14 / 2 = 2 13 → D = 13 Μέγεθος tag : T = S−D bits = 9 S = Διεύθυνση του block στην ΚΜ = 22 W=2 Διεύθυνση Κύριας Μνήμης = 24 T=9 TagOffset D=13 Set
60
Τμηματικά Συσχετική – Αλγόριθμος Προσπέλασης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 60 Βήμα 0: Ανάλυση της διεύθυνσης A στα πεδία, tag, set, w Βήμα 1: Η set διεύθυνση μας οδηγεί σε ένα set, μέσα στα block του οποίου, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνσης που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με όλα τα tag των γραμμών του set στην οποία μας οδήγησε η διεύθυνση set Βήμα 3: Αν κάποιο tag είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache hit και η γραμμή της cache η οποία έχει το ίδιο tag με αυτό της διεύθυνσης Α περιέχει την διεύθυνση Α διαφορετικά έχουμε cache miss η κ. μνήμη μεταφέρει στην cache όλο το block με διεύθυνση (tag, set, 00), στο οποίο βρίσκεται η διεύθυνση Α Βήμα 4: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (tag, set, w)
62
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 62 Κ. Διαμαντάρας - Α. Βαφειάδης
63
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 63 Κ. Διαμαντάρας - Α. Βαφειάδης
64
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 64 Κ. Διαμαντάρας - Α. Βαφειάδης
65
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 65 Κ. Διαμαντάρας - Α. Βαφειάδης
66
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 66 Κ. Διαμαντάρας - Α. Βαφειάδης
67
Διεύθυνση μνήμης: 1 6 3 3 9 C Δυαδική μορφή: 0001 0110 0 011 0011 1001 11 00 Tag Set Offset 0 0010 1100 00 1100 1110 0111 Διεύθυνση cache: 0 2 C 0 C E 7 Τμηματικά Συσχετιστική – Ανάλυση Διεύθυνσης Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 67 Κ. Διαμαντάρας - Α. Βαφειάδης
68
Τμηματικά Συσχετική - Παράδειγμα Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα Κ. Διαμαντάρας - Α. Βαφειάδης 68 1 6 3 3 9 C (Διεύθυνση μνήμης) 0001 0110 0 011 0011 1001 11 00 Offset 0 0010 1100 0 2 C tag 0 1100 1110 0111 (Διεύθυνση set) 0 C E 7 (Διεύθυνση set)
70
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 70 Κ. Διαμαντάρας - Α. Βαφειάδης
71
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 71 Κ. Διαμαντάρας - Α. Βαφειάδης
72
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 72 Κ. Διαμαντάρας - Α. Βαφειάδης
73
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 73 Κ. Διαμαντάρας - Α. Βαφειάδης
74
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 74 Κ. Διαμαντάρας - Α. Βαφειάδης
75
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 75 Κ. Διαμαντάρας - Α. Βαφειάδης
76
Προηγμένες Αρχιτεκτονικές Η / Υ & Παράλληλα Συστήματα 76 Κ. Διαμαντάρας - Α. Βαφειάδης
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.