From e8827bbe6a7afb777c515112e2eeba47c800995d Mon Sep 17 00:00:00 2001
From: scPointer
Date: Tue, 9 Jul 2024 14:11:29 +0000
Subject: [PATCH] deploy: 97b5dc7db927c1f7d33e1dd491d6439d5d6d74e9
---
_sources/chapter4/3sv39-implementation-1.rst.txt | 2 +-
chapter4/3sv39-implementation-1.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/_sources/chapter4/3sv39-implementation-1.rst.txt b/_sources/chapter4/3sv39-implementation-1.rst.txt
index 8275f627..b8c980c8 100644
--- a/_sources/chapter4/3sv39-implementation-1.rst.txt
+++ b/_sources/chapter4/3sv39-implementation-1.rst.txt
@@ -374,7 +374,7 @@ SV39 地址转换过程
- 把 :math:`\text{VPN}_2` 作为偏移在三级页表的物理页中找到要访问位置的物理页号;
- 物理页号对应的物理页基址(即物理页号左移12位)加上 :math:`\text{offset}` 就是虚拟地址对应的物理地址。
-这样处理器通过这种多次转换,终于从虚拟页号找到了一级页表项,从而得出了物理页号和虚拟地址所对应的物理地址。刚才我们提到若页表项满足 `R,W,X` 都为 0,表明这个页表项指向下一级页表。在这里三级和二级页表项的 `R,W,X` 为 0 应该成立,因为它们指向了下一级页表。
+这样处理器通过这种多次转换,终于从虚拟页号找到了一级页表项,从而得出了物理页号和虚拟地址所对应的物理地址。刚才我们提到若页表项满足 `R,W,X` 都为 0,表明这个页表项指向下一级页表。在这里一级和二级页表项的 `R,W,X` 为 0 应该成立,因为它们指向了下一级页表。
快表(TLB)
diff --git a/chapter4/3sv39-implementation-1.html b/chapter4/3sv39-implementation-1.html
index 03ccc01d..f343e3f9 100644
--- a/chapter4/3sv39-implementation-1.html
+++ b/chapter4/3sv39-implementation-1.html
@@ -660,7 +660,7 @@ SV39 地址转换过程
物理页号对应的物理页基址(即物理页号左移12位)加上 \(\text{offset}\) 就是虚拟地址对应的物理地址。
-这样处理器通过这种多次转换,终于从虚拟页号找到了一级页表项,从而得出了物理页号和虚拟地址所对应的物理地址。刚才我们提到若页表项满足 R,W,X 都为 0,表明这个页表项指向下一级页表。在这里三级和二级页表项的 R,W,X 为 0 应该成立,因为它们指向了下一级页表。
+这样处理器通过这种多次转换,终于从虚拟页号找到了一级页表项,从而得出了物理页号和虚拟地址所对应的物理地址。刚才我们提到若页表项满足 R,W,X 都为 0,表明这个页表项指向下一级页表。在这里一级和二级页表项的 R,W,X 为 0 应该成立,因为它们指向了下一级页表。
快表(TLB)
我们知道,物理内存的访问速度要比 CPU 的运行速度慢很多。如果我们按照页表机制循规蹈矩的一步步走,将一个虚拟地址转化为物理地址需要访问 3 次物理内存,得到物理地址后还需要再访问一次物理内存,才能完成访存。这无疑很大程度上降低了系统执行效率。