第二章 8086CPU.ppt_第1页
第二章 8086CPU.ppt_第2页
第二章 8086CPU.ppt_第3页
第二章 8086CPU.ppt_第4页
第二章 8086CPU.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及应用 8086微处理器,本章内容,8086微处理器,编程 结构,引脚信号和工作模式,操作和时序,存储器组织和I/O组织,总线接口部件 执行部件 工作过程 总线周期,引脚信号 最小模式 最大模式,系统的复位 和启动 总线操作 中断操作和 中断系统,8086的存储 器组织 8086的I/O 组织,16位微处理器8086,18086/8088微处理器内部结构 28086/8088微处理器中的内部寄存器 38086/8088微处理器外部基本引脚与工作模式 48086/8088的存储器组织 5 8086 CPU的工作时序 6 系统总线的形成,ALU 控制器,CPU结构示意图,EU 控 制 器,

2、标志寄存器,8位队列总线,总 线 控 制 逻 辑,内部总线16位,20位地址总线,16 位 数 据 总 线,8086/8088CPU内部结构图,总线接口部件BIU,执行部件EU,地址加法器,8086的编程结构总线接口部件,1.段寄存器 CS 代码段寄存器 保存当前执行程序所在段的段基址 DS 数据段寄存器 保存数据段的段基址。数据段是用来保存当前程序中的操作数和变量。 SS 堆栈段寄存器 保存有堆栈段的段基址 ES 附加段寄存器 进行字符串操作时,作为目的段地址使用,是一种附加的数据区,若要 使用附加段,必须对ES置初值。在附加段中,DI寄存器用于存放附加段的 偏移量。,2.指令指针寄存器IP

3、 用来存放将要取出指令的偏移地址,每执行一条指令,IP 增量大小与已执行指令的字节长度有关。程序以代码的形式 存在于存储器中,每一条指令都有一个存放地址,IP总要指 向下一条将要执行的指令地址。 3.地址加法器 产生20位的物理地址。 物理地址段基址16偏移量 4.内部暂存器 用于内部数据的暂存,该部分对用户透明,用户无权访问。,8086的编程结构总线接口部件,8086的编程结构总线接口部件,5.指令队列缓冲器 8088为4字节,8086为6字节。为FIFO(先进先出)结构。 指令队列至少保持有一条指令,且只要有一条指令,EU就开始执行; 若EU要进行M/IO存取数据,BIU在执行完现行取指操

4、作周期后进行。 当执行转移指令时,EU要求BIU从新的地址中重新取指。队列中原有指令被清除。新取得的第一条指令直接送EU执行,随后取得的指令填入队列 6.输入/出控制电路 输入/出控制电路控制CPU与外部电路的数据交换。,8086的编程结构执行部件,1.数据寄存器组 功能:存放操作数和中间结果。,8086的编程结构执行部件,2.地址寄存器组,3.控制寄存器 IP PSW IP 指令指针寄存器 用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。 PSW 标志寄存器 用来存放8086 CPU在工作过程中的状态。,8086的编程结构执行部件,8086的编程结构

5、执行部件,PSW 唯一能按位操作的寄存器 只定义了其中9位,另外7位未定义(不用) 6位状态标志:OF、SF、ZF、PF、CF、AF 3位控制标志:DF、IF、TF 反映指令对数据作用之后,结果的状态(不是结果本身)。这些状态将控制后续指令的执行。,运算结果最高位为1 SF=1;,例:2个数相加后,分析各标志位的值,第三位向第四位有进位 AF=1;,次高位向最高位有进位 ,最高位向前没有进位, OF=10=1,最高位没有进位 CF=0;,低8位中1的个数为偶数个 PF=1;,运算结果本身0 ZF=0;,运算结果最高位为0SF=0;,例:2个数相减后,分析各标志位的值,第三位向第四位没有借位 A

6、F=0;,次高位向最高位没有借位 ,最高位向前没有借位, OF=00=0,最高位没有借位 CF=0;,低8位中1的个数为奇数个 PF=0;,运算结果本身0 ZF=0;,8086/8088微处理器 引脚功能,8086/8088引脚结构图,AD15AD0 地址/数据复用总线引脚,双向,分时复用构造总线必须 加锁存器,8088的高8位不做复用,地址引脚是单向的。,A16/S3A19/S6 地址/状态复用引脚,单向,分时复用。8086最多可访问64K个I/O端口。,S4 S3 0 0 ES 0 1 SS 1 0 CS 1 1 DS,S6=0,8086/8088当前与总线相连,8086/8088微处理器

