第10章保护模式及其编程 10.1保护模式基础 10.2虚拟内存管理 10.3特权级保护 10.4务 10.5中断和异 10.6虚拟8086模式 10.7操作系统类指令
第10章 保护模式及其编程 10.1 保护模式基础 10.2 虚拟内存管理 10.3 特权级保护 10.4 任务 10.5 中断和异常 10.6 虚拟8086模式 10.7 操作系统类指令
10.1保护模式基础 在保护模式下 ■寻址高达4GB的物理地址空间 ■支持存储器分段管理机制和分页管理机制 ■支持多任务 ■支持4个特权级和配套的特权检查机制 区分不同级别的代码
10.1 保护模式基础 在保护模式下: ◼ 寻址高达4GB的物理地址空间 ◼ 支持存储器分段管理机制和分页管理机制 ◼ 支持多任务 ◼ 支持4个特权级和配套的特权检查机制 ◼ 区分不同级别的代码
10.1.132位CPU内部结构 CPU有8个处理单元:执行单元、分段单元、分页 单元、总线单元、指令预取单元、指令译码单 元、高速缓存单元和浮点运算单元。 数据息號地址总线 总线接口 高速緩存 指令预取 指令译码 物理地址 罗辑地址 线性地址 浮点运算 执行单元 分段单元 页单元
10.1.1 32位CPU内部结构 CPU有8个处理单元:执行单元、分段单元、分页 单元、总线单元、指令预取单元、指令译码单 元、高速缓存单元和浮点运算单元
1.总线单元 ■总线单元是CPU与存储器和I/O的接口 ■总线接口对外提供:32位(或64位)数 据总线、32位(或36位)地址总线以及 控制总线 ■总线单元负责完成所有外部总线操作, 能够产生控制地址锁存器和数据总线收 发器工作的控制信号
1.总线单元 ◼ 总线单元是CPU与存储器和I/O的接口 ◼ 总线接口对外提供:32位(或64位)数 据总线、32位(或36位)地址总线以及 控制总线 ◼ 总线单元负责完成所有外部总线操作, 能够产生控制地址锁存器和数据总线收 发器工作的控制信号
2.指令预取单元 指令预取单元实现指令流队列的机制 CPU可以预取16字节的指令代码 预取进来的指令要保存在FIFO队列中
2.指令预取单元 指令预取单元实现指令流队列的机制 CPU可以预取16字节的指令代码 预取进来的指令要保存在FIFO队列中
3.指令译码单元 指令译码单元接收FIFO队列的输出 指令译码单元将接收到的机器代码指令译 码为微代码指令,并供执行单元使用
3.指令译码单元 指令译码单元接收FIFO队列的输出 指令译码单元将接收到的机器代码指令译 码为微代码指令,并供执行单元使用
4.执行单元 执行单元取出译码后的指令并执行该操作, 包括: ■算术逻辑单元ALU ■寄存器组 专用乘法器 移位器 ■控存(ROM)
4.执行单元 执行单元取出译码后的指令并执行该操作, 包括: ◼ 算术逻辑单元ALU ◼ 寄存器组 ◼ 专用乘法器 ◼ 移位器 ◼ 控存(ROM)
5.分段和分页单元 分段和分页单元负责地址产生、地址转换 和对总线接口单元的段检查。 CPU存储器管理的分段单元用硬件进行高速 地址计算,完成逻辑地址到线性地址的转换 和保护性检査; ■分页单元实现保护模式下的分页机制,它可 以将线性地址转换成物理地址,并由总线单 元输出
5.分段和分页单元 分段和分页单元负责地址产生、地址转换 和对总线接口单元的段检查。 ◼ CPU存储器管理的分段单元用硬件进行高速 地址计算,完成逻辑地址到线性地址的转换 和保护性检查; ◼ 分页单元实现保护模式下的分页机制,它可 以将线性地址转换成物理地址,并由总线单 元输出
6.浮点运算单元 浮点运算单元集成在80486及以上的CPU中 对于80386,需要另外一个数学运算协处理 器80387来执行浮点运算
6.浮点运算单元 浮点运算单元集成在80486及以上的CPU中; 对于80386,需要另外一个数学运算协处理 器80387来执行浮点运算
7.高速缓存单元 高速缓存单元将最近被访问的内存单元的 内容保存在CPU内部的 Cache中。 下次访问这些内存单元时,CPU直接访问 Cache就可以存取这些单元的内容。 由于 Cache的访问速度比内存快,高速缓存 单元能够显著提高程序的运行速度
7.高速缓存单元 高速缓存单元将最近被访问的内存单元的 内容保存在CPU内部的Cache中。 下次访问这些内存单元时,CPU直接访问 Cache就可以存取这些单元的内容。 由于Cache的访问速度比内存快,高速缓存 单元能够显著提高程序的运行速度