微机第3_4章

上传人:kms****20 文档编号:51574608 上传时间:2018-08-15 格式:PPT 页数:130 大小:946.50KB
返回 下载 相关 举报
微机第3_4章_第1页
第1页 / 共130页
微机第3_4章_第2页
第2页 / 共130页
微机第3_4章_第3页
第3页 / 共130页
微机第3_4章_第4页
第4页 / 共130页
微机第3_4章_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《微机第3_4章》由会员分享,可在线阅读,更多相关《微机第3_4章(130页珍藏版)》请在金锄头文库上搜索。

1、第3章 80x86微处理器 第3章 80x86微处理器 3.1 80x86微处理器简介3.2 8086/8088微处理器3.3 8086/8088存储器和I/O组织 3.4 从80286到Pentium系列的技术发展 第3章 80x86微处理器 3.4 从80286到Pentium系列的技术发展 3.4.1 80x86寄存器组寄存器在计算机中起着非常重要的作用,每个寄存器相当于运算器中的一个存储单元,但由于寄存器位于CPU内部,对它们进行访问时不需要启动一个总线周期,因此其存取速度要比存储器快得多。寄存器用来存放计算过程中所需要的或所得到的各种信息,包括操作数地址、操作数以及运算的中间结果等。

2、 第3章 80x86微处理器 对程序设计人员来讲,了解CPU内部寄存器结构并掌握其使用方法是进行汇编语言程序设计的关键和基础。寄存器可分为程序可见寄存器和程序不可见寄存器两大类。所谓程序可见寄存器,是指在汇编语言程序设计中可以通过指令来访问的寄存器。程序不可见寄存器是指一般用户程序中不能访问而由系统所使用的寄存器。本节将从程序设计角度介绍80x86 CPU内部程序可见寄存器的结构和使用方法,而对于那些程序不可见寄存器将在随后介绍CPU结构时对其做必要说明。 第3章 80x86微处理器 从本章3.2.2节“8086/8088寄存器结构”中可以看出,8086/8088 CPU中程序可见寄存器可分为

3、三类:通用寄存器、段寄存器和控制寄存器。80286之后的CPU中寄存器同样也分为上述三类,只不过有关寄存器的功能和位数有所扩充而已。图3.15给出了80x86的程序可见寄存器组,下面分别加以说明。 第3章 80x86微处理器 1通用寄存器 对于80386及其后续机型则是图3.15中所示的完整的寄存器,它们是32位的通用寄存器,包括EAX、EBX、ECX、EDX、ESP、EBP、ESI和EDI。这些寄存器可以用来存放不同宽度的数据。其中,EAX、EBX、ECX和EDX可作为32位寄存器来用,其低16位既可作为一个16位寄存器来用(分别记为AX、BX、CX和DX),也可作为两个8位寄存器来用(分别

4、记为AH/AL、BH/BL、CH/CL和DH/DL);ESP、EBP、ESI和EDI可作为32位寄存器来用,其低16位也可用做一个16位寄存器(分别记为SP、BP、SI和DI)。需要注意的是,这些寄存器以字节或字的形式被访问时,不被访问的其他部分不受影响。如访问AH时,EAX的高16位和低8位不受影响。 第3章 80x86微处理器 图3.15 80x86 CPU内部程序可见寄存器组 第3章 80x86微处理器 此外,在8086/8088以及80286进行存储器寻址时,8个 通用寄存器中只有地址指针寄存器(SP和BP)、变址寄存器 (SI和DI)以及基址寄存器BX这5个寄存器可以用来存放操作 数

5、在存储器段内的偏移地址。在80386及其后续机型中,所 有这8个32位通用寄存器既可以存放数据,也可以存放地址 ,也就是说,这些寄存器都可以用来提供操作数在段内的偏 移地址。对于这8个通用寄存器的专用特性,80386及其后续机型 的32位通用寄存器的专用特性与8086/8088以及80286的16位 通用寄存器的专用特性是相同的,如ECX的计数特性,ESI 和EDI分别作为字符串操作指令中源串和目的串的地址寄存 器等。 第3章 80x86微处理器 2控制寄存器8086/8088和80286的控制寄存器包括指令寄存器IP和FLAGS两个16位寄存器。80286中的这两个寄存器与前面介绍的8086

