微机原理与接口技术-第2章-80868088微处理器剖析

上传人:今*** 文档编号:106988677 上传时间:2019-10-17 格式:PPT 页数:56 大小:1.60MB
返回 下载 相关 举报
微机原理与接口技术-第2章-80868088微处理器剖析_第1页
第1页 / 共56页
微机原理与接口技术-第2章-80868088微处理器剖析_第2页
第2页 / 共56页
微机原理与接口技术-第2章-80868088微处理器剖析_第3页
第3页 / 共56页
微机原理与接口技术-第2章-80868088微处理器剖析_第4页
第4页 / 共56页
微机原理与接口技术-第2章-80868088微处理器剖析_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《微机原理与接口技术-第2章-80868088微处理器剖析》由会员分享,可在线阅读,更多相关《微机原理与接口技术-第2章-80868088微处理器剖析(56页珍藏版)》请在金锄头文库上搜索。

1、第2章 8088/8086微处理器,1,教学目的 熟悉8088/8086微处理器的结构及其外部引脚和功能 掌握8088/8086微机存储器的组织 了解8088/8086微处理器的两种工作模式 了解8088/8086微处理器的工作时序,第2章 8086/8088微处理器,2,3,CPU是计算机系统的核心部件,控制和协调整个计算机系统的工作。基本功能: 进行算术运算和逻辑运算; 对指令进行译码、分析、执行指令所规定的操作; 与存储器和I/O接口进行数据交换; 少量数据的暂存; 提供系统所需的定时和控制信号; 响应输入输出设备发出的中断请求。,8088与8086同属于第三代CPU,为16位CPU、地

2、址总线宽度20位,20000条指令,CISC,它们支持完全相同的指令系统。区别: 8086CPU内部数据总线为16位,外部数据总线宽度为16位,而8088的外部数据总线宽度为8位; 另外8086的指令预取队列长度为6字节,而8088的指令预取队列长度为4字节。,4,2.1 8088/8086微处理器的内部结构,8086/8088包含两大功能部件,即 执行单元(EU,Execution Unit) 总线接口单元(BIU,Bus Interface Unit),2.1.1 8086/8088CPU的功能结构,6,1. 执行单元EU,功能:译码分析指令,执行指令,暂存中间运算结果并保留结果特征。 从

3、指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果的特征保存在标志寄存器FLAGS中。 如果指令队列为空,EU就等待;,2. 总线接口单元BIU,功能:负责与内存或输入/输出接口的信息传送; EU从指令预取队列中取走指令,指令队列出现空字节时,BIU就自动执行一次取指令周期,从内存中取出后续的指令代码放入指令预取队列中; 从指定的内存单元或外设取EU需要的数据; 保存EU的运算结果; 当遇到跳转指令时, BIU就使指令队列复位,从新地址取出指令,并立即传给EU去执行。,8088以前的CPU采用串行工作方式,指令的执行过程一般为: 取指令 指令译码 取操作数 执行指令 存放结果 在E

4、U和BIU之间增设了指令预取队列之后:在多数情况下,取指令操作和执行指令操作并行进行。,8088/8086 CPU的工作方式为并行工作,指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而 减少了CPU为取指令而等待的时间; 降低了对存储器存取速度的要求 8088/8086 CPU的这种结构被称为指令流水线结构。新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令,例如,PIII为14个阶段,P4为20个阶段(超级流水线),2.1.2 8088CPU的存储器组织,11,物理地址 8088/8086:20根地址线,可寻址220(1MB)个存储单元。 CPU送到AB上的20位的

5、地址称为物理地址。,12,物理地址是CPU操作时所使用的地址;逻辑地址是应用人员在编程时所使用的地址。由逻辑地址形成物理地址是由总线接口部件中的地址加法器实现的。,代码段寄存器:CS 数据段寄存器:DS 堆栈段寄存器:SS 附加段寄存器:ES,问题: 8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段,8086/8088系统中把可直接寻址的1兆的内存空间分为段的逻辑区域。每段的物理长度为64KB。 每段的第一个内存单元的物理地址称为段起始地址,段起始地址必须能被16整除,形式如XXXX0H,XXXXH为段基址,即段起始地址的高16位。段基址存在段寄存器CS、 DS

6、、 SS、 ES中。相对于该段起始地址的字节数称为偏移量;段基址和段内偏移量又称为逻辑地址。段起始地址可由软件指定 每个段都由连续的存储单元构成,并且独立寻址。,存储器如何分段?,段基地址和段内偏移量组成了逻辑地址 段基址 偏移地址(偏移量) 表示为:段基址:段内偏移量 如:2000:0370H 物理地址=段基址10H+偏移地址,0AH,3EH,60002H,00H,12H,60000H,0 0 0 0,段基地址(16位),段首地址, , ,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)

7、指出各段末地址 3)该操作数的物理地址=?,解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH10H+0204H = 252A4H,存储器为什么要分段?,因为8088/8086的寄存器都是16位的,无法装载20位的物理地址,所以它采用了将地址空间分段的方法; 方便存储器的管理,采用分段甚至分页来管理,使得多个程序可以并行运行; 分段寻址允许程序在存储器内重定位(浮动),可以把整个程序作为一个整体移到一个新的区域。允许实模式编写的程序在保护模式下运行。程序当中使用的地址都是逻辑地址。 信息按特征分段存储。,含14个16位寄存器,按功能可分为三类: 8个通用寄存器 4个段寄存器

