Cache的容量计算
Cache的总容量 = 标记阵列 + cache的存储容量
其中标记行由有效位、脏位、引用位等标记位以及tag组成;cache的存储容量与主存块大小相等。
例:
(计算存储容量)根据题意可知cache的存储容量为4K字,字长32位,所以,cache的存储容量为4Kx32位=128K位。
(计算标记阵列)已知主存块大小为4个字(字长32位),即16B,因此cache块内地址为4位。其存储容量为4K,所以cache共有1K(2^10)行,用10位表示cache行号。主存地址由tag、cache行号、cache块内地址组成,所以tag共占18位。本题采用的是回写方式,还包含脏位,所以标记行共18(tag)+1(有效位)+1(脏位)=20位,其标记阵列为20位x2^10行=20K位。
cache的总容量=标记阵列(20K位)+存储容量(128K位)=148K位。