第2章_8086CPU结构.ppt_第1页
第2章_8086CPU结构.ppt_第2页
第2章_8086CPU结构.ppt_第3页
第2章_8086CPU结构.ppt_第4页
第2章_8086CPU结构.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第2章 8086系统结构,2.1 8086CPU结构 2.2 8086CPU的引脚及其功能 2.3 8086存储器组织 2.4 8086的总线操作及时序 2.5 IBM PC/XT微型计算机系统简介 2.6 80 x86高档微处理器,2,2.1 8086CPU结构,2.1.1 8086微处理的主要特性,3,2.1.2 8086CPU的内部结构,4,5,CPU取指过程,6,CPU向内存写数过程,7,EU取指、译码过程,8,3、8086的内部结构特点: 指令的提取与执行分别由BIU和EU两部件完成,二者既独立又相互配合并行工作。,9,2.1.3 8086寄存器结构,10,11,12,6个状态位

2、记录指令操作后结果的状态信息,由CPU根据结果自动设置 CF 进位标志SF 符号标志OF 溢出标志 PF 奇偶标志ZF 零标志AF 辅助进位标志,3 个控制位控制处理器的操作,根据需要由程序用指令设置 DF 方向标志IF 中断允许标志TF 陷阱标志,5、标志寄存器FLAG (16位),13,d15 d11 d10 d9 d8 d7 d6 d4 d2 d0 OF DF IF TF SF ZF AF PF CF 符号 名称 值为“1”的条件 CF 进位标志 加/减法时产生进位/借位 OF 溢出标志 结果超出有符号整数的范围 ZF 零标志 运算结果为0时 SF 符号标志 运算结果的最高位为“1”时

3、AF 辅助进位标志 运算半字节(b3)产生进位/借位 PF 奇偶标志 结果低8位为“1”的位数为偶数时 DF 方向标志 串操作中地址指针为减地址 IF 中断允许标志 允许CPU响应可屏蔽中断请求时 TF 跟踪标志 CPU处于单步执行的工作方式,8086/8088程序状态寄存器(标志寄存器),14,注意: 进位标志CF是表示无符号数是否超出范围; 溢出标志表示的是有符号数运算结果是否超出范围,超出范围则运算结果已经不正确; 处理器对两个操作数进行运算的时候是按照无符号数求得结果,并相应设置CF,根据是否超出有符号数的范围设置OF; 对于程序员,如果做无符号运算,应该关心CF,做有符号运算应该关心

4、OF。,15,标志位的符号表示,OF 溢出(是/否) DF 方向(减量/增量) IF 中断(允许/关闭) SF 符号(负/正) ZF 零(是/否) AF 辅助进位(是/否) PF 奇偶(偶/奇) CF进位(是/否),OV DN EI NG ZR AC PE CY,16,例:设X=35H,Y=76H,分别进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么? 解:XY0ABH,各标志位分别为: OF1,SF1,ZF0,AF0,PF0,CF0; XY0BFH,各标志位分别为: OF0,SF1,ZF0,AF1,PF0,CF1;,17,计算:7FH+CFH=4EH 计算: 4EH+60H

5、=AEH,18,2.1.4 8086总线的工作周期,时钟周期:时钟脉冲的重复周期 总线周期:CPU访问内存或I/O端口存/取一个数据或指令所用的时间,一个基本的总线周期由个时钟周期组成 指令周期:执行一条指令所需的时间,不同指令的指令周期不等长,19,2.2 8086CPU的引脚及其功能,1、工作模式,20,2、8086的引脚,8086,21,最小模式为单机系统,较小规模应用。系统总线控制信号是8086CPU直接产生。 最大模式下能构成多处理器/协处理器系统,如数值运算处理器8087,输入输出处理器8089。,3、8086的系统配置,22,8086最小模式下的典型配置,. VCC, GND,