6、/8088中相同,只不过80286中的标志寄存器FLAGS比8086/8088中的FLAGS多定义了两个标志,如图3.16所示。80386及其后续机型也有两个32位专用寄存器EIP和EFLAGS。它们的作用与相应的16位寄存器相同。标志寄存器FLAGS各位的定义如图3.16所示,其中新定义位的作用将在后面涉及时介绍。 第3章 80x86微处理器 图3.16 80x86标志寄存器 第3章 80x86微处理器 3段寄存器与8086/8088 CPU相同,80286 CPU中也有4个段寄存器CS 、DS、SS和ES,它们的功能在本章前面“8086/8088寄存器结 构”一节中已做了详细介绍,在此不再

7、赘述。在80386及其以后的80x86 CPU中,除上述4个段寄存器外 ,又增加了2个段寄存器FS和GS,它们也是附加的数据段寄 存器,如图3.15所示。除非专门指定,一般情况下,各段在存储器中的分配是 由操作系统负责的。在80x86中,段寄存器和与其对应存放偏 移地址的寄存器之间有一种默认的组合关系,这种默认关系 ,80286与8086/8088相同(见表3.2),80386及其后续CPU中段 寄存器与提供段内偏移地址的寄存器之间的默认组合如表3.10 所示。 第3章 80x86微处理器 表3.10 80386及其后续CPU中段寄存器与提供段内偏移地址的寄存器之间的默认组合 段寄存器 提供段

8、内偏移地址的寄存器CS EIPDSEAX、EBX、ECX、EDX、ESI、EDI或一个8位或32位数SS ESP或EBPES EDI(用于字符串操作指令)FS 无默认GS无默认第3章 80x86微处理器 3.4.2 80x86存储器管理存储器管理是由微处理器的存储器管理部件MMU提供 的对系统存储器资源进行管理的机制,其目的是方便程序 对存储器的应用。本节从应用角度出发,介绍80x86系列微 处理器的存储器管理机制。从8086/8088到Pentium,80x86系列微处理器的存储器 管理机制有了较大变化。8086/8088只有一种存储器管理方 式,即实地址方式(简称实方式);80286 CP

9、U具有两种工作 方式,即实方式和保护虚地址方式(简称保护方式);80386 及其以后的CPU有三种工作方式,即实方式、保护方式和 虚拟8086方式。 第3章 80x86微处理器 1实地址方式(简称实方式)实方式是80x86系列CPU共有的存储器管理模式,而8086/8088 CPU只能工作在此方式下,正如3.3节所介绍的那样,8086/8088 CPU通过对存储器分段来实现对1 M个存储器单元的直接访问。CPU中BIU单元的地址加法器根据指令中给出的段地址和段内偏移地址,通过将段地址乘以10H(16),即左移4位,再与段内偏移量相加得到一个20位的物理地址,该20位的物理地址加载到20位的地址

10、总线上,即可实现对8086/8088系统1 M个存储单元的访问。 第3章 80x86微处理器 80286、80386、80486以及Pentium的地址总线位数分别增加为24、32、32、36(见表3.1),但在实方式下,它们都只能使用低20位地址线,它们所能寻址的存储空间与8086/8088一样,也只有1 MB。在实方式下,CPU把从指令中得到的逻辑地址(段地址:段内偏移地址)转换为20位物理地址。不管CPU的实际地址引脚有多少根,在此方式下工作时,只能用其低20根地址线对1 M个存储单元进行访问。 第3章 80x86微处理器 2保护虚拟地址方式(简称保护方式)在实方式下,80286及其后续

11、CPU只相当于一个快速的8086,没有真正发挥这些高性能CPU的作用。而这些CPU的特点是能可靠地支持多用户系统,即使是单用户,也可支持多任务操 作,这就要求用新的存储器管理机制保护方式对存储器系统进行管理。1) 虚拟存储器的概念虚拟存储器(Virtual Memory)是一种存储器管理技术。它提供比物理存储器大得多的存储空间,使程序设计人员在编写程序时,不用考虑计算机内存的实际容量,就可以编写并运行比实际配置的物理存储器空间大得多的用户程序。 第3章 80x86微处理器 虚拟存储器由存储器管理机制以及一个大容量的快速硬盘存储器(内存)或光盘支持。在程序运行时,只把虚拟地址空间的一小部分映射到

