[英]Is Translation Lookaside Buffer (TLB) the same level as L1 cache to CPU? So, Can I overlap virtual address translation with the L1 cache access?
我试图了解有关缓存的整个结构和概念。 由于我们使用TLB将虚拟地址快速映射到物理地址,如果我们使用虚拟索引,物理标记的L1缓存,是否可以将虚拟地址转换与L1缓存访问重叠?
是的,这是VIPT缓存的重点。
由于虚拟地址和物理地址匹配较低位(页面偏移量相同),因此您无需转换它们。 大多数VIPT缓存是围绕这个构建的(请注意,这限制了您可以使用的集合数量,但您可以增加它们的关联性),因此您甚至可以在找到转换之前使用较低位来在该缓存中进行查找。 TLB。
这是至关重要的,因为TLB查找本身需要时间,并且L1高速缓存通常旨在提供尽可能多的BW和低延迟,以避免停止通常更快的执行。
如果你错过了TLB并且遭受了更大的延迟(某个级别2 TLB或上帝禁止,页面漫步),那么它就不那么重要了,因为在你比较标签之前你无法对缓存查找做任何事情,但少数你在TLB命中+缓存命中案例中保存的周期应该是许多应用程序的常见情况,因此通常认为值得优化和对齐管道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.