- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12章-32位微机原理与接口技术
第十二章 32位微机原理与接口技术 本章要点 通用寄存器,段寄存器,专用寄存器,系统地址寄存器,系统段寄存器,控制寄存器,调试寄存器,测试寄存器 实地址模式,虚地址保护模式,虚拟8086模式,系统管理模式SMM 处理器选择伪指令 虚拟设备驱动程序(VxD),WINDOWS驱动程序模型(WDM) VxD设备描述符块DDB 本章学习目标 掌握32位微处理器中新增的寄存器组。 了解32位微处理器的三种工作模式:实模式、虚拟地址保护模式、虚拟8086模式、系统管理模式SMM。 了解32位微机中新增指令集 了解虚拟设备驱动程序(VxD)基础知识和WINDOWS驱动程序模型(WDM)基础知识。 12.1 32位微处理器 Intel 80x86主流CPU系列不断创新和改进,从80386开始,到80486、Pentium、 Pentium II/ III、 Pentium 4等都是32位的微处理器,支持32位数据类型,32位操作系统和32位的物理地址。 从80386开始就具备了3种工作模式,即实地址模式、虚地址保护模式、虚拟8086模式。到80486DX又增加了 1种工作模式,即系统管理模式(SMM)。 12.1.1 32位微处理器的寄存器组 32位微处理器中除了包含8位和16位寄存器外,还引入了若干32位寄存器。80386及其后继机型的可见寄存器组如图12.1所示。 通用寄存器 32位x86CPU的32位通用寄存器有8个,分别是EAX、 EBX、 ECX 、EDX、 ESI、 EDI、 EBP 、ESP.,它们是8086/8088CPU中16位寄存器AX 、BX 、CX 、DX、 SI 、DI、 BP、 SP的扩展 这些32位的寄存器可以用来保存数据、传送数据、保存算术运算和逻辑运算的结果,并且所有32位的通用寄存器都可以用于存放地址,在基址、变址寻址方式中使用。另外在专用特性上,和原16位寄存器的专用特性上是一致的,如EAX专用于乘除法和I/O指令。ECX具有循环计数特性,ESI 和EDI作为串处理指令专用的地址寄存器等。 12.1 32位微处理器中可见寄存器组 12.1.1 32位微处理器的寄存器组 段寄存器 除了原有的CS 、DS、 ES 、SS外,32位微处理器中还增加了2个段寄存器FS 和 GS,也属于附加的数据段。程序在不重新设置段寄存器值的情况下,能访问6个不同的段。内存单元的逻辑地址仍采用段地址:偏移地址的形式。但是在保护模式下,段寄存器的内容不再是段值,而是在系统中能够查找到段的一个选择符。 专用寄存器 32位微处理器中的EIP和EFLAGS是16位指令指针寄存器IP和标志寄存器FLAGS的扩展。EFLAGS是在16位FLAGS的基础上扩展了8个控制标志位和4个状态标志位,其他标志位的位置和意义与16位中的相同。见图12.2。 12.1.1 32位微处理器的寄存器组 专用寄存器中扩展的控制标志位的含义为: I/O特权标志位IOPL(I/O Privilege Level):占2位,用来表示I/O操作处于0~3级特权中的哪一级,只有当前特权级CPL在数值上小于或等于IOPL,I/O指令才可以执行。IOPL仅用于保护虚地址方式。 12.1.1 32位微处理器的寄存器组 专用寄存器中扩展的控制标志位的含义为: 嵌套任务标志NT(Nested Task):当该位被置1的时候,表示当前执行的任务正嵌套在另一任务中,否则该位清0。置1和清0都是通过向其他任务的控制转移来实现的,NT 也仅用于虚地址方式。在保护模式下中断和CALL指令可以引起任务切换,任务切换时,NT置1 ,否则清0。在中断返回指令IRET执行时,如果NT=1,则中断返回引起任务切换前的程序段,否则只产生任务内的控制转移。 重启动标志RF(Restart Flag):配合调试寄存器的断点或单步操作一起使用,在处理断点之前,在两条指令之间检查到RF为1,则下一条指令执行时的调试故障被忽略。在一条指令完整执行完后,将RF清0。当接收到一个非调试故障的故障信号时,RF置1。 12.1.1 32位微处理器的寄存器组 专用寄存器中扩展的控制标志位的含义为: 虚拟8086方式标志VM(Virtual 8086 Mode):VM位置1,表示80386工作在虚拟8086模式。 对齐检查标志AC(Alignment Check):当AC=1时,表示有对齐故障,即一个字访问操作时的访问地址是奇地址,或者一个双字访问操作的访问地址是一个不在双字边界上的地址等。对齐故障只由特权级3的运行产生,在特权级0~2上可以忽略AC中位的设置。 虚拟中断允许标志位VIF(Virtual IF):VIF=1表示允许虚拟8086模式或允许保护模式虚拟中断。虚拟中断标志是所有中断标志的虚拟映像。 12.
文档评论(0)