Caching 缓存线格式/布局

Caching 缓存线格式/布局,caching,layout,cpu,Caching,Layout,Cpu,我想了解缓存线的布局(不是缓存布局),并正在搜索更深入的解释或缓存线中包含哪些字段的图形,最好是针对英特尔CPU 关于计算机系统:一个程序员的观点从兰德尔E.布莱恩特;David R.O'Hallaron据说: 缓存线是缓存中存储块以及其他信息(如有效数据)的容器 位和标签位 但是,这是非常通用的,不说明是否还有其他位。 我在网上搜索,上面提到的书和英特尔手册,但没有找到其他任何东西。似乎唯一容易获得的是有关缓存布局和页表项的信息 这是任何未公开的信息还是太琐碎了,缓存线中唯一可用的字段是数据块

我想了解缓存线的布局(不是缓存布局),并正在搜索更深入的解释或缓存线中包含哪些字段的图形,最好是针对英特尔CPU

关于计算机系统:一个程序员的观点从兰德尔E.布莱恩特;David R.O'Hallaron据说:

缓存线是缓存中存储块以及其他信息(如有效数据)的容器 位和标签位

但是,这是非常通用的,不说明是否还有其他位。 我在网上搜索,上面提到的书和英特尔手册,但没有找到其他任何东西。似乎唯一容易获得的是有关缓存布局和页表项的信息


这是任何未公开的信息还是太琐碎了,缓存线中唯一可用的字段是数据块、有效位和标记位(如本书所述)?

除了数据本身,每个缓存线通常都有一致性元数据(不仅仅是有效性,使用四态MESI是一种流行的一致性跟踪方法)以及奇偶校验或ECC元数据

对于每套(或有时针对每一行),还将提供更换信息。最近未使用的可通过每行一位来实现,该位在使用时设置,并在缓存集中设置所有使用位时清除。基于树的伪最小最近使用数对于每个集合都有一个二叉树,其中每个位指示其组的一半是否最近使用

由多个一级缓存使用的二级缓存或三级缓存可能具有关于一级缓存保存数据的元数据,以避免必须向所有一级缓存发送无效或共享更新请求

可能存在其他元数据,以改进基本方法以外的替换(例如,已提出逐出位),指示压缩状态,提供预取提示等。AMD的Athlon窃取ECC位,将分支信息存储在L2中(仅为指令内存提供奇偶校验保护)


指令缓存还可以对缓存线进行预编码,以使解码更简单、更快。这可能会改变编码(例如,用分支目标插入(偏移量和偏移量之和)替换分支目标偏移量),重新排列字段以进行更常规的编码,或者用指令类型信息填充指令。

谢谢您的详细回答!那真的帮了我的忙!你有没有更进一步的参考资料或消息来源可以告诉我?