第二章 微处理器的编程结构
第一节 微处理器的三种工作模式
2.1.1 三种工作模式
1.实地址模式(Real-Address Mode)
单程序运行,实际占用地址。
微机上电或复位后,立即工作在实模式,计算机对系统进行初始化,并执行引导程序,为保护模式所需要的数据结构做好各种配置与准备工作。在Windows操作系统中,可以切换到实模式,运行与调试汇编语言编写的程序等。
CPU寻址空间只有1MB(00000H~FFFFFH),采用分段管理存储器的方式。
1MB的存储空间保留两个区域:
一个是中断向量表区(00000~003FFH),1KB,存放256个中断服务程序入口地址,每个占4个字节;
另一个是初始化程序区(FFFF0H~FFFFFH),存放进入ROM引导区的一条跳转指令。
2.保护模式(Protected Virtual Address Mode)
保护的虚地址模式,简称虚地址模式或保护模式。支持多任务,提供一系列保护机制。
对程序运行加以保护。对任务地址空间的隔离,设置程序的特权级,执行特权指令,设置访问空间,进行访问权限的检查。
另一个重要的增强是对虚拟存储器的支持,从一定的意义上说可以让程序设计人员不必考虑物理内存的大小。80386以上的微处理器工作在保护模式下,只有分段不分页、只分页不分段和既分页也分段3种工作方式。
在保护模式下,32根地址线都有效,可以访问4GB的物理存储空间,而且还可以支持虚拟存储器。
3.虚拟8086模式(Virtual 8086 Mode),简称V86模式
运行在保护模式中的实模式,其目的是在32位保护模式下执行纯16位程序,它是既有保护功能又能执行8086代码的工作模式。
在V86模式下,微处理器能够迅速而且反复地在V86模式和保护模式之间切换,如果从保护模式进入V86模式,则执行8086程序;若果从V86模式切换到保护模式,则继续执行原来保护模式下的程序。
2.1.2 三种工作模式的相互转换
如下图所示,CPU上电或复位后就进入实地址模式,通过CPU中的控制寄存器CR0中b0的位置1,即保护允许位PE置1,于是系统进入保护模式,若使PE复位,则返回实地址模式。执行IRETD指令或者进行任务切换时,则从保护模式转变为V86模式,通过中断可以从V86模式转变到保护模式。在V86模式下可以通过复位操作转到实地址模式。