8、2个控制寄存器,2.1.3 8088CPU的寄存器结构,20,2.1.3 8088CPU的寄存器结构,数据寄存器,8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 常用来存放参与运算的操作数或运算结果,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息; BX:基址寄存器。常用于存放访问内存时的偏移地 址; CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数; DX:数据寄存器。在32位乘除法运算时,存放 高16位数;在间接寻址的I/

9、O指令中存放 I/O端口地址。,地址指针寄存器,SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX通常用于数据段,一般与DS或ES搭配使用;BP则通常用于堆栈段,与SS搭配使用。,变址寄存器,SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或变址寻址.,段寄存器,用于存放逻辑段的段基地址。 CS:代码段寄存器 DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数。,指

10、令指针寄存器,IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址; 标志寄存器FR(Flag Register)、psw FLAGS:标志寄存器(程序状态字PSW) 状态标志:存放运算结果的特征 控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),CF -进位标志:算术运算时有进位CF=1,无进位CF=0 PF-奇偶标志:运算结果中“1” 的个数为偶数PF=1 AF-辅助进位标志:第3位向第4位有进位时AF=1 ZF-零标志:运算结果为“0”则ZF=1 SF-符号标志:运算结果为负数时SF=1 OF-溢出标志:运算结果

11、超出规定范围OF=1 IF-中断允许标志:IF=1中断允许 DF-方向标志, DF=0地址加1 TF-跟踪标志,TF=1,为单步工作方式,2.2 8088 CPU的引脚及其功能,双列直插式封装 40个引脚,图2-6 8088微处理器芯片引脚图,30,31,8088/8086特点3:支持多处理器系统,最小模式: 系统控制总线的信号由芯片本身的引脚直接引出。仅需少量设备便可构成一个小型应用系统,也称为单处理机模式。不能DMA 最大模式: 系统总线由8088和总线控制器8288共同构成。这种模式下构成的微型机除8088 CPU以外,还可以接一个协处理器8087。也称为多处理器模式。,8088/808

12、6可工作于两种模式,32,33,2.2 8088 CPU的引脚及功能,引脚定义的方法可大致分为: 每个引脚只传送一种信息(RD等); 引脚电平的高低代表不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义(WR/LOCK 等); 分时复用引脚(AD7 AD0 等) ;为了减少芯片的引脚,8088的许多引脚具有双重定义和功能,可以分时复用;即在不同时刻,这些引线上的信号是不同的。 引脚的输入和输出分别传送不同的信息。,34,40条引脚, 双列直插式封装,=1,最小模式 =0,最大模式,地址、段寄存器状态复用;S6=0, S5=IF, S4S3=00,ES S4S3=01,SS S4

13、S3=10,CS S4S3=11,DS,=1,访问输入输出端口; =0,访问存储器,数据允许信号,数据总线上有有效数据;,数据传送方向控制信号, =1,CPU发送数据; =0,CPU接收数据;,输入信号,由内存或I/O设备发出。,Vcc A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 HIGH MN/MX RD 无功能 HOLD RQ/GT0 HLDA RQ/GT1 WR LOCK IO/M S2 DT/R S1 DEN S0 ALE QS0 INTA QS1 TEST READY RESET,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

14、 17 18 19 20,40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21,GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND,地址锁存允许信号,ALE=1,,可屏蔽中断请求输入信号;,系统状态信号输出;,图2-7 8088读周期的时序图,35,36,SS0与IO/M、DT/R共同决定了最小模式下当前总线周期的状态。,37,复位后的内部寄存器状态,38,主要引线(最小模式下),8088是工作在最小还是最大模式由MN/MX

15、端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。 数据信号线(DB)与地址信号线(AB): AD7AD0:三态,地址/数据复用线。ALE有效时输出地址的低8位。传送数据信号时为双向。 A19A16:三态,输出。高4位地址信号,与状态信号 S6-S3分时复用。 A15A8 :三态,输出。输出8位地址信号。,39,主要的控制和状态信号,WR: 三态,输出。写命令信号; RD: 三态,输出。读命令信号; IO/M:三态,输出。指出当前访问的是存储器还是I/O接 口。高:I/O接口,低:内存 DEN:三态,输出。低电平时,表示DB上的数据有效; RESET:输入,为高时,CPU执行复位

16、; ALE: 三态,输出。高:AB地址有效; DT/ R:三态,输出。数据传送方向,高:CPU输出, 低:CPU输入,40,例:,当WR=1,RD=0,IO/M=0时, 表示CPU当前正在进行读存储器操作。,41,READY信号(输入):,用于协调CPU与存储器、I/O接口之间的速度差异,READY信号由存储器或I/O接口发出。,READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。CPU处于空闲状态。,42,中断请求和响应信号,INTR:输入,可屏蔽中断请求输入端。 高:有INTR中断请求 NMI:输入,非屏蔽中断请求输入端。 低高,有NMI中断请求 INTA:输出,对INTR信号的响应。,43,总线保持信号,HOLD: 总线保持请求信

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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