我试图了解有关缓存的整个结构和概念。由于我们使用TLB将虚拟地址快速映射到物理地址,如果我们使用虚拟索引,物理标记的L1缓存,是否可以将虚拟地址转换与L1缓存访问重叠?
答案 0 :(得分:4)
是的,这就是VIPT缓存的重点。
由于虚拟地址和物理地址匹配较低位(页面偏移量相同),因此您无需翻译它们。大多数VIPT缓存是围绕这个构建的(请注意,这限制了您可以使用的集合数量,但您可以增加它们的关联性),因此您甚至可以在找到转换之前使用较低位来在该缓存中进行查找。 TLB。
这一点至关重要,因为TLB查找本身需要时间,而L1缓存通常旨在提供尽可能多的BW和低延迟,以避免拖延通常更快的执行。
如果你错过了TLB并且遭受了更大的延迟(某个级别2 TLB或上帝禁止,页面漫步),那么它就不那么重要了,因为在比较标签之前你无法对缓存查找做任何事情,但是你在TLB命中+缓存命中案例中保存的几个周期应该是许多应用程序的常见情况,因此通常认为值得优化和对齐管道。