12、主存储器中,其余暂不使用部分则仍存储在硬盘上。当访问主存储器的范围发生变化时,再把虚拟存储器的对应部分从磁盘调入内存,而对主存中目前不再使用的部分,可根据一定的替换策略将其从主存储器送回到硬盘。虚拟存储器地址是一种概念性的逻辑地址。虚拟存储器系统是在存储器体系层次结构(辅存主存高速缓存)的基础上,通过CPU内的存储器管理部件MMU,进行虚拟地址和实地址自动变换而实现的,对每个编程者是透明的,变址空间很大。 第3章 80x86微处理器 2) 虚拟存储器的基本结构按照主存(或内存)与外存(辅助存储器)之间信息交换时信息传送单位的不同,虚拟存储器可分为段式虚拟存储器、页式虚拟存储器和段页式虚拟存储器

13、三种。(1) 段式虚拟存储器。段是利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立的部分。段作为独立的逻辑单位可被其他程序段调用,这样就形成段间连接,产生规模较大的程序,因此,把段作为信息单位在主存与外存之间传送和定位是比较合理的。一般用段表来指明各段在主存中的位置。段表是由操作系统产生并存储在主存中的一个可再定位段。 第3章 80x86微处理器 把主存按段分配的存储器管理方式称为段式管理。段式管理系统的优点是段的分界与程序的自然分界相对应;段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段(如堆栈、队列等)具有动态可变长度,允许自由调度以便有效利用主存

14、空间,但是,正因为段的长度各不相同,段的起点和终点不定,给主存空间的分配带来麻烦,而且容易在段间留下许多空余的存储空间不好利用,造成浪费。 第3章 80x86微处理器 图3.17给出了段式虚拟存储器地址变换的原理。为了把虚拟地址(段号:段内偏移地址)变换为实存地址,需要一个段表,其格式如图3.17的上半部分所示。装入位为“1”表示该段已调入主存,为“0”则表示该段不在主存中;段的长度可大可小(其长度因程序而异),所以,段表中需要有长度指示。在访问某段时,如果段内偏移地址值超过段的长度,则发生地址越界中断。图3.17下半部分表示了虚拟地址向实存地址的转换过程。 第3章 80x86微处理器 图3.

15、17 段式虚拟存储器地址变换 第3章 80x86微处理器 (2) 页式虚拟存储器。页式管理系统的基本信息传送单位是定长的页。主存的物理空间被划分为等长的固定区域,称为页面。页面的起点和终点地址是固定的,给页表的建立带来了方便。惟一可能造成浪费的是程序最后一页的零头的页内空间,它比段式管理系统的段外空间浪费要小得多。页式管理的缺点正好和段式管理系统相反,由于页不是逻辑上独立的实体,因而处理、保护和共享都不如段式方便。 第3章 80x86微处理器 在页式虚拟存储系统中,把虚拟空间分成页,称为逻辑页;主存空间也分成同样大小的页,称为物理页。虚拟地址 由逻辑页号和页内行地址组成;实存地址由物理页号和页

16、内 行地址组成。由于两者的页面大小是相同的,因而页内行地 址是相等的。虚拟地址到实存地址的转换是通过由操作系统建立并存 储在主存中的页表实现的,如图3.18所示。在页表中,对应每一个虚存逻辑页号有一个表目,表目内容包括该逻辑页所 在的主存页面地址(物理页号),用它作为实存地址的高字段,与虚存地址的页内行地址相拼接就形成了实存地址。 第3章 80x86微处理器 图3.18 页式虚拟存储器地址变换 第3章 80x86微处理器 (3) 段页式虚拟存储器。为了克服段式和页式存储器管 理系统各自的缺点,可以采用分段和分页相结合的段页式 管理系统。程序按模块分段,段内再分页,交换信息时以 页为单位进行信息传送,用段表和页表(程序的每个段都要 有一个页表)进行两级存储器定位管理。如图3.19所示,目前微型计算机中广泛使用的是分段和 分页的存储器管理机制。它们都使用了由操作系统产生并 驻留于内存中的各种表格,这些表格规定了各自的转换函 数,从而实现从虚拟地址到实存地址之

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号