【发布时间】:2017-09-04 06:04:32
【问题描述】:
以下参数适用于使用 40 位虚拟地址的系统和 1G 字节的物理(主)内存。字大小为 64 位(8 字节)。地址点 到字节并在字节边界上对齐。我们使用以下符号表示 i-bit 地址: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。
从这里我们将如何继续并找到每个级别的页表条目所覆盖的虚拟内存总量?
【问题讨论】:
-
我投票结束这个问题,因为它不是一个编程问题。
-
不要关闭它,问题已正确标记。
标签: cpu-architecture virtual-memory page-tables