【发布时间】:2018-03-17 05:25:25
【问题描述】:
我无法完全掌握 VIPT 缓存中同义词或别名的概念。
考虑地址拆分为:-
在这里,假设我们有 2 个具有不同 VA 的页面映射到相同的物理地址(或帧号)。
VA 的 pageno 部分(第 13-39 位)是不同的,它们被转换为 PA 的 PFN(第 12-35 位),并且两者的 PFN 保持相同VA 映射到相同的物理帧。
现在两个 VA 的 pageoffset 部分(位 0-13)与他们想要从特定帧访问的数据相同。
由于两个 VA 的 pageoffset 部分相同,位 (5-13) 也将相同,因此 index 或 set no 相同,因此存在应该无别名,因为只有单个集合或索引号映射到物理帧号。
如图所示,第 12 位如何负责混叠?我无法理解。
如果有人可以在地址的帮助下举个例子,那就太好了。
谢谢。
【问题讨论】:
-
顺便说一句,此图有一个不影响问题的小错误:36 - 12 = 36 位物理地址的 24 位标签,而不是 28。MIPS64 R4x00 CPU 实际上有 40位虚拟地址、36 位物理地址和 24 位标签,根据the manual 的第 4 章和第 11 章。此图来自cse.unsw.edu.au/~cs9242/02/lectures/03-cache/node8.html,它确实将其标记为用于 MIPS R4x00。
标签: caching operating-system cpu-architecture cpu-cache