【发布时间】:2022-01-21 02:41:31
【问题描述】:
据我了解,直接映射缓存会比较标记位。但是标签位存储在哪里?它们在缓存中吗?如果是,它们是否存储在缓存块本身中并且实际块大小更大?
【问题讨论】:
标签: caching
据我了解,直接映射缓存会比较标记位。但是标签位存储在哪里?它们在缓存中吗?如果是,它们是否存储在缓存块本身中并且实际块大小更大?
【问题讨论】:
标签: caching
缓存标记位是地址中的位(从 CPU 的角度来看),根据缓存的大小和宽度用作标记。
让我们假设一个非常简单的缓存有 8 个 64 字节行
6 个最低有效位表示 64 字节行中的一个位置。接下来的 3 位是标签,因为我们只有 8 行
地址中的位: ... xxxx xxxt ttxx xxxx
在本例中,地址 0x86 和 0x10080 将具有相同的标记
这是一个过于简单的例子,缓存有很多细微差别,所以我建议阅读一些关于该主题的更深入的材料,或者阅读实际实现(即 CPU 手册)以获得更好的感觉这是如何工作的
【讨论】: