以下参数适用于使用 40 位虚拟地址和 1G 字节物理(主)内存的系统。字大小为 64 位(8 字节)。地址指向字节并在字节边界上对齐。我们对 i 位地址使用以下符号:Ai-1...A2,A1,A0 其中 Ai-1 是地址的最高有效位,A0 是地址的最低有效位。虚拟地址用 V39-V0 表示,物理地址用 P29-P0 表示。
Page size: 64 K bytes
Page table: three-level page table
The virtual page number is split in 3 fields of 8 bits each.
Entries in all tables are 32 bits (4 bytes).
这是我目前发现的,
由于它是一个 40 位的虚拟地址并且页面大小为 64kB (2^16),因此 16 位用于偏移量,我们从 40 中减去 16。剩余的 24 位用于虚拟页码 (VPN)。VPN 分为 3 个字段,每个字段 8 位。所以我们有一个三级页表。每个表有 2^8 个条目,每个表的大小为2^8 * 4 bytes = 1024 bytes
.
从这里我们将如何继续并找到每个级别的页表条目所覆盖的虚拟内存总量?