Cache总容量计算与写回法联合使用

来源:互联网 发布:光伏电站数据采集器 编辑:程序博客网 时间:2024/06/09 04:46

Cache总容量计算与写回法联合使用

@(组成原理)

(2015.15)假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用写回(Write Back)法,则能存放4K字数据的Cache的总容量的位数至少是C.
A. 146K B. 147K C.148K D.158K

分析:这题主要想强调写回法至少有的标记是脏位和有效位。

写回法:当CPU写Cache时,只修改Cache的内容,不是立即写入到主存。只有当此Cache块被替换时才写回主存。因此,就存在不一致的隐患,需要记录这一块是不是被写了,如果只是读而没有写,那么就不必写回。写是比较耗时的操作。因此有必要有一个位,这个位叫作脏位

此外,每一个Cache行必然有的位是有效位!这个是最基础的,根据主存地址和中间的块号索引到Cache块时,还要看人家Cache块愿不愿意呢。所以有效位就是做这样的工作的。

回到本题,我们可以算出块内偏移需要4位,注意是按照字节B编址,不是bit。当然这个可以不用算,算出来只是觉得好玩。

Cache数据有4K字,就是
4K32bits=4K4B=16KB=214B
共有1K行。

所以行号+行内索引共14位,则32位主存地址有32-14 = 18bits用于高位标记。

加上2bits的有效位和脏位,共20bits.

所有共有:20bits1K+4K32bits=148Kbits

2 0
原创粉丝点击