【发布时间】:2026-01-10 04:40:01
【问题描述】:
这是 Stallings 的 Computer Organization and Architecture 一书中的一个例子
- 缓存可以容纳 64 KB
- 数据在主存储器和高速缓存之间以每块 4 字节的形式传输。这意味着缓存被组织为 16K = 2^14 行,每行 4 字节 *。
- 主内存有16M。那是 2^24 个单词。所以 4M 个 4 字节的块。
我的困惑在于第二点。据说每个块有 4 个字节,即 4 个 8 位的字,所以一个块是 32 位 = 2^5。现在我想获取缓存中的块数。为此,我将缓存的大小除以一个块的大小,即 2^16(64K)/2^5(4bytes) = 2^11 行,每行 4 个字节,但答案是 2^14。我究竟做错了什么?谢谢!
【问题讨论】:
标签: caching memory-management architecture