Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεNikolos Sotir Τροποποιήθηκε πριν 10 χρόνια
1
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα Μνήμης –Αλγόριθμοι Απεικόνισης Cache (συνέχεια) Μέρος: Τρίτο Καθηγητής: Α. Βαφειάδης 2007
2
2 Α. Βαφειάδης Πλήρως συσχετιστική ( full associative) Βασική αρχή Κάθε block της Κεντρικής Μνήμης τοποθετείται στη πρώτη κενή θέση της cache. Αν η cache είναι γεμάτη τότε τοποθετείται στην κενή θέση που δημιουργεί ο αλγόριθμος αντικατάστασης της cache. Συνάρτηση απεικόνισης : δεν υπάρχει
3
3 Α. Βαφειάδης Πλήρως συσχετιστική - Διεύθυνση μνήμης Offset : Η διεύθυνση ενός byte μέσα στο block Index : δεν υπάρχει Tag : ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Address length = (s + w) bits =24 bits M. Memory bytes = 2 s+w = 2 24 Block size = line size = 2 w bytes = 4 bytes Number of memory blocks = 2 s+w / s w = 2 S = 2 22 Number of lines in cache (δεν προσδιορίζεται από την διεύθυνση) Size of tag = s bits = 22 bits Tag Offset 22 w = 2 s
4
4 Α. Βαφειάδης Πλήρως συσχετιστική – Αλγόριθμος προσπέλασης-hit Βήμα 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)
5
5 Α. Βαφειάδης
6
6
7
7
8
8
9
9
10
10 Α. Βαφειάδης
11
11 Α. Βαφειάδης Πλήρως συσχετιστική – Αλγόριθμος προσπέλασης-miss Βήμα 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)
12
12 Α. Βαφειάδης
13
13 Α. Βαφειάδης
14
14 Α. Βαφειάδης
15
15 Α. Βαφειάδης
16
16 Α. Βαφειάδης
17
17 Α. Βαφειάδης
18
18 Α. Βαφειάδης
19
19 Α. Βαφειάδης Πλήρως Συσχετική – Ανάλυση Διεύθυνση 1 6 3 3 9 C (Διεύθυνση μνήμης) Tag 0001 0110 0011 0011 1001 11 00 Offset 00 0101 1000 1100 1110 0111 Tag 0 5 8 C E 7
20
20 Α. Βαφειάδης Πλήρως συσχετιστική - Παράδειγμα 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
21
21 Α. Βαφειάδης Τμηματικά Συσχετική (Set associative) Βασική αρχή Υπόθεση: Η cache διαιρείται σε v sets των k γραμμών Ένα block τοποθετείται οπουδήποτε μέσα σε ένα set. Σε πoιo set θα τοποθετηθεί το αποφασίζει η συνάρτηση απεικόνισης Συνάρτηση απεικόνισης: (mapping function) αν j η διεύθυνση o ενός block στη κεντρική μνήμη i η διεύθυνση ενός set m το μέγεθος της cache σε γραμμές ( m=v * k) τότε i = j modulo ν Δηλαδή το block της μνήμης με διεύθυνση j θα τοποθετηθεί οπουδήποτε μέσα στο στο i set Μια τέτοια cache ονομάζεται k-way set associative
22
22 Α. Βαφειάδης Τμηματικά συσχετική 2-δρόμων
23
23 Α. Βαφειάδης Τμηματικά Συσχετική - Διεύθυνση μνήμης Offset : Η διεύθυνση ενός byte μέσα στο block Set : Η διεύθυνση ενός set Tag : ετικέτα αναγνώρισης (μέρος της διεύθυνσης) Address length = (s + w) bits =24 bits M. Memory bytes = 2 s+w = 2 24 Block size = line size = 2 w bytes = 2 2 = 4 bytes Number of memory blocks = 2 s+w / s w = 2 s Number of lines in set K = 2 (two way) Cache size (bytes) = k*v*4=64 K Cache size (lines) = k*v* = 16K Number of sets v = 8K 2 d = 8K -> d=13 Size of tag = s-d bits = 22-13 = 9 Tag set Offset 9 d = 13 w = 2 s
24
24 Α. Βαφειάδης Τμηματικά Συσχετική – Αλγόριθμος Προσπέλασης Βήμα 0: Ανάλυση της διεύθυνσης D στα πεδία, tag, set, w Βήμα 1: Η set διεύθυνση μας οδηγεί σε ένα set, μέσα στις γραμμές (block) του οποίου, ενδεχομένως, να βρίσκεται το περιεχόμενο της διεύθυνση D που αναζητούμε. Βήμα 2: Το tag της διεύθυνσης συγκρίνεται με όλα τα tag των γραμμών του set στην οποία μας οδήγησε η διεύθυνση set Βήμα 3: Αν κάποιο tag είναι ίσο με το tag της διεύθυνσης τότε έχουμε cache hit και η γραμμή της cache η οποία έχει το ίδιο tag με αυτό της διεύθυνσης D περιέχει την διεύθυνση D διαφορετικά έχουμε cache miss η κ. μνήμη μεταφέρει στην cache όλο το block με διεύθυνση (tag, set, 00), στο οποίο βρίσκεται η διεύθυνση D Βήμα 4: Μεταφέρεται έξω από την cache το μέρος του block που έχει διεύθυνση (tag, set, w)
25
25 Α. Βαφειάδης
26
26 Α. Βαφειάδης
27
27 Α. Βαφειάδης Set
28
28 Α. Βαφειάδης
29
29 Α. Βαφειάδης
30
30 Α. Βαφειάδης
31
31 Α. Βαφειάδης Τμηματικά συσχετική – Ανάλυση Διεύθυνση 1 6 3 3 9 C (Διεύθυνση μνήμης) 0001 0110 0 011 0011 1001 11 00 Offset 0 0010 1100 tag 0 2 C tag 0 1100 1110 0111 (Διεύθυνση set) 0 C E 7 (Διεύθυνση set)
32
32 Α. Βαφειάδης Τμηματικά Συσχετική - Παράδειγμα 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)
33
33 Α. Βαφειάδης
34
34 Α. Βαφειάδης
35
35 Α. Βαφειάδης Set
36
36 Α. Βαφειάδης
37
37 Α. Βαφειάδης
38
38 Α. Βαφειάδης
39
39 Α. Βαφειάδης
40
40 Α. Βαφειάδης
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.