bru*_*uce 3 memory caching computer-architecture tlb
我试图了解有关缓存的整个结构和概念。当我们使用 TLB 将虚拟地址快速映射到物理地址时,如果我们使用虚拟索引、物理标记的 L1 缓存,是否可以将虚拟地址转换与 L1 缓存访问重叠?
是的,这就是 VIPT 缓存的全部意义所在。
由于虚拟地址和物理地址匹配低位(页面偏移量相同),因此您不需要转换它们。大多数 VIPT 缓存都是围绕此构建的(请注意,这会限制您可以使用的集合数量,但您可以增加它们的关联性),因此您甚至可以在找到翻译之前使用较低的位在该缓存中进行查找TLB。
这很关键,因为 TLB 查找本身需要时间,而 L1 缓存通常旨在提供尽可能多的 BW 和低延迟,以避免停顿通常更快的执行。
如果您错过了 TLB 并遭受了更大的延迟(某些级别的 TLB 或者,上帝保佑,页面遍历),那么它就不那么重要了,因为在比较标记之前,您无法真正对缓存查找做任何事情,但是少数您在 TLB 命中 + 缓存命中情况下保存的周期应该是许多应用程序的常见情况,因此通常认为值得优化和对齐管道。
| 归档时间: |
|
| 查看次数: |
1179 次 |
| 最近记录: |