【问题标题】:Referenced and Modified bit in TLB and PTETLB 和 PTE 中的引用和修改位
【发布时间】:2013-01-03 22:58:24
【问题描述】:

您可能知道这些是 Accessed 和 Dirty 位。现在 x86 PTE 包含这些位。假设 TLB 也包含这些位。在 TLB 命中的情况下,如果它们所引用的页框被访问或修改,这些位将由硬件设置。我的问题是硬件何时将这些位复制回 PTE,以及这究竟是如何完成的(尤其是在软件管理的 TLB 的情况下)?

PS - 我想知道这一点,因为我正在尝试设计和测试页面替换算法。

【问题讨论】:

    标签: x86 virtual-memory tlb


    【解决方案1】:

    x86 CPU 没有软件管理的 TLB。如果你想模拟这样的事情,你需要在普通 TLB 之上实现它,就像你将物理页面映射和取消映射到虚拟地址空间一样:在页面错误处理程序中拦截页面访问,修改 PDE/ PTE 在必要时使 TLB 条目无效,并在多处理器系统的情况下特别小心。

    CPU 将访问位和脏位设置为 1 对软件是透明的,因此,一旦页面被访问,您应该会立即看到更改。

    有关详细信息,请参阅“英特尔® 64 和 IA-32 架构软件开发人员手册”。获取包含第 1 卷至第 3 卷的 pdf,以便您将所有必要信息集中在一处。

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 2016-01-01
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 2011-03-16
      • 2015-04-29
      • 1970-01-01
      相关资源
      最近更新 更多