6、GND .HOLD,HLDA .INTR,NMI .TEST S3S6,23,8086最大模式下的典型配置,. VCC, GND, GND .INTR,NMI .TEST,RD . LOCK . QS0,QS1 . RQ/GT0,RQ/GT1,24,1.AD15AD0(Address/Data)地址、数据分时复用;三态; T1状态:作为AB的低16位,指出内存/IO单元,输出. T2T4状态:作为DB,双向输入/输出. 总线“保持响应”周期,高阻态。 2.A19A16/S6S3(Address/Status)地址/状态总线,三态输出; T1状态:访问内存作AB的高4位,访问IO单元作什么?(为

7、0) T2T4状态:作状态总线(见下页); 总线“保持响应”周期,高阻。,2.2.1 8086/8088CPU在最小模式中中的引脚定义,25,1)S6 =0,表示8086连在总线。 2)S5=IF状态。S5=1,允许中断,否则禁止一切可屏蔽中断。 3)S4、S3当前使用的段寄存器。,26,3.BHE/S7总线高位允许/状态,分时复用; T1时,用作高8位数据D8D15选通.BHE与A0联合指示数据传递方式.如下表。 T2T4,S7=1作状态线,保持响应周期高阻,无意义。,27,4.MN/MX:最大模式最小模式控制,输入 接+5V,最小模式,8086单处理器提供所有的总线控制信号; 接地,最大模

8、式,总线控制器8288变换组合8086状态S2S0,产生总线控制信号,最小模式下多个引脚被重新赋值,支持多处理器系统。 5.RD 读选通信号(三态、输出) 低电平表示正在进行存储器或I/O读操作。在T2、T3、Tw期间有效。 6.WR:写选通信号(三态、输出) 低电平表示正在进行存储器或I/O写操作。在T2、T3、Tw期间有效。 7. M/IO:端口控制信号输出(三态) ,区分访问存贮器还是访问I/O端口。T4T4,28,8.ALE(Adress Latch Enable):输出控制,高电平有效。地址锁存允许,T1时,由高到低下降沿将20位地址线锁存到8282/8283中。 9.DEN :三态

9、输出控制。在最小模式下,用8286/8287增加总线驱动能力,作为8286/8287的输出允许信号,在每次存储器、I/O访问或中断响应周期有效。 10.DT/ R :输出控制(三态),最小模式,确定8286/8287数据传送方向; DT/ R =1时,发送数据, DT/ R =0时,接收。,29,11.READY:准备就绪输入信号。表示外设或存储器准备好,在T3状态检测,为低电平则插入Tw状态。 12.RESET:复位输入信号。当它保持4个时钟以上高电平时,CPU结束现行操作,完成初始化内部寄存器,变低后,处理器开始执行再启动。,复位后的内部寄存器状态,30,13.INTR:可屏蔽中断请求输入

10、信号。在每个指令最后一个T状态采样,以决定是否进入中断响应周期。 14.INTA:对外部输入的INTR中断请求信号的响应。两个中断响应周期T2、T3两次有效。 15.NMI:非屏蔽中断输入信号,正跳变有效。有效后,则现行指令结束后立即引起中断。 16.TEST:可用WAIT指令对该引脚进行测试的输入信号,低电平有效继续执行WAIT指令后的下一条指令,否则CPU处于空闲状态。 WAIT指令用来使处理器和外部硬件同步.,31,17.HOLD:高电平有效、输入,用于其它主控设备请求三总线,要求直接与存储器传送数据。 18.HLDA:对HOLD请求的响应信号,是高电平有效、输出信号。CPU收到HOLD

11、后,在T4或T1状态发出HLDA,让出总线;HOLD变低后,HLDA变低,CPU再度获得三总线。 19.CLK:时钟输入由8284时钟发生器产生。 20.VCC:+5V电源输入引脚。 GND:接地端。,32,当MN/MX加上低电平时,8088CPU工作在最大模式之下,允许包含两个或对个处理器协同工作。 1. :8288总线控制器译码产生所有对存储器访问或I/O访问所需的控制信号。T4、T1和T2有效。,S1,S0,S2,2.2.2 8086/8088CPU在最大模式中中的引脚定义,33,2. :总线请求/允许引脚。RQ/GT0优先级更高。 A.其它主控设备向8086送一个周期宽脉冲,表示请求;

