首页 文章

转换后备缓冲区(TLB)与L1缓存到CPU的级别是否相同?那么,我可以将虚拟地址转换与L1缓存访问重叠吗?

提问于
浏览
3

我试图了解有关缓存的整个结构和概念 . 由于我们使用TLB将虚拟地址快速映射到物理地址,如果我们使用虚拟索引,物理标记的L1缓存,是否可以将虚拟地址转换与L1缓存访问重叠?

1 回答

  • 4

    是的,这是VIPT缓存的重点 .

    由于虚拟地址和物理地址匹配较低位(页面偏移量相同),因此您无需转换它们 . 大多数VIPT缓存是围绕这个构建的(请注意,这限制了您可以使用的集合数量,但您可以增加它们的关联性),因此即使在找到转换之前,您也可以使用较低位在该缓存中进行查找 . TLB .

    这是至关重要的,因为TLB查找本身需要时间,并且L1高速缓存通常旨在提供尽可能多的BW和低延迟,以避免拖延通常更快的执行 .

    如果你错过了TLB并且遭受了更大的延迟(某个级别2 TLB或上帝禁止,页面漫步),那么它就不那么重要了,因为在你比较标签之前你无法对缓存查找做任何事情,但少数您在TLB命中缓存命中案例中保存的周期应该是许多应用程序的常见情况,因此通常认为值得优化和对齐管道 .

相关问题