gpt4 book ai didi

c - 确定缓存的详细信息

转载 作者:行者123 更新时间:2023-11-30 15:13:50 25 4
gpt4 key购买 nike

Your machine has an L1 cache and memory with the following properties.

  • Memory address space: 24 bits
  • Cache block size: 16 bytes
  • Cache associativity: direct-mapped
  • Caches size: 256 bytes

我被要求确定以下内容:1. 标签位数。 2.现金索引的位数。 3.缓存大小的位数。

  1. 标签位 = m - (s+b)

    m = 24。s = log2 S,S = C/(B*E)。 E = 1,因为它是直接映射的。因此 S = 256/16 = 16。 s = log2 16 = 4。 B = 16(缓存 block 大小) b = log2 B;即 log2 16= 4。因此 s=4,b=4,m=24。 t = 24-(4+4) = 16 个标签位。

  2. 我不知道如何解决这个问题。

  3. 我认为缓存大小的位数仅为 C*(位数/字节)= 256*8 = 2048。

谁能帮我弄清楚2.,并确定1.和3.中的逻辑是否正确?

最佳答案

1) m=32 是正确的(不是 24 吗?)。

2) 索引位的数量:直接映射时寻址高速缓存中的 block 的位数,因为它标识集合(在本例中仅包含一个 block )。如果是 2 路,则索引需要少一位(并添加到标记位)。对于这个问题,由于有 16 个集合,因此需要 16 个索引位,可以用 4 个索引位表示。

3)目前尚不完全清楚如何解释这个问题。我将其理解为寻址高速缓存所需的位数,在本例中为 4?如果确实如您所假设的那样,缓存中的位数是有意义的,则您必须在解决方案中添加 16*16 位的标签位。

关于c - 确定缓存的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com