《微型计算机原理》课件第2章.ppt

上传人(卖家):momomo 文档编号:7873327 上传时间:2024-08-29 格式:PPT 页数:86 大小:1,016.50KB
下载 相关 举报
《微型计算机原理》课件第2章.ppt_第1页
第1页 / 共86页
《微型计算机原理》课件第2章.ppt_第2页
第2页 / 共86页
《微型计算机原理》课件第2章.ppt_第3页
第3页 / 共86页
《微型计算机原理》课件第2章.ppt_第4页
第4页 / 共86页
《微型计算机原理》课件第2章.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

1、第2章 微处理器结构及微型计算机工作原理 第第2 2章章 微处理器结构及微型计算机工作原理微处理器结构及微型计算机工作原理 2.1 微型计算机的组成及工作原理微型计算机的组成及工作原理 2.2 8086/8088及及80286微处理器的功能结构微处理器的功能结构 2.3 80386微处理器的功能结构微处理器的功能结构 2.4 80486微处理器的功能结构微处理器的功能结构 2.5 Pentium级微处理器简介级微处理器简介 第2章 微处理器结构及微型计算机工作原理 2.1 微型计算机的组成及工作原理微型计算机的组成及工作原理 图 2.1 微型计算机的组成 CPU存储器I/O接口控制总线地址总线

2、数据总线I/O设备第2章 微处理器结构及微型计算机工作原理 2.1.1 微处理器微处理器 微处理器(机)简称CPU,是用来实现运算和控制功能的部件,由运算器、控制器和寄存器 3 部分组成。运算器用于完成数据的算术和逻辑运算。CPU内部的寄存器用来暂存参加运算的操作数和运算结果。控制器通常由指令寄存器、指令译码器和控制电路组成。指令是一组二进制编码信息,主要包括两个内容:一是告诉计算机进行什么操作;二是指出操作数或操作数地址。控制电路根据指令的要求向微型机各部件发出一系列相应的控制信息,使它们协调有序地工作。第2章 微处理器结构及微型计算机工作原理 2.1.2 存储器存储器 图 2.1 中的存储

3、器是指微型计算机的内存储器,它通常由CPU之外的半导体存储器芯片组成,用来存放程序、原始操作数、运算的中间结果数据和最终结果数据。程序是按解题顺序编排、用一系列指令表示的计算步骤。程序和数据在形式上均为二进制码,它们均以字节为单位存储在内存储器中,一个字节占用一个存储单元,并具有唯一的地址号。CPU可以对内存储器执行读/写两种操作。读存储器操作是在控制部件发出的读命令控制下,将内存中某个存储单元的内容取出,送入CPU中某个寄存器;写存储器操作是在控制部件发出的写命令控制下,将CPU中某寄存器内容传送到存储器的某个存储单元中。写操作执行后,存储单元内容被改变;读操作执行后,存储单元内容不变。第2

4、章 微处理器结构及微型计算机工作原理 2.1.3 输入输入/输出设备及其接口电路输出设备及其接口电路 输入/输出(Input/Output,缩写为I/O)设备统称外部设备,是微型计算机的重要组成部分。输入设备的任务是将程序、原始数据及现场信息以计算机所能识别的形式送到计算机中,供计算机自动计算或处理用。微型机中常用的输入设备包括键盘、鼠标器、数字化仪、扫描仪、A/D转换器等。输出设备的任务是将计算机的计算和处理结果或回答信号以人能识别的各种形式表示出来。微型机中常用的输出设备包括显示器、打印机、绘图仪、D/A转换器等。软磁盘、硬磁盘及其驱动器对微型机来说,既是输入设备又是输出设备。只读激光盘(

5、CD-ROM)及其驱动器属于微型机的输入设备。软磁盘、硬磁盘及光盘又统称为计算机的外存储器。第2章 微处理器结构及微型计算机工作原理 输入/输出设备的种类很多,有电子式、电动式、机械式等,它们的工作速度一般较CPU要低。同时,输入/输出设备处理的信息种类也与CPU不完全相同。CPU只能处理数字量,而外部设备不仅能处理数字量,还能处理模拟量等。因而,外部设备(简称外设)与CPU间的硬件连线和信息交换不能直接进行,必须经过接口电路进行协调和转换。接口电路是微处理器与输入/输出设备联系的必经之路,它的性能随微处理器性能和外设种类的不同而有很大差异,其灵活性和应用范围是很大的。接口电路的主要职责是将微

