Cache 的组织和过程(VIVT、VIPT、PIPT)

1. VIVT

VA 里的 index 🡲 查找到 cache-line 🡲  VA 里的 tag 比较 :
* hit 🡲 返回(不经过 MMU)
* miss 🡲 [VA->MMU->]PA 访存,写回 cache-line;VA 里的 tag 更新到 cache-line 🡲 返回

有别名问题。

2. VIPT

VA 里的 index 🡲 查找到 cache-line 🡲  [VA->MMU->]PA 里的 tag 比较 :
* hit 🡲 返回
* miss 🡲 PA 访存,写回 cache-line;PA 里的 tag 更新到 cache-line 🡲 返回

有别名问题。

3. PIPT

[VA->MMU->]PA 里的 index 🡲 查找到 cache-line 🡲  PA 里的 tag 比较 :
* hit 🡲 返回
* miss 🡲 PA 访存,写回 cache-line;PA 里的 tag 更新到 cache-line 🡲 返回

参考资料

Read More: