缓存大小和集合关联映射

时间:2015-03-09 15:16:31

标签: caching byte system memory-address

考虑具有256字节的字节可寻址主存储器和8字节块大小的机器。使用一组关联映射缓存,由32行分为2行集。

  1. 缓存中将存储多少字节?
  2. 主内存地址中有多少位?
  3. 如何将主内存地址划分为提供映射 缓存?
  4. 将具有以下地址的字节存储到哪个集合中 - 110101010101011010?
  5. 解释为什么会非常有帮助,因为我正在努力了解如何将这些工作用于进一步理解。

1 个答案:

答案 0 :(得分:1)

在你回答之前,让我们看看一些计算(参见log as base to base 2):

i)套数= 32/2 = 16 。因此,指向一组set = log 16 = 4 所需的位数。

ii)作为行内偏移量留下的位数= log 8 = 3 。 8是这里的块或行大小。

iii)RAM中的块数= 256KB / 8 = 2 ^ 15

  1. 缓存可以保持最大32 X 8 = 256字节。(这与使用的映射技术无关)
  2. 主存储器地址必须 18位。(由于RAM的大小为256 X 8 = 2 ^ 18且log(2 ^ 18)= 18。
  3. 主内存实际上并没有划分,但您可以将其视为逻辑分区为 16 (编号组)由 2 ^ 11 行组成的不同区域每个,使得该区域中的每一行仅映射到特定的集合中。 由于有2 ^ 15个块,因此将2 ^ 15除以16得到数字2 ^ 11。
  4. 110101010101011010:在此地址中,首先将最后3位用于偏移,接下来的4位是1011,相当于11位十进制。因此,这将属于第11集