第一章-8086-8088微处理器结构

上传人:今*** 文档编号:107471694 上传时间:2019-10-19 格式:PPT 页数:97 大小:1.61MB
返回 下载 相关 举报
第一章-8086-8088微处理器结构_第1页
第1页 / 共97页
第一章-8086-8088微处理器结构_第2页
第2页 / 共97页
第一章-8086-8088微处理器结构_第3页
第3页 / 共97页
第一章-8086-8088微处理器结构_第4页
第4页 / 共97页
第一章-8086-8088微处理器结构_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《第一章-8086-8088微处理器结构》由会员分享,可在线阅读,更多相关《第一章-8086-8088微处理器结构(97页珍藏版)》请在金锄头文库上搜索。

1、8086/88微处理器,上课前预习 上课认真听讲 课后复习 完成课后作业,教学要点,8086/88CPU内部结构和特点 8086/88CPU外部引脚与功能 最大模式与最小模式 8086/88系统总线生成 8086/88CPU的操作与时序,1 8086/88CPU的内部结构,8086是Intel系列16位微处理器,HMOS工艺,40引脚,DB16位,AB20位,直接寻址1MB,时钟频率510MHz,最短执行时间0.4us。 8088、8086基本类似 16位CPU、AB宽度20位 差别: 指令预取队列:8088为4字节,8086为6字节 数据总线引脚:8088有8根,8086有16根 8088为

2、准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送。,8086/88内部由两部分组成: 执行单元(EU) 总线接口单元(BIU),1.1 执行单元(EU),功能: 执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。,EU包括: 算术逻辑单元(运算器、ALU) 8个通用寄存器 1个标志寄存器 EU部分控制电路,1.2 总线接口单元(BIU),功能: 从内存中取指令送入指令预取队列 负责与内存或输入/输出接口之间的数据传送 在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,

3、BIU包括: 指令队列缓冲器 地址加法器 地址寄存器 IO控制电路,EU与BIU的关系,指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而 提高了CPU的效率; 降低了对存储器存取速度的要求,8086/88CPU的特点,采用并行流水线工作方式; 对内存空间实行分段管理: 每段大小为16B64KB 用段地址和段内偏移实现对1MB空间的寻址 设置地址段寄存器指示段的首地址 支持多处理器系统; 片内没有浮点运算部件,浮点运算由数学协处理器8087支持(也可用软件模拟) 注:80486DX以后的CPU均将数学协处理器作为标准部件集成到CPU内部,含14个16位寄存器,按功能可分为三类: 8个

4、通用寄存器 4个段寄存器 2个控制寄存器,1.3 8086/88的寄存器,1.3.1 通用寄存器,数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI),数据寄存器,含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 常用来存放参与运算的操作数或运算结果,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息; BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数;

5、 DX:数据寄存器。在32位乘除法运算时,存放 高16位数;在间接寻址的I/O指令中存放 I/O端口地址。,地址指针寄存器,SP:堆栈指针寄存器,其内容为栈顶的 偏移地址; BP:基址指针寄存器,常用于在访问内 存时存放内存单元的偏移地址。,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。 BX一般与DS或ES搭配使用,变址寄存器,SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。,1.3.2

6、 段寄存器,用于存放逻辑段的段基地址: CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 用于存放返回地址,保存寄存器内容,传递参数,1.3.3 控制寄存器,IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址 FLAGS:标志寄存器 状态标志:存放运算结果的特征 控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),1.4 存储器寻址,物理地址 8088:20根地址线,可寻址220(1MB)个存储单元 CPU送到AB上的20位的地址称为物

7、理地址,物理地址,物理地址,. . 60000H 60001H 60002H 60003H 60004H . . .,12H,F0H,1BH,08H,存储器的操作完全基于物理地址。 问题: 8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段,存储器分段,高地址,低地址,段基址,段基址,段基址,段基址,最大64KB,段i-1,段i,段i+1,逻辑地址,段基地址和段内偏移组成了逻辑地址 段地址 偏移地址(偏移量) 格式为:段地址:偏移地址 物理地址=段基地址16+偏移地址,60002H,00H,12H,60000H,0 0 0 0,段基地址(16位),段首地址, ,

8、,BIU中的地址加法器用来实现逻辑地址到物理地址的变换 8088 可同时访问4个段,4个段寄存器指示了每个段的基地址,段基址,段内偏移,物理地址,+,16位,20位,0000,例:,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?,解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH10H+0204H = 252A4H,1.5 堆栈及堆栈段的使用,内存中一个按FIFO方式操作的特殊区域 每次压栈和退栈均以WORD为单位 SS存放堆栈

