为什么缓存中的数据和标记块是分开的?

时间:2016-06-09 18:03:57

标签: caching

让我们考虑一个缓存(例如直接映射)......我在一些书中看到,包含数据的块与包含标记的块,验证位等分开。

所以,我有两个问题:
1 - 它们在物理上是分开的吗?
2 - 为什么?

PS:也许图像可能有助于理解问题:块标签和块数据分别位于红线左侧和右侧

enter image description here

谢谢

1 个答案:

答案 0 :(得分:0)

需要尽可能快地在缓存中搜索内存地址(包含所需字节)。因此tag区域是Associative Memory,其中可以同时搜索表示高速缓存的块/行的所有可能的tags。其中一个块/行将包含所需的字节。找到块后,使用offset值/部分内存地址,可以访问该字节。因此,访问datatag的方式存在差异,因此存在分离。