【问题标题】:Direct-Mapped Cache Hit & Miss直接映射缓存命中和未命中
【发布时间】:2013-12-03 07:26:21
【问题描述】:

4 位地址

标记 1 位

索引 2 位

偏移 1 位

每块 2 个字节

4套(每套1块)

我正在尝试确定以下地址是命中还是未命中。我正在介绍我迄今为止获得的信息。 (所有功劳都归于堆栈溢出)

地址

14

设置 3

v = 0

标签 = 1

偏移量 = 0

9

设置 0

v = 0

标签 = 1

偏移量 = 1

2

设置 1

v = 0

标签 = 0

偏移量 = 0

6

设置 3

v = 1

标签 = 0

偏移量 = 0

3

设置 1

v = 1

标签 = 0

偏移量 = 1

【问题讨论】:

    标签: caching memory binary hit


    【解决方案1】:

    因为它是一个直接映射缓存,它有 4 个集合,这意味着它有 4 个块的容量。

    1)地址14,二进制为:1110

    假设一开始缓存是空的,我们有一个未命中,我们将这个词存储在缓存中。标签 1,位于第 3 组。

    2) 地址9,二进制为:1001

    标签 1 ,设置 #0,我们错过了。因此我们将其存储在集合 0 上。

    3) 二进制地址2; 0010

    这个块在第 1 集上,它是空的。我们错过并存储它。带有标签 0

    4) 二进制地址6:0110 因为我们已经在集合 3 中存储了一个块,所以我们比较它。由于它们的标签不同 Tag 0 != Tag 1 我们驱逐前一个并存储新的。小姐

    5)二进制地址3:0011 这个块进入第 1 组,因为我们已经在第 1 组中有一个块,所以我们比较它。 因为它们的标签等于 0 = 0,所以我们得到了一个 HIT。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 2014-06-26
      • 2016-11-12
      • 2018-06-24
      • 2012-04-21
      • 2021-03-25
      相关资源
      最近更新 更多