7、 引脚功能,NMI 非屏蔽中断,输入,边沿触发,上升沿有效。 当该引脚出现有效信号时,CPU执行完指令后,立即响应中 断,不受IF影响,也不受软件影响,中断类型号是2。,INTR 可屏蔽中断,输入,电平触发(或边沿触发),高电平有效。 CPU在执行每一条指令的最后一个时钟周期采样该引脚,若为 高电平(若IF=1),则响应中断。,INTA 中断响应信号、输出、低电平有效。 发给请求中断请求设备的回答信号。 一般发送两个负脉冲信号,第一个通知外设,第二个通知中 断源送出中断矢量码(即读取矢量码的选通信号),8086/8088微处理器 引脚功能,ALE 地址所存允许信号、输出、高定平有效。,8086

8、/8088微处理器 引脚功能,CLK 时钟信号,输入 CPU和总线控制的基准定时脉冲,一个时钟周期内具有1/3有 效高电平(即占空比33),8086/8088频率为5MHz、8086- 2频率为8MHz、8086-1为10MHz等 ,CPU的所有操作都是在时 钟同步下进行的。,RESET 复位信号,输入,高电平有效。,8086/8088要求复位信号至少维持4个时钟周期的高电平, 以完成CPU内部寄存器的复位操作。,8086/8088微处理器 引脚功能,READY “准备就绪”信号 ,输入 ,高电平有效。 用来使CPU和慢速的存储器(或I/O设备)之间的速度 匹配。 为避免失误设备送来的READ

9、Y信号,必须先经过时钟 发生器8284,与时钟CLK同步后,再送入CPU的READY 引脚。,8086/8088微处理器 引脚功能,8086/8088微处理器 引脚功能,HOLD 总线保持请求信号,输入,高电平有效。 当系统中其它模块或部件需要占用总线时,向CPU发出申 请。,HLDA 总线请求回答信号,输出,高电平有效。 HLDA=1,表示CPU同意让出总线,8086/8088微处理器 引脚功能,8086/8088微处理器 引脚功能,TEST 测试信号,输入,低电平有效。 当执行WAIT指令时,每隔5个时钟周期,CPU就对该引脚 采样,若为高电平,就使CPU重复执行WAIT指令而处于等 待状

10、态,直到变为低电平,CPU脱离等待继续执行下一条 指令。该引脚与WAIT配合,可以实现CPU与外设同步工 作。 GND、 Vcc 地和电源 8086和8088均用单一的+5V电压,有两条地线。,8086 CPU工作模式,8086CPU的两种工作模式,8086 CPU最大模式控制信号引脚,(1)S2、S1、S0(Bus Cycle Status) 总线周期状态,三态输出。 (2)LOCK 总线封锁信号,三态输出,低电平有效。 (3)RQ/GT1,RQ/GT0(Request/Grant) 总线请求/总线请求允许信号,双向,低电平有效。 (4)QS1、QS0(Instruction Queue S

11、tatus) 指令队列状态信号,输出。,总线状态,8086最小模式和最大模式的比较,1)不同之处 最小模式下系统控制信号直接由8086CPU提供;最大模式下因系统复杂,芯片数量较多,为提高驱动能力和改善总线控制能力,大多数的系统控制信号由总线控制器8288提供。,2)相同之处: 8086的低位地址线与数据线复用,为保证地址信号维持足够的时间,需使用ALE信号将低位地址线锁存(通过锁存器8282),以形成真正的系统地址总线。,系统复位和启动操作,8086CPU的RESET引脚上出现高电平时,终止所有操作,直 到RESET信号变为低。 在这期间,CPU内各寄存器被初始化为复位状态。,8086存储器

12、结构,8086存储器结构,如果一个字是从偶地址开始存放,这种存放方式称为对准存放,这样存放的字称为对准字(规则字)。 如果一个字从奇地址开始存放,这种存放方式称非对准存放,这样存放的字称为非对准字(非规则字)。,存储器与8086CPU连接时, 对规则字的存取,需要一个总线周期; 对非规则的存取,则需要两个总线周期。,(A0 =0 且BHE=0, 两库同时被选中),8086存储器结构,8088与8086存储器的不同,存储器与8088CPU连接时,因8088外部的数据总线是8位,因此对应的1M的存储空间是单一的。,对8088来说, 每一个总线 周期只能完 成一个字节 的存取操作。,存储器分段技术,

13、为了实现对1M字节单元的寻址, 80 x86系统采用了存储器分段技术。,为什麽要采用存储器“分段”技术?,8086/8088系统有20根地址总线,它可以直接寻址的 存储器单元数为220=1Mb,而微处理器中所有的寄存器都是 16位,如何实现用16位的地址寻址20位的地址空间?,8086存储器结构,具体做法是,将1M字节的存储空间分成许多逻辑段,每段最长64K字节单元,可以用16位地址码进行寻址。,段寄存器中存放的 是段起始地址的高 16位,称之为 “段基值”,物理地址的形成,物理地址的形成,逻辑地址的表示格式: 段基址:偏移地址 物理地址= 段基址10H偏移地址,段内任意一个存储单元的地址,可