6、处理器和输入/输出设备之间的信息统一和联系起来。I/O接口电路(I/O Interface)的种类很多,常用的接口电路有 8255 可编程并行接口电路、8253 可编程定时/计数电路、8251可编程串行接口电路、8237 直接存储器存取电路、82380多功能 I/O 接口电路等。第2章 微处理器结构及微型计算机工作原理 2.1.4 总线总线 1.数据总线数据总线DB(Data Bus)数据总线用来在CPU和其它部件间传送信息(数据和指令代码),具有三态控制功能,且是双向的。这就是说,CPU可以通过数据总线接收来自其它部件的信息,也可以通过数据总线向其它部件发送信息。通常,总线中信号线的条数称为

7、总线宽度。数据总线的宽度与CPU中大多数操作的操作数字长相同。因而,8 位机、16 位机、32 位机、64 位机数据总线的宽度分别为 8 位、16 位、32 位、64位。第2章 微处理器结构及微型计算机工作原理 2.地址总线地址总线AB(Address Bus)地址总线用于传送CPU要访问的存储单元或I/O接口的地址信号。地址信号一般由CPU发出送往其它芯片,故属单向总线,但也具有三态控制功能。地址总线的宽度视CPU所能直接访问的存储空间的容量而定。大多数 8 位微型机的地址总线 16 位,存储空间容量 64 KB;16 位微型机地址总线的宽度相互间存在差异。对 8086/8088 CPU来说

8、,地址总线 20 位,存储空间容量 1 MB;对 80286 CPU来说,地址总线 24 位,存储空间容量16 MB。32 位机和 64 位机的地址总线分别为 32 位和 36 位。第2章 微处理器结构及微型计算机工作原理 3.控制总线控制总线CB(Control Bus)控制总线是CPU向其它部件传送控制信号,以及其它部件向CPU传送状态信号及请求信号(如中断请求信号)的一组通信线。控制总线的宽度对不同的CPU来说,有较大的差异。第2章 微处理器结构及微型计算机工作原理 2.1.5 微型计算机整机工作原理简述微型计算机整机工作原理简述 CPU中的指令指针用来存放下一条要取出指令的存储单元地址

9、。指令指针的存在对一条指令的执行来说是必不可少的,也是基本的。通常,程序中的指令是按顺序执行的。当需要将欲执行的指令码取出时,首先把指令指针的内容经地址锁存器送地址总线,选中存储器中某一存储单元,然后再从此存储单元取出欲执行的指令码。与此同时,指令指针的内容送地址锁存器后,便被自动加 1,以便为取出下一条指令码作好准备。若一条指令码不止一个字节,则每个字节的取出过程与此相同。CPU中指令寄存器通过数据总线接收来自程序存储区的指令码,并将其寄存起来。指令寄存器中的操作码直接送指令译码器,经译码产生操作码译码信号。第2章 微处理器结构及微型计算机工作原理 此译码信号被送入控制部件,控制部件在该译码

10、信号控制下按照一定的时间顺序发出一系列控制信号,以使指令的各种微操作(如取数、运算、存数等)按顺序正确执行。当遇到转移指令时,该转移指令执行过程中将要转移到的指令地址置入指令指针,形成下条指令地址。当前指令执行完后,由于指令指针内容已指向下条指令地址,随着计算机时序周期的连续运行,便可根据下条指令地址取出下条指令码。然后将操作码译码信号送控制部件,发出控制信号,以便执行下条指令 周而复始,直至程序执行完为止。至于一个程序的起始地址和终止信号均可由系统软件进行选择和控制。第2章 微处理器结构及微型计算机工作原理 2.2 8086/8088 及及80286 微处理器的功能结构微处理器的功能结构 图

11、 2.2 串行处理和流水处理(a)串行处理;(b)流水处理 取指令1译码1取数据1执行1存储结果1取指令2译码2执行2取指令1取指令2取数据1取指令3存储结果1取指令4时间BIU执行2译码2执行1译码1执行部件(a)(b)第2章 微处理器结构及微型计算机工作原理 2.2.1 8086/8088 CPU的功能结构的功能结构 8086 CPU为典型的 16 位微处理器,它具有 16 位的内部数据总线和 16 位的外部数据总线。8088 CPU的内部数据总线也是 16 位,但外部数据总线却只有 8 位,因而称为准 16 位机。这两种微处理器在其它方面几乎完全相同。例如,它们都为 40 条引脚的双列直

