唐朔飞《计算机组成原理》第2版120页例题4.8的问题!

例题4.8 假设主存容量为512KB,CACHE容量为4KB,每个字块为16个字,每个字32位。
(1)CACHE地址有多少位?
书上是这样求解的:根据CACHE容量为4KB(2的12次方=4K),故CACHE地址为12位。

我觉得不对,按照唐书74页对“存储容量”的解释,存储容量指能存放的二进制代码的总位数,即:存储容量=存储单元个数 * 存储字长 (式1), 当然存储容量也可以用字节总数来表示,即:
存储容量=存储单元个数 * 存储字长 / 8 (式2)。
我们现在按照(式2)来求解CACHE地址的位数(设位数为y):4KB=4 * 2的10次方 B=2的y次方 * 32 / 8 B =》y=10。所以我觉得书上120页的答案是错误的。各位高手请帮忙分析分析。

你所说的10根地址线指的是字地址,每个字4字节,唐老师的书上cache按字节寻址,所以是12根地址线。在书的73页也有提及,你可以参考一下。追问

书上也并未说CACHE是按字节寻址啊?你是如何得知的?谢谢。

追答

通常的计算机系统既可按字寻址,也可按字节寻址。
Cache一般是由SRAM构成的。
为保证能按字节寻址,地址线应为12根,否则只能按字寻址。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-05
请你对地址的含义与存储容量的区别开来。不加说明,则CACHE按字节寻址,又有4K的存储单元,自然有12根地址线追问

但是像我那样来计算CACHE的容量,得到的地址数就是10啊,我还是没太明白,请赐教。

第2个回答  2011-07-10
你求的y是存储单元个数吧 跟地址线有关系吗?
相似回答