12、 B.CPU在T4或T1期间,输出一个周期宽脉冲,作为响应,下一个周期,释放总线; C.请求总线主控设备向8086输送一个周期宽脉冲,表示请求结束; D. CPU又控制总线。 3. :总线封锁信号,封锁其它主控设备使用总线。低电平有效;指令前缀LOCK。 QS1,QS0:指令队列状态信号。,34,8086外部数据总线和内部数据总线都是16位的,是真正的16位机。 8088 的内部数据总线是16位的,而外部数据总线是8位的,为准16位机或超级8位机。 两者有着相同的内部寄存器和指令系统,在软件上是完全兼容的。,2.2.3 8086与8088CPU的不同之处,35,主要区别: (1)8086 的指

13、令预取队列为6个字节,而8088只有4个字节。 (2)8086 AD15AD0为地址、数据双向分时复用;8088只有AD7AD0为地址/数据双向分时复用,A15A8仅用于输出地址信号。在进行16位数据操作时,8086只需一个总线周期就可完成,而8088则需要两个总线周期来完成,因此8088的速度较8086要慢些。,36,(3)8086上的 信号在8088上变为 ,与DT/R、IO/M决定最小模式总线周期。,(4)8086引脚M/ ,对8088,该引脚的状态正好相反,变为IO/M。 8086/8088后继机型也包括准32位和标准32位机,如80386的SX和DX类型。,37,2.3 8086的存

14、储器组织及I/O组织,2.3.1 8086存储器的分体结构组织,38,00001H 00003H 00005H . . . 220-1,00000H 00002H 00004H . . . 220-2,分体结构,BHE=0,A0=0,39,40,41,数据存储,例: 字节:(0006H)=34H (0009H)=78H 规则字:(0006H)=1234H 访问一次存储器 非规则字:(0009H)=5678H 访问二次存储器,42,分段技术,0000 H,0001 H,0002 H,0003 H,0004 H,12340H,12341H,12342H,12343H,12344H,.,.,物理地址

15、,段内偏移地址,段基址,偏移地址,0000 H,0001 H,0002 H,0003 H,0004 H,1234 H,2.3.2 8086存储器地址的分段,43,物理地址的形成,0000,16位段基址,20位物理地址,44,存储器寻址物理地址形成过程,由逻辑地址形成20位物理地址的方法为: 段地址10H+偏移地址。,45,例1:段分配方式之一,段分配 每个段区不一定要64KB的最大段空间。段与段可以连续可以是分开或重叠。,46,例2 段分配方式之二。假设CS=2000H,如果代码段程序占8KB(2000H)存储区,数据段占有2KB(800H),堆栈段只占256(100H)个字节。 代码段的区域

16、可以是02000H11FFFH,但由于程序区只需要8 KB,所以程序区结束后的第一个小段的首地址就作为数据段的起始地址。,47,80 x86中,段寄存器和与其对应存放偏移地址的寄存器之间有一种默认组合关系。,段寄存器的使用规定,48,堆栈是按先进后出的原则在内存中组织的一个存储区域. 段基址由SS指定。栈顶由堆栈指针SP指定。初始时栈顶和栈底是一个位置。 堆栈地址由高向低增长(向上增长),栈底设在所占存储器空间的高地址区。 入栈操作PUSH, 出栈操作POP 示例1:当前SS=A000H,SP=1000H,指出栈顶的物理地址。 示例2:设当前AX=1122H,BX=1234H,CX=5678H

