gpt4 book ai didi

caching - 虚拟索引物理标记缓存同义词

转载 作者:行者123 更新时间:2023-12-04 14:39:22 25 4
gpt4 key购买 nike

我无法完全掌握 VIPT 缓存中的同义词或别名的概念。

考虑地址拆分为:-

enter image description here

在这里,假设我们有 2 个不同 VA 的页面映射到相同的物理地址(或帧号)。

弗吉尼亚州的 pageno 部分 (第 13-39 位)不同的被转换为 PA的PFN (位 12-35)并且两个 VA 的 PFN 保持相同,因为它们被映射到相同的物理帧。

现在页面偏移两个 VA 的部分(位 0-13)与它们想要从特定帧访问的数据相同,但不相同。

两个 VA 的 pageoffset 部分相同 , 位 (5-13) 也将相同,所以 索引或集合号相同 因此应该有 没有混叠因为只有单个集合或索引号被映射到物理帧号。

如图所示,第 12 位如何负责混叠?我无法理解。

如果有人可以在地址的帮助下举个例子,那就太好了。

谢谢 。

最佳答案

页偏移量是位 0-11,而不是 0-13。看看你的 basemap :页面偏移量是低 12 位,所以你有 4k 个页面(如 x86 和其他常见架构)。
如果任何索引位来自页偏移量之上,VIPT 不再 behaves like a PIPT with free translation for the index bits .这里就是这种情况。
一个进程可以将相同的物理页面(框架)映射到 2 个不同的虚拟页面。
您声称不同的 VA 的 pageno 部分(第 13-39 位)被转换为 PA(第 12-35 位)的 PFN,并且两个 VA 的 PFN 保持相同完全是假的。翻译可以改变位#12。 所以索引位之一确实是虚拟的而不是物理的,因此同一物理行的两个条目可以进入不同的集合。

I think my main confusion is regarding the page offset range. Is it the same for both PA and VA (that is 0-11) or is it 0-12 for VA and 0-11 for PA? Will they always be same?


PA 和 VA 总是相同的。页偏移量未标记在图表的 VA 部分,仅标记用作索引的位范围。
它没有任何不同是没有意义的:虚拟和物理内存都是字节可寻址(或字可寻址)。当然,页框(物理页)与虚拟页的大小相同。在从虚拟到物理的转换过程中向右或向左移动地址是没有意义的。

正如评论中所讨论的:
我最终找到了 http://www.cse.unsw.edu.au/~cs9242/02/lectures/03-cache/node8.html (其中包括问题中的图表!) .它说的是同样的事情:物理标记确实解决了缓存同音问题,作为上下文切换刷新的替代方法。
但不是同义词问题。为此,您可以让操作系统确保每个 VA 的第 12 位 = 每个 PA 的第 12 位。 这称为页面着色。
页面着色还可以解决同音异义问题,而无需硬件进行重叠标记位,因为它在物理地址和虚拟地址之间多提供了 1 个相同的位。物理 IDX = 虚拟 IDX。 (但是如果硬件想要依赖于这个不变量,那么它就会依赖于软件是正确的。)

标签与索引重叠的另一个原因是驱逐期间的回写 :
外层缓存几乎都是 PIPT,而内存本身显然需要物理地址。因此,当您将线路发送到内存层次结构时,您需要该线路的物理地址。
写回缓存需要能够在对存储的 TLB 检查完成很久之后驱逐脏行(将它们发送到 L2 或物理 RAM)。与加载不同的是,除非您将其存储在某个地方,否则您不会仍然有 TLB 结果 float 。 How does the VIPT to PIPT conversion work on L1->L2 eviction
让标签包含页面偏移上方的所有物理地址位解决了这个问题:给定页面偏移索引位和标签,您可以构建完整的物理地址。
(另一种解决方案是直写缓存,因此您始终可以使用来自 TLB 的物理地址与数据一起发送,即使它无法从缓存标签+索引中重建。或者对于只读缓存,例如指令缓存,没有回写;驱逐 = 丢弃。)

关于caching - 虚拟索引物理标记缓存同义词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46588219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com