标记位存储在直接映射缓存中的啥位置?
Posted
技术标签:
【中文标题】标记位存储在直接映射缓存中的啥位置?【英文标题】:Where are tag bits stored in direct mapped cache?标记位存储在直接映射缓存中的什么位置? 【发布时间】:2022-01-21 02:41:31 【问题描述】:据我了解,直接映射缓存会比较标记位。但是标签位存储在哪里?它们在缓存中吗?如果是,它们是否存储在缓存块本身中并且实际块大小更大?
【问题讨论】:
【参考方案1】:缓存标记位是地址中的位(从 CPU 的角度来看),根据缓存的大小和宽度用作标记。
让我们假设一个非常简单的缓存有 8 个 64 字节行
6 个最低有效位表示 64 字节行中的一个位置。接下来的 3 位是标签,因为我们只有 8 行
地址中的位: ... xxxx xxxt ttxx xxxx
在本例中,地址 0x86 和 0x10080 将具有相同的标记
这是一个过于简单的例子,缓存有很多细微差别,所以我建议阅读一些关于该主题的更深入的材料,或者阅读实际实现(即 CPU 手册)以获得更好的感觉这是如何工作的
【讨论】:
以上是关于标记位存储在直接映射缓存中的啥位置?的主要内容,如果未能解决你的问题,请参考以下文章
GoogleService-info.plist 存储在 ios 应用程序的啥位置?