17、,依次执行 PUSH AX,PUSH BX,PUSH CX,POP AX, POP BX, POP CX AX,BX,CX的值是多少?,2.3.3 堆栈的概念,49,2.3.4 8086的I/O组织,50,一台微机在运行过程中,需要CPU执行许多操作,8086CPU的操作主要有以下几种: 系统复位与启动操作 总线读/写操作 中断操作 最小模式下的总线保持请求响应操作 最大模式下的总线请求/允许/释放操作,2.4 8086的总线操作及时序,51,2.4.1 系统复位与启动操作,8086的复位和启动操作是通过RESET引脚的触发信号执行的, 8086要求复位信号至少维持4个时钟周期的高电平,若是初

18、次上电则要求至少维持50s的高电平,当RESET信号一进入高电平,8086就会结束现行操作,进入内部复位状态,并将CPU内部将全部寄存器置为初值,系统复位重新启动时,便从内存的FFFF0H单元开始执行程序。一般在FFFF0H处存放一条JMP指令,转移到系统程序入口处,保证系统一启动就可以自动进入系统程序,52,8086复位操作时序,4T后,1T后,在RESET信号变成高电平后,经过1个时钟周期,所有的三态输出线被置为高阻态,并一直维持高阻态(浮空)直到RESET信号变为低电平为止,但在高阻态的前半个时钟周期,三态输出线被置为不作用状态,当时钟信号又变成高电平时,才置为高阻态,53,2.4.2

19、最小模式下存储器或I/O端口读操作,T1状态,T2状态,T3状态, 在基本总线周期的T3状态,存储单元或I/O端口将数据送到了数据总线上,CPU通过AD15AD0接收数据。 T2状态的各信号电平持续到T3状态。,Tw状态,CPU在T3状态的前沿采样READY信号,为低电平,说明数据总线上没有数据,就在T3与T4之间插入等待周期Tw,以后CPU在每个Tw的前沿处采样READY,确定是否继续插入Tw ,直到READY为高电平,才进入T4状态。Tw与T3状态各控制信号的电平状态一致。,T4状态,54,与最小模式下的读总线周期不同之处:,在T2状态,地址信号发出后,CPU立即向地址/数据线AD15AD

20、0发出数据,数据信号保持到T4状态,使存储器或外设一旦准备好数据即可从数据总线取走数据。,2.4.3 最小模式下存储器或I/O端口写操作,55,与最小模式下的读总线周期的不同之处:,2.4.4 最大模式下存储器或I/O端口读操作,56,与最大模式下的读总线周期的不同之处:,2.4.5 最大模式下存储器或I/O端口写操作,57,CPU在每个指令周期的最后一个T状态检测可屏蔽中断请求线INTR,若INTR引脚有一个高电平,且标志寄存器中断允许标志IF=1时,CPU在执行完当前的指令后,执行中断响应周期。 CPU对可屏蔽中断请求的响应过程要执行两个连续的INTA总线周期,每个总线周期包括4个时钟周期

21、。,2.4.6 中断操作,58,1、HOLD信号变为高电平后,CPU要在下一个时钟周期的上升沿才检测到。然后用T4或T1状态的下降沿使HLDA变成高电平,若采样到HOLD信号时,不在T4或T1状态,可能会延迟几个时钟周期,等到T4或T1状态才发出HLDA信号,4、当总线请求结束,HOLD和HLDA信号变为低电平时,CPU不立即驱动总线,这些引脚继续浮空,直到CPU执行一条总线操作时,才结束带这些引脚的浮空状态。,2.4.7 最小模式下总线保持请求/响应操作,59,5、与最小模式下执行总线保持请求保持响应周期情况一样,CPU发出总线允许负脉冲,释放总线后,仍可执行已经进入指令缓冲队列的指令,直到