12、插式组件,采用单一+5 V电源和 5 MHz单相时钟;均具有 20 位地址总线,可寻址 1 MB的内存地址空间和 64 KB的I/O地址空间;二者具有完全兼容的指令系统,并均能与8087 数学协处理器相连提高数据的运算速度和范围等。第2章 微处理器结构及微型计算机工作原理 1.8086/8088 CPU的内部结构的内部结构 图 2.3 8086/8088 CPU的结构框图 寄存器阵列ALU及标志寄存器控制电路指令译码器段寄存器及指令指针地址加法器总线控制电路指令流队列执行部件EU数据及操作数16指令码多路复用地址/数据总线8086:16位8088:8位总线接口部件BIU第2章 微处理器结构及微

13、型计算机工作原理 2.指令流队列指令流队列(Instruction Stream Queue)指令流队列实际上是一个内部的存储器阵列,它类似一个先进先出的栈。8086/8088 CPU的指令流队列最多能保存 6 个/4 个指令字节,且只要队列出现 2 个/1 个空字节,同时EU也未要求BIU进入存取操作数的总线周期,BIU便自动从内存单元顺序取指令字节,并填满指令流队列。当执行转移指令时,BIU使指令流队列复位,并从新的地址单元取出指令,立即送EU执行,然后,自动取出后继指令字节以填满指令流队列。由于EU在执行一条指令时必须等待BIU从存储器或I/O接口取操作数后方能运算,因而当BIU同时收到

14、EU请求存取操作数和预取指令请求时,BIU将先进行存取操作数的操作。第2章 微处理器结构及微型计算机工作原理 3.存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成 8086/8088 CPU的地址总线 20 位,可寻址的最大内存空间 1 MB(220个字节)。每个存储单元的地址信号均为 20 位二进制码,称为物理地址。8086/8088 CPU的内存储器采用分段结构,将 1 MB的内存空间分为若干段,每个段的字节数视需要而定,可多可少,但最多为 64 KB。段的起始地址(段首址)规定为:最低 4 位为 0,高 16 位为段寄存器内容(称为段基址)。段内存储单元的地址可以用相对于

15、段首址的 16 位偏移量来表示,这个偏移地址称为当前段内的偏移地址。第2章 微处理器结构及微型计算机工作原理 用段地址(段寄存器内容)及偏移地址来指明某一内存单元地址时,称为以逻辑地址表示内存地址。逻辑地址的表示格式为:段地址:偏移地址。例如,C018:FE7F表示段地址为C018H,偏移地址为FE7FH。已知逻辑地址,可求出对应的 20 位物理地址(见图 2.4(a):物理地址=段地址10H+偏移地址因此,若逻辑地址为C018:FE7F,则物理地址为CFFFFH,见图 2.4(b)。存储器的分段结构在编程中稍嫌麻烦,但为模块化程序、多道程序及多用户程序的设计提供了方便。第2章 微处理器结构及

16、微型计算机工作原理 图 2.4 20 位物理地址的构成举例(a)20 位物理地址的形成;(b)字节地址构成举例16位段地址16位偏移地址20位字节或字的物理地址+)0000段寄存器C018偏移地址FE7FC0180H段首址CFFFFH被访的单元D017FH段末址存储器64K分段(a)(b)第2章 微处理器结构及微型计算机工作原理 2.2.2 80286 CPU的功能结构的功能结构 1.80286 CPU的主要性能的主要性能 80286 CPU是比 8086/8088 CPU更为先进的 16 位微处理器。芯片上共集成 13.5 万只晶体管,具有 68 个引脚,采用四列直插式封装,地址线和数据线不

17、再复用,分开设置 16 条数据线和 24 条地址线,时钟频率为 8 MHz10 MHz。第2章 微处理器结构及微型计算机工作原理 80286 CPU具有存储器管理和保护机构。它采用分段的方法管理存储器,每段最大为 64 KB,且支持虚拟存储器。这就是说,80286 CPU有两种工作方式:实地址方式和虚地址方式。运行实地址方式时,相当于一个快速的 8086 CPU。从逻辑地址到物理地址的转换与8086 CPU相同,物理地址空间为 1 MB。运行虚拟保护方式时,可寻址 16 MB物理地址,提供 1 GB(230 字节)的虚地址空间,并能实现段寄存器保护、存储器访问保护及特权级保护和任务之间的保护等

18、。因而,80286 CPU能可靠地持多用户系统。第2章 微处理器结构及微型计算机工作原理 2.80286 CPU的内部结构的内部结构 图 2.5 80286 CPU的结构框图 物理地址发生器段寄存器段描述符Cache地址部件总线接口预取器预取队列24物理地址24地址总线16数据总线通用寄存器ALU及标志寄存器控制执行部件16偏移量和数据指令译码器已译码指令队列存储器操作数请求已译码指令指令部件总线接口第2章 微处理器结构及微型计算机工作原理 2.3 80386 微处理器的功能结构微处理器的功能结构 80386 CPU是 32 位微处理器,具有 132 条引脚,并以网络阵列方式封装。其中数据总线

