32 位 80x86 CPU 的工作模式

为保持兼容性,32 位 80x86 CPU 引入三种工作模式:实模式、保护模式、虚拟 8086 模式。

一、实模式

实模式的特点就是为了兼容 16 位机的特点,内存寻址为 0~0FFFFFH 的 1MB 空间,20 位的物理地址由 16 位的段地址和 16 位的偏移地址组成,CPU 地址线也只能低 20 位线有效。可以使用 32 位寄存器和 32 位操作数。MS DOS 只能在实模式下运行。

二、保护模式

保护模式是 32 位 80x86 CPU 主要工作模式,其特点是全部地址线参于寻址。程序访问内存使用的是逻辑地址(或称为虚拟地址)。该虚拟地址由 16 位的段选择符和 32 位偏移地址得到,16 位的段选择符存放在段寄存器中,应用程序不得修改,由操作系统决定。而实际上的物理地址是用 16 位的段选择符所对应的 32 位段基址和 32 位偏移地址组成。32 位偏移地址使得每段的长度为 232=4GB,由于采用虚拟地址,使各程序之间有严格的内存保护和隔离,支持了多任务的运行。Windows 系统及应用程序在保护模式下运行。

三、虚拟 8086 模式

虚拟 8086 模式就是生成多个虚拟的 8086 CPU,以便运行实模式下的 8086 程序。也支持内存保护和隔离,可同时运行多个程序。

Windows 下在打开的 DOS 窗口运行一个 DOS 应用程序,则该程序运行在虚拟 8086 模式。这就是我们常用的运行模式。

请参阅

(完)

comments powered by Disqus