22、需要使用总线周期为止,2.4.8 最大模式下总线请求/允许/释放操作,60,1、CPU及辅助器件构成的CPU子系统,2、ROM和RAM构成的存储器子系统,3、各种I/O芯片构成的接口部件子系统,4、连接各种外设适配器以及存储器扩充板的PC总线I/O扩展槽,IBM PC/XT的核心是安装在机箱底部的系统主板,系统主板上的电路可以分成四个主要功能模块:,2.5 IBM PC/XT微型计算机系统简介,61,2.5.1 CPU子系统,8088微处理器,8284A时钟发生器,8282/8283/74LS373 地址锁存器,8286/8287/74LS245 数据收发器,8288总线控制器,62,2.5.

23、2 存储器子系统,63,2.5.3 I/O子系统,64,IBM-PC/XT系统板部件框图,系统板上RAM由DRAM2164(64K1位)构成,共4个体,每体9片 (8个数据位,一个奇偶校验位),即36片2164构成256KB常规RAM,2164DRAM使用时要求每2ms对内部刷新一次,因此要求每两次刷新操作的时间间隔为2ms128=15.6s(每片512个单元为一组同时刷新,共128组)(36片同时刷新),由8253-5计数器1(方式2计数初值为12H,每隔12H1.19MHz =15.12s向8237-5通道0发出一次刷新请求信号,由8237A-5向CPU请求DMA,对DRAM进行周期性的刷

24、新,8253-5的计数器0工作于方式3,计数初值为0000H,每隔655361.19MHz=55ms向8259A的IR0请求一次中断,8259A的IR0请求一次中断,CPU调用一次08H中断,进行系统时间修改,计算机自检后8255A-5的A口输入键盘扫描码;C口输入系统各类工作状态;PB0、PB1及8253的计数器2控制扬声器发声,8237A-5的通道2、通道3用作软盘数据传送及硬盘数据传送,65,2.6 80 x86高档微处理器,(1)80386微处理器拥有32位数据总线和32位地址总线,可直接寻址4GB物理存储空间,具有虚拟存储能力,虚拟存储空间达64TB。存储器采用分段结构,2.6.1

25、80386微处理器,1、80386的主要特点,(2)系统采用流水线和指令重叠技术、虚拟存储技术、片内存储器管理技术、存储器管理分段、分页保护技术等,系统实现了多用户多任务操作,(3)提供32位的指令,可支持8位、16位、32位的数据类型,具有8个通用的32位寄存器,(4)首次在芯片内使用Cache,以使内存速度能更好地与运算器的速度相匹配,从而大大提高指令的执行速度和工作效率,(5)提供32位外部总线接口,最大数据传输速率为32Mbps。系统可同高速的DRAM芯片接口,支持动态总线宽度控制,能动态地切换32位/16位数据总线,(6)具有片内集成的存储器管理部件MMU,可支持虚拟存储和特权保护,

26、片内具有多任务机构,能快速完成任务的切换,(7)通过配置浮点协处理器80387实现数据高速处理,加快了浮点运算速度,(8)80386系统能在12.5MHz或16MHz时钟频率下可靠工作,指令的执行速度可达3MIPS4MIPS以上,66,3、80386的内部结构,67,(1)在CISC(复杂指令集计算机)技术的基础上,首次采用了RISC(精简指令集计算机)技术,使得大多数常用指令可以在一个时钟周期内完成,从而大大加快了指令的执行速度,1、80486的主要特点,2.6.2 80486微处理器,(2)将浮点运算部件、Cache及其控制器集成于80486微处理器芯片内,使得数据和指令的存取速度、数据的运算速度进一步提高。采用突发式总线技术,从而大大加快CPU与内存之间的数据交换速度,(3)微处理器内部为全32位结构,即寄存器、ALU和内部数据总线宽度都是32位,地址总线也为32位。而CPU与浮点运算部件之间的数据通道为64位,CPU与Cache、Cache与Cache控制器之间数据通道为128位,(4)增加了多处理器指令,增强了多重处理系统,片上硬件确保了超高速缓存一致性协议,并支持多级超高速缓存结构。80486可以模拟多个80286CPU来提供更多层次的多任务功能,(5)80486具有内装自测试功能,可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论