没有合适的资源?快使用搜索试试~ 我知道了~
段管理机制实现虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换, 分页管理机制实现线性地址到物理地址的转换。如果不启用分页管理机制,那么线性地址就是物理地址. 本文将介绍80386的存储器分页管理机制和线性地址如 何转换为物理地址。
资源推荐
资源详情
资源评论
80386 内存分页机制
80386 开始支持存储器分页管理机制。分页机制是存储器管理机制的第 3 二部分。段管理机
制实现虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换, 分页管理机制实现线性
地址到物理地址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介
绍 80386 的存储器分页管理机制和线性地址如 何转换为物理地址。
<一>存储器分页管理机制
在保护模式下,控制寄存器 CR0 中的最高位 PG 位控制分页管理机制是否生效。如果 PG=1,
分页机制生效,把线性地址转换为物理地址。 如果 PG=0,分页机制无效,线性地址就直接
作为物理地址。必须注意,只有在保护方式下分页机制才可能生效。只有在保证使 PE 位为
1 的前提下,才能够使 PG 位为 1,否则将引起通用保护故障。
分页机制把线性地址空间和物理地址空间分别划分为大小相同的块。这样的块称之为页。
通过在线性地址空间的页与物理地址空间的页之间建立 的映射,分页机制实现线性地址到
物理地址的转换。线性地址空间的页与物理地址空间的页之间的映射可根据需要而确定,可
根据需要而改变。线性地址空间的任何 一页,可以映射为物理地址空间中的任何一页。
采用分页管理机制实现线性地址到物理地址转换映射的主要目的是便于实现虚拟存储器。
不象段的大小可变,页的大小是相等并固定的。根据程序的逻辑划分段,而根据实现虚拟存
储器的方便划分页。
在 80386 中,页的大小固定为 4K 字节,每一页的边界地址必须是 4K 的倍数。因此,4G
大小的地址空间被划分为 1M 个页,页的开始地 址具有“XXXXX000H”的形式。为此,我们把
页开始地址的高 20 位 XXXXXH 称为页码。线性地址空间页的页码也就是页开始边界线性地
址的高 20 位;物理地址空间页的页码也就是页开始边界物理地址的高 20 位。可见,页码
左移 12 位就是页的开始地址,所以页码规定了页。
由于页的大小固定为 4K 字节,且页的边界是 4K 的倍数,所以在把 32 位线性地址转换成
32 位物理地址的过程中,低 12 位地址保持不变。 也就是说,线性地址的低 12 位就是物理
地址的低 12 位。假设分页机制采用的转换映射把线性地址空间的 XXXXXH 页映射到物理地
址空间的 YYYYYH 页, 那么线性地址 XXXXXxxxH 被转换为 YYYYYxxxH。因此,线性地址到物
理地址的转换要解决的是线性地址空间的页到物理地址空间的页的映射,也就 是线性地址
高 20 位到物理地址高 20 位的转换。
<二>线性地址到物理地址的转换
1.映射表结构
线性地址空间的页到物理地址空间的页之间的映射用表来描述。由于 4G 的地址空间划分
为 1M 个页,因此,如果用一张表来描述这种映射,那 么该映射表就要有 1M 个表项,若
每个表项占用 4 个字节,那么该映射表就要占用 4M 字节。为避免映射表占用如此巨大的存
资源评论
码侬
- 粉丝: 50
- 资源: 111
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功