收藏 分享(赏)

第二章第一节8086微处理器.ppt

上传人:gnk289057 文档编号:10172351 上传时间:2019-10-16 格式:PPT 页数:57 大小:2.68MB
下载 相关 举报
第二章第一节8086微处理器.ppt_第1页
第1页 / 共57页
第二章第一节8086微处理器.ppt_第2页
第2页 / 共57页
第二章第一节8086微处理器.ppt_第3页
第3页 / 共57页
第二章第一节8086微处理器.ppt_第4页
第4页 / 共57页
第二章第一节8086微处理器.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、第二章 微处理器,8086 微处理器 IA 结构微处理器的进化 Pentium 微处理器,2.1 8086微处理器,微处理器的结构 引脚功能和工作模式 总线操作 存储器和I/O组织 中断系统,2.1.1 8086微处理器结构,1、EU和BIU的组成和各功能单元的作用,2.1.1 8086微处理器结构,1、EU和BIU的组成和各功能单元的作用(续) 1) EU 通用寄存器 AX、BX、CX、DX 专用寄存器 SP、BP、SI、DI 算数逻辑部件 ALU 标志寄存器 FLAG EU控制逻辑,1、EU和BIU的组成和各功能单元的作用(续)1)EU,标志寄存器,1、EU和BIU的组成和各功能单元的作用

2、(续) 2)BIU,1、EU和BIU的组成和各功能单元的作用(续) 2)BIU,段寄存器 CS、DS、ES、SS 指令指针寄存器 IP 地址加法器 指令队列 总线控制逻辑,1、EU和BIU的组成和各功能单元的作用 (续)2)BIU,地址加法器,2、EU和BIU的操作关系和指令流水 1)EU和BIU的操作原则,l BIU中的指令队列有2个或2个以上字节为空时,BIU自动启动总线周期,取指填充指令队列。直至队列满,进入空闲状态。 l EU每执行完一条指令,从指令队列队首取指。系统初始化后,指令队列为空,EU等待BIU从内存取指,填充指令队列。 l EU取得指令,译码并执行指令。若指令需要取操作数或

3、存操作结果,需访问存储器或I/O,EU向BIU发出访问总线请求。 l 当BIU接到EU的总线请求,若正忙(正在执行取指总线周期),则必须等待BIU执行完当前的总线周期,方能响应EU请求;若BIU空闲,则立即执行EU申请总线的请求。 l EU执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动清除,BIU根据本条指令执行情况重新取指和填充指令队列。,2、EU和BIU的操作关系和指令流水 2)指令流水,2、EU和BIU的操作关系和指令流水 3)总线周期,时钟周期或状态周期:8086CPU内部的逻辑操作以及与外部存储器和I/O交换数据进行的总线操作全部由CPU的时钟来定时的。CPU的

4、基本定时单位称为时钟周期或者状态周期。假设8086的主频为10MHz,一个时钟周期为100ns。 总线周期:CPU为了读取指令或传送数据,需要通过总线接口部件BIU与存储器或I/O接口进行信息交互,执行对总线的操作。进行一次数据传送的总线操作定义为一个总线周期。,2、EU和BIU的操作关系和指令流水 3)总线周期,典型总线周期示意图,2.1.2 8086引脚功能和工作模式,1、8086的两种工作方式,1)两种工作方式 2)如何设定工作方式 3)两种工作方式的主要特点 l 最小模式:系统中只有8086一个处理器,所有的控制信号都是由8086产生。往往用在组成基于8086 CPU的最小系统。 l

5、最大模式:系统中包含一个以上的处理器,比如包含协处理器8087或I/O处理器8089。在系统规模比较大的情况下,系统控制信号不是由8086直接产生,而是通过与8086配套的总线控制器等形成。,2、8086 的引脚说明,2、最小模式下的引脚说明1)地址/数据(或状态)信号,l AD15AD0 (Address Data Bus):地址/数据复用信号,双向,三态。在T1状态(地址周期)AD15AD0上为地址信号的低16位A15A0;在T2 T3状态(数据周期)AD15AD0 上是数据信号D15D0。 l A19/S6A16/S3 (Address/Status):地址/状态复用信号,输出。在总周期

6、的T1状态A19/S6A16/S3上是地址的高4位。在T2T4状态,A19/S6A16/S3上输出状态信息。l BHE#/S7 (Bus High Enable/Status):数据总线高8位使能和状态复用信号,输出。在总线周期T1状态,BHE#有效,表示数据线上高8位数据有效。在T2T4状态BHE#/S7 输出状态信息S7。S7在8086中未定义。,2、最小模式下的引脚说明1)地址/数据(或状态)信号,2、最小模式下的引脚说明2)控制与系统信号:,l ALE(Address Latch Enable):地址锁存使能信号,输出,高有效。用来作为地址锁存器的锁存控制信号。l DEN# (Data

