X86 TLB和PTE中引用和修改的位

X86 TLB和PTE中引用和修改的位,x86,virtual-memory,tlb,X86,Virtual Memory,Tlb,您可能知道这些是访问和脏位。现在x86包含这些位。假设TLB也包含这些位。在TLB命中的情况下,如果访问或修改了这些位所指的页面帧,则硬件将设置这些位。我的问题是,硬件何时将这些位复制回PTE?这是如何实现的(尤其是在软件管理TLB的情况下) PS-我想知道这一点,因为我正在尝试设计和测试页面替换算法。x86 CPU没有软件管理的TLB。如果你想模拟这样的事情,你需要在普通TLB之上实现它,就像你要将物理页面映射和取消映射到虚拟地址空间一样:在页面错误处理程序中拦截页面访问,修改PDE/PTE,

您可能知道这些是访问和脏位。现在x86包含这些位。假设TLB也包含这些位。在TLB命中的情况下,如果访问或修改了这些位所指的页面帧,则硬件将设置这些位。我的问题是,硬件何时将这些位复制回PTE?这是如何实现的(尤其是在软件管理TLB的情况下)


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

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

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


有关详细信息,请参阅“英特尔64和IA-32体系结构软件开发人员手册”。获取包含卷1到卷3的pdf,这样您就可以在一个位置获得所有必要的信息。

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

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

有关详细信息,请参阅“英特尔64和IA-32体系结构软件开发人员手册”。获取结合了第1卷到第3卷的pdf,这样您就可以在一个地方获得所有必要的信息