19、及地址总线各 32 条,时钟频率为 12.5 MHz及 16 MHz。80386 CPU具有段页式存储器管理部件,4 级保护机构,并支持虚拟存储器。它有 3 种工作方式:实地址方式。此方式下 80386 CPU相当于一个高速 8086/8088 CPU。第2章 微处理器结构及微型计算机工作原理 虚地址保护方式。此方式下存储器按段组织,每段最长 4 GB(232个字节)。同时,在该方式下,80386 CPU可寻址 4 GB物理地址及 64 TB(246字节)虚拟地址空间。因而,对64 TB虚拟存储空间允许每个任务最多可用 16 K个段。第2章 微处理器结构及微型计算机工作原理 虚拟 8086 方

20、式。此方式可在实地址方式运行 8086 应用程序的同时,利用 80386 CPU的虚拟保护机构运行多用户操作系统及程序,即可同时运行多个用户程序,并能得到保护,使每个用户都感到自己拥有一台完整的计算机,非常灵活。80386 CPU 有两种类型芯片:80386SX和 80386DX。80386DX 芯片内部数据总线和外部数据总线均为 32 位,可寻址 4 GB存储空间。其配接的数学协处理器为 80387。80386SX的内部数据总线 32 位,外部数据总线 16 位,可寻址 16 MB存储空间。配接的数学协处理器为 80287。80386SX为准 32 位机。第2章 微处理器结构及微型计算机工作

21、原理 2.3.1 80386 CPU的功能结构的功能结构 图 2.6 80386 功能结构框图 码获取/页表获取三输入加法器描述符高速度缓冲存储器界限和属性PLA加法器页高速缓冲存储器控制和属性PLA线性地址总线物理地址总线请求判优器分段部件MMU分页部件总线接口部件BIU控制地址驱动器流水线总线宽度控制MUX收发器预取器/界验校验器HOLD,INTR,NMDDRROR,BUSYRESET,HLDABE0BE31A1A31M/IO,D/CW/R,LOCKADS,NA,BSIG,READYD0D3116字节预取队列指令译码 器已译码指令队列内部控 制总线位移量总线保护检测部件控制ROM译码和定序

22、状态标志桶形移位器ALU乘/除硬件寄存器组ALU控制执行部件指令译 码器指令预取3232ALUALU总线有效地址总线有效地址总线CPU3232323432第2章 微处理器结构及微型计算机工作原理 1.总线接口部件总线接口部件 总线接口部件BIU由请求判优控制器、地址驱动器、流水线总线宽度控制、多路转换MUX/收发器等部件组成,主要用于将CPU与外部总线连接起来。CPU内部的其它部件都能与BIU直接通信,并将它们的总线请求传给BIU。这样,指令、立即数和存储器偏移量均可在指令执行的不同阶段从存储器取出送至CPU内。但当多个总线请求同时发生时,为使程序的执行不被延误,BIU经请求优先控制器将优先数

23、据传输请求(包括立即数传输及偏移地址传输)。只有当不执行数据传输操作时,BIU方可满足预取代码的请求。第2章 微处理器结构及微型计算机工作原理 2.指令预取部件指令预取部件 80386 CPU中指令代码的预取不再由BIU负责,而由一个独立的指令代码预取部件完成。指令预取部件由预取器及预取队列组成。预取器管理着一个预取指令指针和段预取界限。从分段部件来的线性地址和分段界限分别送到这里。当BIU不执行属于指令执行部分的总线周期时,若预取队列有空单元或发生一次控制转移时,预取器便通过分页部件向BIU发出指令预取请求。分页部件将预取指令指针送出的线性地址变为物理地址,再由BIU及系统总线从内存单元中预

24、取出指令代码,放入预取队列中。80386 CPU的预取队列可存放 16 字节的指令代码。进入预取队列的指令代码将被送指令译码器部件译码。预取器保持预取队列总是满的。第2章 微处理器结构及微型计算机工作原理 3.指令译码部件指令译码部件 指令译码部件包括指令译码器及已译码指令队列两部分。它从代码预取部件的预取队列中读预取的指令字节并译码,变成很宽的内部编码,放入三层次的已译码指令队列中。这些内部编码中包含了控制其它处理部件的各种控制信号。因而,指令译码部件为指令的执行做好了准备。只要已译码指令队列中有空隙,而且预取队列中有指令字节,指令译码部件便以一个时钟周期译码一个指令字节的速度进行译码。如果