7、 Enable):数据使能信号,输出,三态,低电平有效。用于数据总线驱动器的控制信号。l DT/R#(Data Transmit/Receive):数据驱动器数据流向控制信号,输出,三态。在8086系统中,通常采用8286或8287作为数据总线的驱动器,用DT/R#信号来控制数据驱动器的数据传送方向。当DT/R#1时,进行数据发送;DT/R#0时,进行数据接收。,2、最小模式下的引脚说明2)控制与系统信号:,l M/IO# (Memory/Input and Output):存储器或I/O控制信号(标号28),输出,三态。M/IO#输出为高电平时表示和存储器之间数据交互;如果为低电平,表示CP

8、U和I/O接口之间数据传输。l RD#(Read):读信号,输出,三态。RD#信号有效,表示CPU执行一个对存储器或I/O端口的读操作,在一个读操作的总线周期中,RD#在T2T3状态中有效,为低电平。l WR#(Write):写信号,输出,三态。WR#信号有效,表示CPU执行一个对存储器或I/O端口写操作,在写操作总线周期中,WR#在T2T3状态中有效,为低电平。,2、最小模式下的引脚说明2)控制与系统信号(续):,l NMI(Non-Maskable Interrupt):非屏蔽中断请求(中断类型号为2),输入,上升沿有效。NMI不受中断允许标志的影响。 l INTR(Interrupt R

9、equest):可屏蔽中断请求,输入,高电平有效。如果INTR信号有效,CPU是否响应中断请求,受控于中断允许标志IF。 l HOLD(Hold Request):总线保持请求,输入,高电平有效。当系统中总线主模块(如DMA)要求使用总线时,由该模块向CPU发送HOLD信号。 l HLDA:总线保持响应信号,输出,高电平有效。HLDA有效时表示CPU响应了其他总线主的总线请求。CPU的数据/地址控制信号呈高阻态,而请求总线的总线主(DMA)获得了总线权。,2、最小模式下的引脚说明2)控制与系统信号(续):,l CLK(Clock):时钟信号,输入。为CPU和总线控制逻辑提供定时。要求时钟信号的

10、占空比为33。l RESET(Reset):复位信号,输入,高电平有效。复位信号有效时,CPU结束当前操作并对标志寄存器FLAG 、IP、DS、SS、ES及指令队列清零,并将CS设置为FFFFH。当复位信号撤除时,(即电平由高变低时)CPU从FFFF0H开始执行程序。l READY(Ready):准备好信号,输入,高电平有效。当READY信号有效时表示存储器或I/O准备好发送或接收数据。,2、最小模式下的引脚说明2)控制与系统信号(续):,l MN/MX(Minimum/Maximum Mode Control):最大最小模式控制信号,输入。决定8086工作在哪种工作模式。如果MN/MX1(5

11、V),CPU工作在最小模式。MN/MX0(接地), CPU则工作在最大模式。l TEST# (Test):测试信号,输入,低电平有效。和WAIT指令结合起来使用,在CPU执行WAIT指令时,CPU处于空转状态,进行等待。当8086检测到TEST#信号有效时,等待状态结束,继续执行WAIT之后的指令。l GND 为地。l VCC 为电源,接5V。,3、最小模式的系统组成,最小模式的典型配置,3、最小模式的系统组成,4、最大模式与最小模式的引脚差异,l QS1、QS0(Instruction Queue Status,最小模式为ALE、INTA#):指令队列状态信号,输出。QS1,QS0组合起来表

12、示前一个时钟周期中指令队列的状态,以便从外部对芯片的测试。l S2#、S1#、S0#(Bus Cycle Status,最小模式为M/IO#、D/TR#、DEN#):总线周期状态信号,输出。这三个信号的组合表示当前总线周期的类型。在最大模式下,由这三个信号输入给总线控制器8288,用来产生存储器、I/O的读写等相关控制信号。,4、最大模式与最小模式的引脚差异,4、最大模式与最小模式的引脚差异,4、最大模式与最小模式的引脚差异,l LOCK#( Lock,最小模式为WR#):总线封锁信号,输出。当LOCK#为低电平时,系统中其他总线主就不能占用总线。LOCK#信号是由指令前缀LOCK产生的。在L

13、OCK前缀后的指令执行完之后,硬件上便撤销了LOCK#信号。 l RQ#/GT1#、RQ#/GT0#( Request/Grant,最小模式为HOLD、HLDA ): 总线请求信号,输入 / 总线请求允许信号,输出,此信号为双向信号。CPU以外的处理器可以用其中之一来请求总线并接受CPU对总线请求的回答。RQ#/GT0#优先级高于RQ#/GT1#。,5、最大模式的系统组成,最大模式的典型配置,5、最大模式的系统组成,8288总线控制器结构框图,2.1.3 8086的总线操作,1、系统的复位和启动操作RESET:4个时钟周期的高电平,初次加电复位,不小于50s的高电平。 标志寄存器 清零 CS寄

