Cache与主存的映射方式 例题

例题一:

 

 (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,因为组号从零编址,行号也是从零编址。

posted @ 2022-04-15 15:33  风吹过半夏  阅读(1154)  评论(0编辑  收藏  举报