25、指令中有立即数和操作数偏移地址,它们也从预取队列中取出,而且,不管一个立即数和一个操作数偏移地址的长度有多少个字节,译码部件处理它们只需要一个时钟周期。第2章 微处理器结构及微型计算机工作原理 4.执行部件执行部件 执行部件由控制部件、数据处理部件和保护测试部件组成。它的任务是将已译码指令队列中的内部编码变成按时间顺序排列的一系列控制信息,并发向处理器的其它处理部件,以便完成一条指令的执行。80386 CPU中控制部件还用专门硬件来加速某种类型的操作,例如乘法、除法和有效地址的计算等。数据处理部件在控制部件控制下执行数据操作和处理。它包含一个算术逻辑部件ALU、8 个 32 位通用寄存器、一个

26、 64 位桶形移位器和一个乘法器等。64 位桶形移位器在一个时钟周期可执行多个位的移动;乘法器为早结束乘法器,当没有有效数字可处理时提前结束乘法运算,以便加快计算机运行速度。第2章 微处理器结构及微型计算机工作原理 保护测试部件用来监视存储器的访问操作是否违反程序静态分段的有关规则。这就是说,在保护方式下,对存储器的任何访问操作,包括运算,都将被严格控制。执行部件中还设有一条附加的 32 位内部总线和专门的控制逻辑部件,并提供同时执行两条指令所需要的控制回路,可使每条访问存储器的指令的执行与前一条指令的执行部分地重叠起来并行执行。这又一次提高了CPU对指令的执行速度。第2章 微处理器结构及微型

27、计算机工作原理 5.分段部件分段部件 分段部件由三输入地址加法器、段描述符高速缓冲存储器及界限和属性检验用可编程逻辑阵列PLA(Programmable Logic Array)组成。它的任务是把逻辑地址转换成线性地址。转换操作是在执行部件请求下由三输入专用加法器快速完成的,同时还采用段描述符高速缓冲存储器来加速转换。在逻辑地址向线性地址转换过程中,分段部件还要进行分段的违章检验。逻辑地址一旦转换成线性地址,便被送入分页部件。第2章 微处理器结构及微型计算机工作原理 6.分页部件分页部件 分页部件由加法器、页高速缓冲存储器及控制和属性PLA组成。它的任务是将分段部件或代码预取部件产生的线性地址

28、转换成物理地址。在操作系统软件控制下,若分页部件处于允许状态,便执行线性地址向物理地址的转换,同时还需检验标准存储器访问与页属性是否一致。若分页部件处于禁止状态,则线性地址即为物理地址。从线性地址到物理地址的转换实际上是将线性地址表示的存储空间再进行分页。页高速缓冲存储器也称转换旁视缓冲存储器TLB(Translation Lookaside Buffer),它用来加速线性地址到物理地址的转换。页是一个大小固定的存储块,每页存储空间有 4 KB。物理地址一旦由分页部件形成,立即送BIU以便进行存储器访问操作。第2章 微处理器结构及微型计算机工作原理 2.3.2 80386 CPU的寄存器的寄存

29、器 图 2.7 80386 CPU的基本寄存器集151413121110987654321015141312111098765432101514131211109876543210151413121110987654321015141312111098765432101514131211109876543210313029282726252423222120191817161514131211109876543210313029282726252423222120191817161514131211109876543210313029282726252423222120191817161514

30、131211109876543210313029282726252423222120191817161514131211109876543210313029282726252423222120191817161514131211109876543210313029282726252423222120191817161514131211109876543210EFLAGSSSGSFSESDSCSEIPESPEBPEDIESI7654321076543210EDXECXEBXEAXDLDXDH7654321076543210CLCXCH7654321076543210BLBXBH765432107

31、6543210ALAXAH31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 98765432102P标志附加数据代码数据段指令指针堆栈指针基地址指针指针目的变址源变址变址数据计数基地址累加器通用的32 位寄存器名称8 位寄存器名称16 位寄存器名称堆栈SIDIBPSP第2章 微处理器结构及微型计算机工作原理 1.通用寄存器通用寄存器 4 个通用寄存器是EAX、EBX、ECX、EDX。它们均是 32 位,且低 16 位被独立命名为 AX、BX、CX、DX。这样,80386 CPU便可与 8086 CPU、80286

32、 CPU的寄存器集兼容,再加上它们指令系统的兼容性,使得在8086 CPU、80286 CPU上编写的程序可以不加修改地在 80386 CPU上运行。EAX、EBX、ECX、EDX是在原 16 位通用寄存器集上扩充为 32 位时,加入代表扩充前缀的“E”形成的,并且它们的高 16 位没有独立命名,也不能独立访问。第2章 微处理器结构及微型计算机工作原理 16 位通用寄存器AX、BX、CX、DX的每一个既可当作一个 16 位寄存器,又可当作两个独立的 8 位寄存器进行访问。这 4 个 16 位通用寄存器的高 8 位被分别命名为AH、BH、CH、DH;低 8 位分别被命名为AL、BL、CL、DL。