14、存器 FFFFH DS寄存器 0000H SS寄存器 0000H ES寄存器 0000H 指令指针(IP)0000H 指令队列 空 其他 0000H,2、总线操作的概念 1) 总线操作与总线周期2) 典型的总线周期,3) 空闲周期与等待周期,3、总线操作时序 1) 典型的总线操作时序分析,3、总线操作时序 2) 存储器访问时间的计算,存储器访问时间CPU = TTCLCL * 3-(TCLAV+TDVCL),TTCLCL是T状态的周期, TCLAV为地址从T1前沿到在地址线上有效时间的延时TDVCL是存储器数据读出后,在数据总线上建立时间设CPU的主频为5MHz,TTCLCL * 3=600n

15、s,TCLAV=110ns,TDVCL=30ns, 则CPU的理想存储器访问时间为460ns。若译码器等电路的延时为40nsCPU的存储器访问时间约为420ns。存储器的访问时间参数,必须小于420ns。,2),3、总线操作时序 3) 最大模式下的总线写操作,3、总线操作时序 3) 总线读操作与最小模式的差异,4、等待周期的产生 1) 产生一个等待周期的READY信号,插入一个TW时的READY#信号,2) 等待周期-8284的RDY in,3) 等待周期-Wait产生电路,4) 等待周期-Wait产生电路时序,2.1.4 8086的存储器和I/O组织,1、8086的存储器组织 1)寻址空间

16、2201M bytes的存储器寻址空间 分段的概念 2)分段组织 段寄存器的16位值左移4位,得到的20位值加上16位的偏移量。 3)字与字节访问 AD0 信号和BHE#信号组合,选择奇偶字节或字。,图- 8086 存储器组织,图- 奇偶寻址 字节访问,图- 偶地址字传送,图- 奇地址 字传送,表:AD0、BHE#的代码组合和对应的操作,2、8086的I/O组织,1)单独编址微型机系统要为I/O芯片的每个端口分配一个地址,各个端口号不能重复,是单独编址的。 2)寻址范围65535个8位的I/O端口,即寻址范围是064K。两个编号相邻的8位端口可以组合成一个16位端口。 3)访问指令执行IN,

17、OUT指令,RD#信号或WR#信号与M/IO#信号同时为低电平。,2.1.5 8086 的中断系统,1、中断的类型 1)INT(n)256个中断向量和INT n (n = 0255)指令相对应2)内部中断 CPU执行INT n指令或CPU执行指令出现错误而产生的中断。 INT n指令中断也称作软件中断。 除法错中断(类型0) 单步中断(类型1) 断点中断(类型3) 溢出中断(类型4) 其它INT指令中断,1、中断的类型,3)外部中断 外部中断的中断源来自CPU外部,是外设产生的,通常外设需要实时和CPU进行数据交互,申请CPU中断当前的程序,也把外部中断称为硬件中断。非屏蔽中断MNI(类型2)

18、 可屏蔽中断INTR,2、内部中断,1)除法错中断(类型0)除数为0或者有符号数运算所得到的商超出规定的范围时由CPU自身产生的中断。 2)单步中断(类型1)当CPU测试到标志寄存器TF=1时,CPU每执行一条指令,响应一次中断,进入一次单步处理中断服务程序。 3)断点中断(类型3)用于程序的调试。断点中断允许指定断点,当程序执行到断点时转入断点中断处理程序。 4)溢出中断(类型4)当运算结果超出数据规定的范围就会产生溢出中断 。 5)其它INT指令中断,3、外部中断,1)非屏蔽中断MNI(类型2)上升沿有效,并要求信号边沿正跳变后保持2个CLK的高电平,NMI不受中断允许标志IF的影响。非屏

19、蔽中断一般用来处理系统的重大故障,例如系统掉电等。2)可屏蔽中断INTR 高电平有效(需要保持到响应),受标志寄存器的中断标志位 IF 的控制,当IF为1时,表示中断允许。CPU响应中断后,由外设提供中断向量。,4、中断操作,1)中断的请求与响应 上升沿有效,并要求信号边沿正跳变后保持2CLK的高电平,NMI不受中断允许标志IF的影响。非屏蔽中断一般用来处理系统的重大故障,例如系统掉电等。2)中断向量和中断向量表 中断向量,就是中断处理程序的入口地址,每个中断类型对应一个中断向量。内存0段的03FFH区域来存放中断向量,该段区域为中断向量表。,4、中断操作,2)中断向量和中断向量表,4、中断操作,3)中断响应流程 CPU通过INTA#管脚发出两个负脉冲,第一个负脉冲确认中断,第二个负脉冲读取中断类型码; 将标志寄存器的值压入堆栈,在返回主程序时恢复; 标志寄存器的单步标志TF和中断允许标志IF清零 ; 将当前指令地址推入堆栈,保护断点 ; 根据中断类型码,查找向量表,找到中断程序入口; 执行中断处理程序 ; 中断处理程序结束后,由中断返回指令从堆栈弹出主程序的IP和CS,弹出标志寄存器的内容,返回原程序的断点处继续执行原程序。,4、中断操作,3)中断响应流程,5、中断响应的总线周期,6、中断优先级,高低,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报