CPU缓存中索引位的用途

时间:2016-06-03 06:59:23

标签: caching cpu-cache

关于CPU缓存的当前Wikipedia article说明如下:

  

索引描述了数据的哪个缓存行(哪个缓存行)   已被放入。

我怀疑这是真的,因为据我所知,缓存的工作方式,索引位选择可以存储项目的集合。一组由多个缓存行(也称为缓存块)组成。然后,标记位用于标识高速缓存行。

我是对的吗?

1 个答案:

答案 0 :(得分:0)

您对2种不同的映射方案感到困惑。仅当使用的映射为 set-associative 时,才使用术语 set 。如果使用的映射是直接映射,则没有意义。这些不同的映射在您在问题中提供的链接中清楚地解释。

请注意声明

  

索引描述了数据的哪个缓存行(哪个缓存行)   已被放入。

用于直接映射方案,其中索引字段中的位数描述高速缓存内存中的行数。意味着如果索引字段是 x 位,那么高速缓冲存储器中的幂x 行有 2。并且偏移用于定位我们想要在特定行中读取哪个字节,以防我们的内存是字节可寻址的。

对于 set-associative 方案,我们的整个缓存内存分为几组。字段索引现在不再存在,但它分为两个字段,即设置偏移,其中set描述了我们关注的集合和offset用于指定在内存可以字节寻址的情况下我们想要的集合中的哪个字节。