关于高速缓存大小 - 获取每个块的大小和单词数量的块数

时间:2015-02-22 23:48:02

标签: caching memory-management architecture

这是Stallings的计算机组织与架构一书中的一个例子

  • 缓存可以容纳64 KB
  • 数据在主存储器和高速缓存之间以每个4字节的块传输。这意味着缓存被组织为16K = 2 ^ 14行,每行4个字节*。
  • 主内存有16M。那是2 ^ 24个单词。所以4M块4个字节。

我的困惑在于第二点。据说每个块是4个字节,即8个字的4个字,因此一个块是32位= 2 ^ 5。现在我想获取缓存中的块数。为此,我将缓存的大小除以一个块的大小,即2 ^ 16(64K)/ 2 ^ 5(4字节)= 2 ^ 11行,每行4个字节,但答案是2 ^ 14。我究竟做错了什么?谢谢!

1 个答案:

答案 0 :(得分:2)

它的64K字节因此它将是2 ^ 16字节。

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