33、这样,80386 CPU中 4 个通用寄存器EAX、EBX、ECX、EDX的每一个既可当作 32 位寄存器,又可将低 16 位当作一个 16 位寄存器或两个独立的 8 位寄存器被访问。而且,对 16 位寄存器、32 位寄存器低位上的操作不影响高 8 位或高 16 位的内容。第2章 微处理器结构及微型计算机工作原理 4 个 32 位通用寄存器既可用来存放操作数,也可用来存放操作数地址,而且在形成地址的过程中还可进行加减运算。然而,4 个 16 位通用寄存器在 8086 方式运行时,主要用来存放操作数,只有BX寄存器可用来存放操作数地址。在串操作及乘除法操作中,常采用隐含(即不用显式指定寄存器名存

34、放操作数)的方法,从固定的寄存器中取一个或多个操作数。例如,32 位乘法指令便隐含地规定用EAX存放被乘数,而EDX:EAX存放乘积。第2章 微处理器结构及微型计算机工作原理 80386 CPU中通用寄存器的设计虽然对它们的使用没有什么 限 制,但 是 E A X(或 A X 或 A L)通 常 还 是 用 作 累 加 器(Accumulator),存放参加运算的一个操作数及其运算结果。同时,大多数I/O指令和一些串操作需要EAX(或AX或AL)寄存器来存放操作数。EBX(或BX)通常用作基址寄存器(Base Register),存放偏移地址。ECX(或CX)通常用来计数(Count),在循环

35、指令及重复串操作指令中它用来对循环次数计数。EDX(或DX)通常用来存放数据,并可用来存放I/O指令中的端口地址。第2章 微处理器结构及微型计算机工作原理 2.变址寄存器变址寄存器 变址寄存器包括源地址(Source Index)寄存器ESI和目的地址(Destination Index)寄存器EDI。它们都是 32 位寄存器,并且其低 16 位分别被命名为 SI和DI,以便和 8086,80286 相兼容。在串操作指令(如MOVS)中,ESI(或SI)常用来存放源操作数的偏移地址,而EDI(或DI)常用来存放目标操作数的地址。在变址寻址方式中,ESI(或SI)及EDI(或DI)用作地址计算,

36、称为变址寄存器,存放存储器操作数的偏移地址。ESI、EDI、SI、DI也可与通用寄存器一样,用来存放 32 位或 16 位操作数。第2章 微处理器结构及微型计算机工作原理 3.指针寄存器指针寄存器 80386 CPU的指针寄存器包括基地址指针(Base Pointer)寄存器EBP、堆栈指针(Stack Pointer)寄存器ESP和指令指针寄存器EIP。EBP及 ESP 的低 16 位也分别被独立命名为BP和SP。这两个指针寄存器都是为堆栈区的数据操作而设置的,用来存放堆栈区的偏移地址。第2章 微处理器结构及微型计算机工作原理 堆栈是一组寄存器或一个存储区域,用来存放调用子程序或响应中断时的

37、主程序断点地址,以及其它寄存器的内容。比如,当主程序需要调用子程序时,有一组中间结果及标志位的状态需分别保留在通用寄存器及标志寄存器中,但被调用的子程序执行时,也需占用这些通用寄存器并影响标志,这样,除了在执行调用指令时将断点地址(调用指令后紧接着的一条指令地址)保存到堆栈中外,还必须将原主程序中保留在通用寄存器的中间结果和标志位的状态保存到堆栈中,直到子程序执行完毕,返回主程序时再将这些中间结果及标志位状态送回通用寄存器及标志寄存器中。第2章 微处理器结构及微型计算机工作原理 图 2.8 子程序的嵌套 调用子程序调用子程序主程序调用子程序返回返回子程序子程序第2章 微处理器结构及微型计算机工

38、作原理 图 2.9 8086 堆栈形式 堆栈“底”(SP初值)当前堆栈顶64K段SS存储器低地址POPs向上压缩堆栈PUSHes向下增长堆栈存储器高地址SP第2章 微处理器结构及微型计算机工作原理 堆栈操作有两种,一种叫压入或推入(PUSH),另一种叫弹出(POP)或拉出(PULL)。对 8086、80286 CPU来说,每次压入或弹出一个字;对 80386 CPU来说,每次可以压入或弹出两个字。任何微处理器不允许每次压入或弹出一个字节。最后压入堆栈的字总是最先弹出来。堆栈的这种后进先出的特点由堆栈指示器SP来控制。SP必须具有自动步进增量和减量的功能。在向下生成方式中,栈底占用较高地址,栈顶