9、段地址,SP存放段内偏移,SS:SP构成了堆栈指针 堆栈用于存放返回地址、过程参数或需要保护的数据 常用于响应中断或子程序调用,堆栈操作,SP,SS,SS,压栈前,退栈后,高,低,低,高,高,12H,SS,F0H,SP,压栈后,低,高,SP,SP,SP,F0H,12H,SP,例:,若已知(SS)=1000H (SP)=2000H 则堆栈段的段首地址=? 栈顶地址=? 若该段最后一个单元 地址为10100H,则栈底=?,段首,栈底,栈顶,堆 栈 段,2 8086/88CPU引脚与功能,引脚定义的方法可大致分为: 每个引脚只传送一种信息(RD等) 引脚电平的高低不同的信号(IO/M等) CPU工作

10、于不同方式有不同的名称和定义(WR/LOCK 等) 分时复用引脚(AD15 AD0 等) 引脚的输入和输出分别传送不同的信息(RQ/GT等),8086/88可工作于两种模式: 最小模式和最大模式 最小模式为单处理机模式,控制信号较少,一般可不必接总线控制器。 最大模式为多处理机模式,控制信号较多,须通过总线控制器与总线相连。,2.1 主要引脚,8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模式。 数据信号线(DB)与地址信号线(AB): AD15AD0:三态,地址/数据复用线。ALE有效时为地址的低8位。地址信号有效时为输出,传送数据信号

11、时为双向。 A19 / S6 A16 / S3 :三态,地址/状态复用线,分时复用,输出。,S4、S3的组合指示正在使用的寄存器,S6为0 S5 的中断允许标标志,1表示允许INTR,0则禁止,主要控制信号:,WR: 三态,输出,写信号; RD: 三态,输出,读信号; M/IO:三态,输出,指出当前访问的是存储器还是I/O接口。高:内存,低: I/O接口; DEN:三态,输出。低电平时,表示DB上的数据有效; DT/ R:三态,输出。数据传送方向,高:CPU输出,低:CPU输入,例:,当WR=1,RD=0, M / IO=1时,表示CPU当前正在进行读存储器操作。,总线操作(8088),ALE

12、:地址锁存允许信号,输出,高电平有效 ; BHES7:输出,复用信号,和A0的代码组合和对应的操作,中断请求和响应信号,INTR:输入,可屏蔽中断请求输入端。 高:有INTR中断请求 NMI:输入,非屏蔽中断请求输入端。 低高,有NMI中断请求 INTA:输出,对INTR信号的响应。,总线保持信号,HOLD:总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。 HLDA:输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制权,所有三态信号线均变为高阻状态。,READY信号(输入):,用于协调CPU与存储器、I/O接口之间的速度差异 READY信

13、号由存储器或I/O接口发出。,READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。,2.2 最大模式下的引脚 (8个,2431脚),QS1、QS0 (输出,三态,低电平有效,提供 CPU 指令队列当前的状态信息),8288引脚图,8288在PC/XT机中的连接,ALE DT/R DEN AIOWC AMWC IORC MWTC MRDC INTA,S0 S1 S2 AEN CEN CLK IOB,S0 S1 S2 AENBRD AEN CLK,ALE(地址锁存信号) DT/R(数据传输方向) DEN(数据总线允许) IOW(写I/O) MEMW(写存储

14、器) IOR(读I/O) MWTC(写存储器) MEMR(读存储器) INTA(中断响应),(8288工作在系统总线方式),8286 / 74LS245 双向三态驱动器 引脚: A0A7和B0B7 双向数据线 OE# 输出允许 T 方向控制 功能: OE#=0时,门导通; 门导通时: T=0,BA;T=1,AB 功能类似的还有8287但为反相输出,74LS244 三态门驱动器(含8个门) 引脚: I1I8和O1O8 输入线和输出线 E1#,E2# 使能信号,各控制4个三态门 功能: E1#=0,E2#=0,门导通,否则输出为高阻态,4 时序,时序的概念:CPU各引脚信号在时间上的关系。 总线周

15、期:CPU完成一次访问内存(或接口)操作 所需要的时间。 一个总线周期至少包括 4 个时钟周期。 时钟周期:由时钟发生器产生。是计算机内部最 小的时间单位,用Ti表示。,4.1 概念,每两个时钟脉冲上升(下降)沿之间的时间间隔称为T状态,也称为时钟周期(Clock Cycle),T,CPU从存储器或输入/输出端口,存取一个字节(或字)所要花费的时间称为一个总线周期(Bus Cycle),执行一条指令所需要的时间称为指令周期(Instruction Cycle),8086/88中,执行INC BYTE PTRBX指令(指令已在指令队列中)需要 个总线周期。,2,当CPU与存储器以及I/O端口连接时,要考虑如何正确地实现时序上的配合。 了解时序有利于我们利用汇编编写核心代码的时候,选用适当的指令,以尽量缩短指令的存储空间和指令的执行时间。 了解时序有利于深入了解指令的执行过程。 当微机应用于实时控制时,必须估计或计算CPU 完成操作所需要的时间,以便与控制过程配合。,8086/88指令的执行步骤: 计算机的工作是在时钟脉冲 CLK 的统一控制下,一个节拍一个节拍地实现的。在 CPU 执行某一个程

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

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

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