14、用相对于基址的偏移量 来表示,称为段内偏移地址,通常存放于IP、SP、SI和DI 中。,.,默认的16位“段+偏移” 组合,物理地址的形成,.,另一种方法,19,16,15,12,11,8,7,4,3,0,XXXX,段号(4位),段内地址(16位),存储器分段技术,将20位物理地址分成两部分: 高4位为段号,可用内设置的4位长的“段号寄存器”来保存, 低16位为段内地址,也称“偏移地址”。,这种分段方法有其不足之处: (1)4位长的“段号寄存器”与其他寄存器不兼容, 操作上会增添麻烦。 (2)每个逻辑段大小固定为64K字节单元,当程序中 所需的存储空间不是64K字节单元的倍数时,就 会浪费存储

15、空间。,存储器分段技术,8086系统堆栈操作,堆栈:后进先出的的一段内存 栈顶:永远由地址指针(SS:SP)指示 栈底:最初始的地址指针(SS:SP)指示处 堆栈深度:最大64KB 堆栈的作用:调用子程序(或转向中断服务程序)时,把断点及有关的寄存器、标志位及时正确地保存下来,并保证逐次正确返回 堆栈操作指令:入栈指令PUSH与出栈指令POP 入/出栈操作数:是一个字,而不是一个字节 子程序调用指令或中断响应自动完成时,恢复断点地址由返回指令(RET或IRET)完成,堆栈初始化操作,入栈操作,出栈操作,8086输入/输出结构,CPU是通过I/O端口与输入输出设备交换信息的。 一般一个接口电路中

16、可能有几个端口。 地址总线的低16位可用来对8位I/O端口寻址,所以8086 I/O空间最大为64K个8位I/O端口。任意两个地址连续的8位 I/O端口,可以当作一个16位I/O端口,可以存放一个字。 8086有专门的输入指令(IN)和输出指令(OUT),用来 访问I/O端口。I/O空间不分段,所有I/O端口均看作在一个段 内。,8086输入/输出结构,I/O端口的编址方式有统一编址和独立编址两种。 统一编址是与存储器一起编地址号,这样I/O端口占用存储器的一部分空间。独立编址是I/O端口与存储器分开编地址号,I/O端口不占用存储空间,但与存储空间有重合的部分。通常8086系统的I/O端与存储

17、器有重合部分,但由于访问I/O端口的指令与访问存储器的指令不同,二者是可以区分的。,I/O端口组织,(a)存储器映像编址方式,特点:将端口看作存储单元,仅以地址范围的不同来区分两者。 优点:对端口的操作和对存储单元的操作完全一样,因此系统简单,并且对端口操作的指令种类较多。 缺点:CPU对存储单元和I/O端口的实际寻址空间都小于其最大寻址空间。,特点:系统视端口和存储单元为不同的对象。 优点:系统中存储单元和I/O端口的数量可以达到最大。 缺点:需要专门的信号来指示系统地址线上出现的是存储单 元地址还是端口地址;专用的端口操作指令一般比较单一。,X86的编址方式,(b)I/O端口独立编址,时钟

18、周期,CPU是在时钟信号的控制下工作 时钟信号按一定电压幅度, 一定时间间隔发出的脉冲信号,CPU所有的操作都以时钟信号为基准 CPU 按严格的时间标准发出地址,控制信号, 存储器、接口也按严格的时间标准送出或接受数据.,CPU通过总线完成与存储器、I/O端口之间的操作,这些 操作统称为总线操作。,总线周期,执行一个总线操作所需要的时间称为总线周期。,一个基本的总线周期通常包含 4 个T状态,按时间的先后顺序分别称为T1、T2、T3、T4。,总线周期,1、执行一条指令所需要的时间称为指令周期。 执行一条指令的时间是取指令、执行指令、 取操作数、存放结果所需时间的总和。用所 需的时钟周期数表示。

19、,指令周期,2、不同指令的执行时间(即指令周期)是不同的; 同一类型的指令,操作数不同,指令周期也不同。,例 MOV BX, AX 2个T周期 MUL BL 7077个T周期 MOV BX , AX 14个T周期,指令周期,例2 执行ADD BX , AX 包含: 1) 取指令 存储器读周期 2) 取 ( DS:BX )内存单元操作数 存储器读周期 3) 存放结果到 ( DS:BX )内存单元 存储器写周期,例1 执行 MOV BX, AX 包含: 取指令 存储器读周期,3、 执行指令的过程中,需从存储器或I/O端口读取或存放数据, 故一个指令周期通常包含若干个总线周期。,指令周期,4、8086CPU取指令、执行指令分别由BIU、EU完成 取指和执行指令可是并行的, 故8086CPU的指令周期 可以不考虑取指时间。,指令周期,8088的指令执行过程,8

温馨提示

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

评论

0/150

提交评论