2017-06-10 3 views
0

Von dem, was ich online finden konnte, ist der Cache-Index der gleiche für jeden Cache-Block/Zeile. Die Hinweise, die uns unser Ausbilder gab, scheinen dem zu widersprechen.Ist der Cache-Index für jeden Cache-Block/Zeile identisch?

picture of the notes page

+0

Die Bits Indizes zu wissen, die gleichen sind, aber, o Der endgültige Wert hängt natürlich von der Adresse ab, auf die zugegriffen wird. –

Antwort

0

Cache-Index (oder manchmal genannt set bits) ist das (Blockadresse) -Modul (Anzahl der Blöcke in dem Cache).

Wenn die Anzahl der Einträge im Cache eine Potenz von 2 ist, kann Modulo einfach mit den log2-Bits niedriger Ordnung (Cachegröße in Blöcken) der -Adresse berechnet werden.

In Ihrem Fall direkt zugeordneten Cache.

Ein 4-Block-Cache verwendet die beiden niedrigsten Bits (4 = 2^2) des Blocks Adresse.

(block address)  cache index 
    0000 mod 4  =  00 
    1000 mod 4  =  00 
    0000 mod 4  =  00 
    0110 mod 4  =  10 
    1000 mod 4  =  00 

Hier sind einige Gleichungen und Parameter, um zu wissen, zu lösen Cache Probleme im Allgemeinen gut ist.

Parameter zu kennen

C = cache capacity 
b = block size 
B = number of blocks 
N = degree of associativity 
S = number of set 
tag_bits 
set_bits (also called index) 
byte_offset 
v = valid bits 

Gleichungen

B = C/b 
S = B/N 
b = 2^(byte_offset) 
S = 2^(set_bits) 

Speicheradresse

|___tag________|____set___|___byte offset_|