例題一:

(1)Cache的總容量=存儲容量+標記陣列容量
標記陣列容量包括:有效位,標記位,還有一致維護位,替換算法控制位
題中不考慮Cache的一致維護性和替換算法控制位,所以標記陣列只有有效位與標記位。
下面為標記陣列示意圖:

Cache容量計算:Cache總容量=Cache行數*Cache行的位數,或Cache總容量=Cache行數*(Cache行標記塊位數+Cache塊位數)
我們先來求標記位長度:標記位長度=主存地址長度-Cache地址長度。
主存地址有28位(256MB=2^28B)
Cache地址長度:6位塊內地址(64B=2^6B)行號3位(2^3=8)
所以標記字段88為:28-6-3=19位
所以總容量為8*(1+19+512)=4256

(2)直接相聯映射:
求對應的Cache行號,利用公式,主存塊號 mod Cache行號
主存地址為3200B的地址對應的塊號:3200B/64B=50
行號=50mod8=2
組相連映射:公式 主存塊號modCache組數=Cache組號
50mod4=2,因此Cache行為4或5,因為組號從零編址,行號也是從零編址。
