《典型微处理器芯片8086.ppt》由会员分享,可在线阅读,更多相关《典型微处理器芯片8086.ppt(41页珍藏版)》请在三一办公上搜索。
1、附加A.1 典型微处理器芯片,微机系统典型结构,一、8086微处理器内部结构,8086/8088流水工作过程,8086/8088的内部寄存器,通用寄存器功能,AX,BX,CX,DX,AH,AL,BH,BL,CH,CL,DH,DL(16-8)习惯:AX累加器Accumulator)/BX基址R/CX(Count)计数R,循环-串操作/DX数据R(Data),I/O port,双字除(H16);SP,BP:Stack Pointer R,Base Pointer基址指针 R 数据/PointerSI,DI 变址R(Source Index R,Destination Index R)-指针作用指令
2、、数据存储地址,通用寄存器,寄存器的隐含用法,段寄存器功能,段寄存器Segment Register CS,SS,DS,ES Code,Stack,Data,Extra(附加段)R=Segment Base Address解决位机兼容问题 MOV AX,1000H 8086/8088存储器管理:20 AB1MB,64KB单位,物理地址PA,段基地址SA,偏移地址EA(OFFSET);(SA,EA逻辑地址)关系:PA=SA*16+EA 默认:MOV AX,DS:1000H(DS)=1234H EA=1000H 物理地址1A340H,标志寄存器,标志状态寄存器Flags,标志控制寄存器,二、808
3、68088的引脚信号,80868088引脚分类,第一类 每个引脚只传送一种信息。32P-/RD。第二类 每个引脚电平的高低代表不同的信号,。第三类 引脚在80868088的两种不同工作方式最小模式和最大模式下有不同的名称和定义。例如:第29脚为/WR(/LOCK)。第四类 每个引脚可以传送两种信息(分时复用)。这两种信息在时 间上是可以分开的,因此可以用一个引脚在不同时刻传送不同的信息,一般称这类引脚为分时复用线。例如:AD7 AD。第五类 引脚的输入和输出分别传送不同的信息,如RQGT0输入时传送总线请求,输出时传送总线请求允许。第六类 电源/地 Vcc/Vss(GND),80868088引
4、脚分类,80868088重要引脚信号,RESET系统复位信号 输入端 复位后内部寄存器的状态,CLK 时钟 输入端,80 x86 CPU的3种模式,1.实模式 与8086兼容的工作模式,只有低20位地址线起作用,仅能寻址第一个1MB的内存空间。MS DOS运行在实模式下。2.保护模式 32位80 x86 CPU的主要工作模式,提供对程序和数据进行安全检查的保护机制。Windows 9x/NT/2000运行在保护模式下。3.虚拟8086模式 在Windows 9x下,若打开一个MS DOS窗口,运行一个DOS应用程序,那么该程序就运行在虚拟8086模式下。,80868088的工作方式MIN,80
5、868088的工作方式MAX,8086/8088工作过程(时序),三、8086工作时序,1.概念时钟周期总线周期指令周期,时钟周期、总线周期和指令周期,2.8086总线操作,总线周期的组成:8086的基本总线周期为4个时钟周期,每个时钟周期间隔称为一个T状态。,总线周期,总线周期,T1,T1,T2,T3,T4,T2,T3,T4,地址,地址,缓 冲,缓 冲,数 据,数 据,CLK,AD,8086总线操作,T1 状态:BIU将RAM或I/O地址放在地址/数据复用 总线(A/D)上。T2 状态:读总线周期:A/D总线为接收数据做准备。改变线 路的方向。写总线周期:A/D总线上形成待写的数据,且保 持
6、到总线周期的结束(T4)。,8086总线操作,T3,T4:对于读或写总线周期,AD总线上均为数据。Tw:当RAM或I/O接口速度不够时,T3与 T4 之间可插入等待状态 Tw。Ti:当BIU无访问操作数和取指令的任务时,8086不执行总线操作,总线周期处于空闲状态 Ti。,8086总线操作,8086最小方式下读写总线周期时序。ALE 信号在 T1 出现,表明一个总线周期开始,选通外部地址锁存器,锁存AD总线上的地址信息。在RD、WR等信号的配合下,T3、T4期间完成数据访问。T3 上升沿检测READY信号是否有效,无效时在T3与T4间插入等待状态Tw。,(最小方式),8086最小方式下读总线周
7、期时序,8086最小方式下总线写周期时序,3.8086中断系统,8086微处理器有处理256级中断的能力。每个中断分配给一个中断类型码,在0255之间,用一个字节表示,也称为256种类型中断。256种类型中断分为硬件中断和软件中断。硬件中断:外部硬件电路产生的中断。软件中断:8086操作过程中发生异常事件或执行中断指令INTn。,指令/CPU启 动 的,软件中断(内部),硬件中断(外部),INTn 指令,中 断 逻 辑,断点中断,溢出中断,单步中断,除数为0 中断,(3),(4),(1),(0),非屏蔽中断请求(2),中断控制器8259A,可屏蔽中断请求,NMI,INTR,8086 中 断 分
8、 类 图,INTO,INT3,OF=1,TF=1,3.8086中断系统(续),中断向量与中断向量表中断向量:每种中断处理程序的入口地址称为中断向量。中断向量表:8086将内存最低地址的1K单元作为中断向量表,存放256种中断处理程序的入口地址,每个地址占4字节。中断向量表的分配如下图所示:,03FFH,03FCH,Type 225,CS,IP,:,0083H,CS,Type 32,IP,0080H,007FH,CS,Type 31,IP,007CH,:,CS,Type 5,IP,0014H,0013H,CS,Type 4,IP,CS,Type 3,IP,IP,IP,IP,CS,CS,CS,00
9、10H,000FH,000CH,000FH,0008H,0007H,0004H,0003H,0000H,Type 2,Type 1,Type 0,:,224,保留27个,用户定义,个,8086 专 用 5 个,溢出中断,断点中断,非屏蔽中断,单步中断,除数为 0,8086/8088中断向量表占内存0000H段,3.8086中断系统(续),8086对外部硬件中断请求INTR的响应:当INTR有一高电平,即有可屏蔽中断请求。若此时IF=1且当前指令执行完,进入中断响应周期,处理过程如下:INTA在两个总线周期中分别发出有效信号,第二周期中8086读到中断类型码保护现场:标志寄存器入栈,清除IF和T
10、F标志位,保护断点(下一条指令地址入栈)。,T1,第一个中断响应总线周期,第二个中断响应总线周期,T2,T3,T4,T1,T2,T3,T4,CLK,ALE,LOCK,INTA,AD7AD0,TYPE,8086中断响应时序,3.8086中断系统(续)4,8086将中断类型码乘4,得到中断向量表的入口地址,例如:类型码=0CH,中断向量表入口=0030H8086从0030H开始读取4字节中断处理程序的入口地址,前两字节装入IP,后两字节装入CS,8086执行中断处理程序。中断响应过程中8086不响应总线请求。,4.8086总线请求,在一个系统中,若存在多个可控制总线的主模块时,总线使用权的转移存在
11、着一个请求与响应的过程。最小模式下总线请求:请求信号是HOLD,响应信号是HLDA;8086在每个CLK上升沿检测HOLD信号;当前总线周期结束时HLDA变高,响应请求,8086让出总线控制权。,4.8086总线请求(续),最大模式下总线请求:有两个通道请求信号是:RQ/GT0 和 RQ/GT1两条引线中的RQ0 和 RQ1 信号,为输入;响应信号是:RQ/GT0 和 RQ/GT1两条引线中的GT0 和 GT1 信号,为输出;RQ/GT0 和 RQ/GT1是双向多路复用;RQ/GT0 的优先级高于 RQ/GT1。,图 2 11 8086的存储器组织,5.8086CPU的存储器和I/O端口 18
12、086的存储器组织,8086是一个真正的16位微处理器,其内部数据处理和外部数据总线均为16位,拥有16位的地址/数据复用总线AD15AD0。在读写存储器或I/O口时,既可以访问一个字节(字节访问),也可以同时访问两个字节(字访问)。8086的数据线的宽度为16位,其存储器的组织形式分为偶、奇两个存储体。所有的偶地址单元集中于偶存储体,所有的奇地址单元集中于奇存储体。,偶、奇存储体分别用引脚信号A0=0和=0来选中,其数据线分别连接着AD7AD0和AD15AD8。在进行字访问时,偶地址的字访问可以一次完成,因为要访问的存储体与数据总线是“对齐”的;奇地址的字访问则要分两次来完成,因为要访问的存
13、储体和数据总线无法一次“对齐”。“对准好的字”“未对准好的字”,表 2-4 8086的字节访问与字访问,在T1时输出 信号,有效时表示高8位复用总线AD15AD8将在后续的总线周期(T2T4)里传送数据。由于 仅在T1时出现,所以系统需要对它进行锁存;在T2T4,该引脚输出状态信号S7,系统未定义它的功能。应用中,A0=0被用来选通偶存储体,或选通连接D7D0的I/O端口。相比之下,由于8088数据总线的宽度为8位,每次只传送8位数据,所以没有 信号。表 2-4 列出了8086在进行“字节访问”和“字访问”时 和A0两个信号的输出情况。,8088指令队列的长度为4字节,当队列中有一个字节的空缺时,它将自动取指;队列中只要有一个指令字节,8088即开始执行指令。8086的指令队列长度为6B,在出现两个字节的空缺时,自动取指;当队列中有两个指令字节时,开始执行指令。这是由于8086的数据总线宽度为16位,一次可以读取两个字节的缘故。,
链接地址:https://www.31ppt.com/p-2367497.html