例题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页的答案是错误的。各位高手请帮忙分析分析。
书上也并未说CACHE是按字节寻址啊?你是如何得知的?谢谢。
追答通常的计算机系统既可按字寻址,也可按字节寻址。
Cache一般是由SRAM构成的。
为保证能按字节寻址,地址线应为12根,否则只能按字寻址。
但是像我那样来计算CACHE的容量,得到的地址数就是10啊,我还是没太明白,请赐教。