为什么英特尔使用 VIPT 缓存而不是 VIVT 或 PIPT?

问题描述 投票:0回答:2

我不确定,但如果我没记错的话,Intel使用了VIPT(virtual index physical tagged)缓存,我想知道这个选择的原因,为什么它比VIVT或PIPT更好,它有什么优势,也许有什么缺点。谢谢。

caching memory intel cpu-architecture cpu-cache
2个回答
6
投票

确切的设计决策可能没有公布,但总的来说,VIPT 的好处是:

  1. 虚拟索引意味着您可以在 TLB 中查找翻译之前(或同时)开始从缓存中读取集合。这意味着常见情况查找将比物理索引缓存快得多,在物理索引缓存中,您只能在翻译后查找缓存。
  2. 物理标记允许您避免别名 - 无论是在单个虚拟地址映射到多个物理地址的情况下(例如不同线程在虚拟地址范围内重叠),还是多个虚拟地址映射到同一物理线路(例如线程间通信) .这两种情况都可能导致虚拟标记缓存的一致性丢失,并且需要复杂的检测机制。

-1
投票

“vivt pipt”是计算机缓存中常用的映射方案。它代表“虚拟索引,虚拟标签,物理索引物理标记”。在这个映射方案中,缓存块由虚拟地址索引并用虚拟地址标记,但索引是物理执行的,标签是物理存储的。

© www.soinside.com 2019 - 2024. All rights reserved.