39、占用较低地址。当需要把一个字压入堆栈时,首先SP自动减 2,指向新的栈顶两个空单元,然后将要压入堆栈的一个字送入栈顶两个空单元中。当要将堆栈中栈顶两个单元的一个字弹出堆栈时,先将SP所指栈顶两个单元的内容弹出,然后再将SP加 2 指向新的栈顶。第2章 微处理器结构及微型计算机工作原理 4.段寄存器和段描述符寄存器段寄存器和段描述符寄存器 段寄存器即段地址寄存器(Segment Address Register)。80386 中有 6 个 16 位段寄存器,它们是代码段寄存器CS(Code Segment)、数据段寄存器DS(Data Segment)、堆栈段寄存器SS(Stack Segmen

40、t)及附加数据段寄存器(Extra Data Segment)ES、FS和GS。其中CS、DS、SS及ES与 8086/8088、80286 中的段寄存器完全一样。第2章 微处理器结构及微型计算机工作原理 80386 运行在 8086 实地址方式时,把 1 MB的存储空间划分为若干个逻辑段。每个逻辑段的长度为 64 KB,并规定每个逻辑段 20 位起始地址的最低 4 位为 0000B。这样,在 20 位段起始地址中只有高 16 位为有效数字。称这高 16 位有效数字为段的基地址(简称段基址),并存放于段寄存器中。80386 的 6 个段寄存器可同时存放 6 个段的基地址,它们规定了 6 个逻辑

41、段,其中CS用来存放当前代码段的基地址,要执行的指令代码均存放在当前代码段中。DS用来存放当前数据段的基地址,指令中所需操作数常放于当前数据段中。SS用来存放当前堆栈段的基地址,堆栈操作所处理的数据均存放在当前堆栈段中。ES、FS、GS用来存放当前附加段的基地址,附加段通常也用来存放存储器操作数。第2章 微处理器结构及微型计算机工作原理 在虚地址保护方式下,80386 的段基地址和段内偏移地址为 32 位。这时 6 个16 位段寄存器的内容称为段选择器。处理器将根据段选择器确定段基地址,并经分段部件和分页部件计算存储器的线性地址和物理地址。为了加快线性地址的转换计算速度,80386 内部为每个

42、段寄存器设置了一个程序员不可见的段描述符寄存器(也称段描述符高速缓冲寄存器),见图 2.10。当段寄存器内容(段选择器)被指令确定后,80386 硬件便依段选择器作索引,从内存的某一个相应的段描述表中取出一个 8 字节的段描述符装入该段寄存器对应的段描述符寄存器中。段描述符包含有 4 个字节的段基地址,这个段基地址便可作为分段部件进行线性地址转换计算用。由于采用了 硬件方式寻址,加快了存储器访问速度。第2章 微处理器结构及微型计算机工作原理 图 2.10 段寄存器及段描述符寄存器 第2章 微处理器结构及微型计算机工作原理 5.标志寄存器标志寄存器EFLAGS 31030029028027026

43、025024023022021020019018AC17VM16RF15调整恢复标志阴影的各位由处理器保留0CF112PF304AF506ZF7SF8TF9IF10DF11OF13 12IOPL14NT150控制标志方向标志中断允许标志陷阱标志状态标志保护方式嵌套的任务I/O特权水平进位标志奇偶标志辅助进位标志零标志符号标志下溢标志虚拟8086方式标志图 2.11 80386 的EFLAGS寄存器第2章 微处理器结构及微型计算机工作原理 1)状态标志 状态标志用来寄存ALU运算结果的特殊信息。每个特殊信息用EFLAGS中的一位来表示。运算类指令执行之后,处理器自动置位适当的状态标志位,并可用程

44、序对其测试和判断。(1)进位标志CF(Carry Flag)。ALU进行加法运算时,若运算结果最高位有进位,CF=1;否则CF=0。ALU进行减法运算时,若运算结果最高位有借位,CF=1;否则CF=0。因而,CF标志通常作为无符号数加法运算有无溢出及比较两数大小的判别标志,并支持多精度的加、减运算。对压缩型BCD数进行运算时,CF及AF标志用来支持其修正操作。一些移位和循环指令的执行也影响CF标志。第2章 微处理器结构及微型计算机工作原理 (2)奇偶标志PF(Parity Flag)。PF表示算术或逻辑运算结果低 8 位中 1 的个数的奇偶性。若 1 的个数为偶,则PF=1;否则PF=0。奇偶

