【问题标题】:About cache memory size - Getting the number of blocks out of the size and number words per block关于高速缓存内存大小 - 从每个块的大小和字数中获取块数
【发布时间】: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


    【解决方案1】:

    它是 64K 字节,所以它将是 2^16 字节。

    你必须把它变成比特,所以它将是 (2^16 * 2^3 比特) / 2^5 比特 = 2^14

    【讨论】:

      最近更新 更多