45、标志常用来检验数据传送是否出错。检验方法可用偶校验或奇校验。例如,利用偶校验码进行数据传送时,在传送过程中若正确无误,则PF=1,否则PF=0。(3)辅助进位标志AF(Auxiliary Flag)。ALU进行加减运算时,AF标志反映运算结果中第3 位向第 4 位的进位或借位。有进位(或借位)时AF=1,否则AF=0。AF标志常用于BCD数的校正运算中。第2章 微处理器结构及微型计算机工作原理 (4)零标志ZF(Zero Flag)。当ALU操作结果为全零,则零标志ZF=1。这对于算术运算或逻辑运算都适用。ZF标志的功用也很多,例如,在“比较”操作和“异或”操作之后使用ZF标志可判断二数是否全

46、等,或数据在输入输出传送中是否出错等。(5)符号标志SF(Sign Flag)。符号标志又称负数标志。在数的补码表示法中,数的最高位表示符号位。因此,若ALU运算结果的最高位是 1,表示是负数,则符号标志SF=1,否则SF=0。第2章 微处理器结构及微型计算机工作原理 (6)溢出标志OF(Overflow Flag)。带符号数加减运算的结果产生溢出时,OF=1;否则OF=0。带符号数的溢出判别法则采用 1.1 节中所叙述的双高位判别法。当CsCp=1 时产生溢出,CsCp=0 时不产生溢出(其中Cs表示符号位的进位,Cp表示有效数字最高位向符号位的进位)。若要判别两个带符号数a与b的大小(a-

47、b),必须采用如下规则进行判断:babaSFOF01第2章 微处理器结构及微型计算机工作原理 2)控制标志 控制标志可用程序来置位或清零,具有一定的控制功能。80386 共有 7 个控制标志位,分三类。(1)与 8086/8088、80286 兼容的控制标志位共 3 个。陷阱标志TF(Trap Flag),又称单步操作标志。该标志用于控制单步陷阱。当TF=1 时,如果执行指令就产生单步陷阱。即CPU每执行一条指令便自动产生一个陷阱异常,使微处理器转去执行一个服务程序,以便为用户提供该条指令执行后各寄存器的状况等。单步陷阱用于程序调试过程中。第2章 微处理器结构及微型计算机工作原理 中断允许标志

48、IF(Interrupt Enable Flag)。该标志用于控制可屏蔽中断。IF=1,可接受并响应可屏蔽中断;IF=0,不能接受可屏蔽中断。方向标志DF(Direction Flag)。该标志用于指定字符串处理指令的步进方向。当DF=1 时,字符串处理指令以递减方式由高地址向低地址方向进行。当DF=0 时,字符串处理指令以递增方式由低地址向高地址方向进行。第2章 微处理器结构及微型计算机工作原理 (2)保护方式标志。与 80286 一样,80386有两个保护方式标志。它们只在保护方式下有效,8086 仿真方式(实方式)下无效。两个保护方式标志也可用程序来设置以便控制处理器的运行,也属控制标志

49、。输入/输出特权水平标志IOPL(I/O Privilege Level)。该标志占用两位二进制位,四个状态,用来确定需要执行的I/O操作的特权水平。IOPL为 00 时,表示特权水平最高;IOPL为 11 时,表示特权水平最低。若当前特权水平在数值上小于或等于IOPL(亦即当前特权水平高于等于IOPL所表示的特权水平),I/O指令可以执行。否则,便产生一个保护异常。第2章 微处理器结构及微型计算机工作原理 嵌套任务标志NT。NT标志用来控制返回指令的运行。若NT=0,表明发生中断时或执行调用指令时没有发生任务切换,因而,返回指令执行常规的从中断或过程返回主程序的操作(同一任务的返回);若NT

50、=1,表明发生中断时或执行调用指令时发生了任务切换,亦即当前任务正嵌套在另一任务中,因而,返回操作通过任务切换来执行,处理器将把控制返回给调用该任务的任务(不同任务间的返回)。第2章 微处理器结构及微型计算机工作原理 (3)80386 新增的控制标志。共有两个这类标志。重新启动标志RF(Resume Flag)。RF标志亦称调整恢复标志,用来控制调试故障是否能被接受。当RF=0 时,调试故障被接受并应答;当RF=1 时,调试故障被忽略。虚拟 8086 方式标志VM(Virtual 8086 Mode Flag)。VM标志用来控制处理器在哪种保护方式下运行。若VM=1,处理器将在虚拟 8086

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《微型计算机原理》课件第2章.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|