《第02章8086体系结构(修改稿).ppt》由会员分享,可在线阅读,更多相关《第02章8086体系结构(修改稿).ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章 8086体系结构l l 8086CPU结构结构l 8086系统的结构和配置系统的结构和配置l8086CPU内部时序内部时序2.1 8086CPU结构结构l 8086CPU的内部结构的内部结构l 8086CPU的寄存器结的寄存器结构构l 8086CPU的管脚及功的管脚及功能能u8086CPU的内部结构:的内部结构:指令执行部件指令执行部件(EU,Execution Unit)总线接口部件总线接口部件(BIU,Bus Interface Unit)一、8086CPU的内部结构执行部件(EU)l执行部件(执行部件(EU)主要由算术逻辑运算单)主要由算术逻辑运算单元元(ALU)、标志寄存器、标
2、志寄存器FR、通用寄存器组、通用寄存器组和和EU控制器等控制器等4个部件个部件组成组成。l其其主要功能主要功能是执行指令。是执行指令。总线接口部件(BIU)l l 总线接口部件总线接口部件(BIU)主要由地址加法器、主要由地址加法器、专用寄存器组、指令队列和总线控制电路专用寄存器组、指令队列和总线控制电路等等4个部件个部件组成组成。l其其主要功能主要功能:l形成访问存储器的物理地址、访问存储器并形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行取指令暂存到指令队列中等待执行l访问存储器或访问存储器或IO端口读取操作数参加端口读取操作数参加EU运运算或存放运算结果等。算或存放运
3、算结果等。EUBIU指令队列指令队列EU和和BIU的操作原则的操作原则l lBIU中中的的指指令令队队列列有有2个个或或2个个以以上上字字节节为为空空时时,BIU自自动动启启动动总总线线周周期期,取取指指填填充充指令队列。直至队列满,进入空闲状态。指令队列。直至队列满,进入空闲状态。l lEU每每执执行行完完一一条条指指令令,从从指指令令队队列列队队首首取取指指。系系统统初初始始化化后后,指指令令队队列列为为空空,EU等待等待BIU从内存取指,填充指令队列。从内存取指,填充指令队列。l lEU取取得得指指令令,译译码码并并执执行行指指令令。若若指指令令需需要要取取操操作作数数或或存存操操作作结
4、结果果,需需访访问问存存储储器或器或I/O,EU向向BIU发出访问总线请求。发出访问总线请求。当当BIU接接到到EU的的总总线线请请求求,若若正正忙忙(正正在在执执行行取取指指总总线线周周期期),则则必必须须等等待待BIU执执行行完完当当前前的的总总线线周周期期,方方能能响响应应EU请请求求;若若BIU空空闲闲,则则立立即即执执行行EU申申请请总总线线的的请请求。求。lEU执行转移、调用和返回指令时,若下执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动一条指令不在指令队列中,则队列被自动清除,清除,BIU根据本条指令执行情况重新取根据本条指令执行情况重新取指和填充指令队列。
5、指和填充指令队列。二、二、8086CPU的寄存器结构的寄存器结构u 通用寄存器通用寄存器u 段寄存器段寄存器 u 标志寄存器标志寄存器FR u 指令指针寄存器指令指针寄存器IP 1、通用寄存器通用寄存器指令执行部件(指令执行部件(EU)设有)设有8个通用寄器个通用寄器 BHBLCHCLDHDLAHALAXBXCXDXSIDIBPSP通用寄存器AX(Accumulator Register)累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。BX(Base Register)基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX
6、则不能。CX(Counter)将它称作计数寄存器,是因为它既可将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指作数据寄存器,又可在串指令和移位指令中作计数用。令中作计数用。DX(Data Register)DX除可作通用数据寄存器外,还在乘除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有、除法运算、带符号数的扩展指令中有特殊用途。特殊用途。SI(Source Index)源变址寄存器多用于存放内存的逻辑源变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在偏移地址,隐含的逻辑段地址在DS寄寄存器中,也可放数据。存器中,也可放数据。DI(Destinati
7、on Index)目标变址寄存器多用于存放内存的逻目标变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在辑偏移地址,隐含的逻辑段地址在DS寄存器中也可放数据。寄存器中也可放数据。BP(Base Pointer)基址指针用于存放内存的逻辑偏移地基址指针用于存放内存的逻辑偏移地址,隐含的逻辑段地址在址,隐含的逻辑段地址在SS寄存器中。寄存器中。SP(Stack Pointer)堆栈指针用于存放栈顶的逻辑偏移地堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在址,隐含的逻辑段地址在SS寄存器中。寄存器中。寄存器的特殊用途和隐含性质u在指令中没有明显的标出,而这些寄存器在指令中没有明显的标
8、出,而这些寄存器参加操作,称之为参加操作,称之为“隐含寻址隐含寻址”。2、段寄存器l总线接口部件总线接口部件BIU设有设有4个个16位段寄存器位段寄存器 CS(Code Segment),代码段寄存器中),代码段寄存器中存放程序代码段起始地址的高存放程序代码段起始地址的高16位。位。DS(Data Segment),数据段寄存器中存),数据段寄存器中存放数据段起始地址的高放数据段起始地址的高16位。位。SS(Stack Segment),堆栈段寄存器中),堆栈段寄存器中存放堆栈段起始地址的高存放堆栈段起始地址的高16位。位。ES(Extended Segment),扩展段寄存),扩展段寄存器中
9、存放扩展数据段起始地址的高器中存放扩展数据段起始地址的高16位。位。段寄存器使用约定段寄存器使用约定3、标志寄存器、标志寄存器FR 标志寄存器标志寄存器FR中共有中共有9个标志位,可分成两个标志位,可分成两类:类:状态标志:表示运算结果的特征,是状态标志:表示运算结果的特征,是CF、PF、AF、ZF、SF和和OF控制标志:控制控制标志:控制CPU的操作,是的操作,是IF、DF和和TF。标志寄存器标志寄存器FR4、指令指针寄存器、指令指针寄存器 IP IP:BIU要取指令的地址。要取指令的地址。8086是是16位位CPU。它采用高性能的。它采用高性能的N沟沟道,耗尽型负载的硅栅工艺道,耗尽型负载
10、的硅栅工艺(HMOS)制造。由制造。由于受当时制造工艺的限制,部分管脚采用了于受当时制造工艺的限制,部分管脚采用了分时复用的方式,构成了分时复用的方式,构成了40条管脚的双列直条管脚的双列直插式封装插式封装三、8086CPU的管脚及功能u最小模式:系统中只有8086一个处理器,所有的控制信号都是由8086CPU产生(MN/MX=1)。u 最大模式:系统中可包含一个以上的处理器,比如包含协处理器8087。在系统规模比较大的情况下,系统控制信号不是由8086直接产生,而是通过与8086配套的总线控制器等形成(MN/MX=0)。1、8086的两种工作方式的两种工作方式最小模式最小模式最大模式最大模式
11、S2#S1#S0#CPU状态状态8288命令命令000中断响应中断响应 INTA#001读读I/O端口端口 IORC#010写写I/O端口端口 IOWC#AIOWC#011暂停暂停 无无100取指令取指令 MRDC#101读存储器读存储器 MRDC#110写存储器写存储器 MWTC#AMWC#111无作用无作用 无无2.2 8086系统的储存器组织一、一、8086存储器结构存储器结构8086系系统统中中的的存存储储器器是是一一个个最最多多1M个个8位位数数量量的的字字节节序序列列,即即可可寻寻址址的的存存储储空空间间为为1M字字节节,系系统统为为每每个个字字节节分分配配一一个个20位位的的物物
12、理理地地址址(对对应应16进进制制的的地地址址 范范 围围 从从 00000HFFFFFH)。00000H00001H0000FHFFFFFHl(一)数据在内存的位置一)数据在内存的位置字节、字、双字及其地址字节、字、双字及其地址l(二)(二)8086CPU对字对字/字节的读操作字节的读操作l16位读位读l从偶地址读从偶地址读 8086系统中,存储器是分体结构,系统中,存储器是分体结构,1M字字节的存储空间分成两个节的存储空间分成两个512K字节的存储字节的存储体。体。一个是偶数地址存储体,一个是奇数地一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址址存储体,两个存储体采
13、用字节交叉编址方式。方式。二、二、8086存储器的分体结构存储器的分体结构三、存储器的分段三、存储器的分段l为什么分段为什么分段l8086存储器分存储器分4个段个段l段基地址与段寄存器段基地址与段寄存器 l偏移地址的产生偏移地址的产生l逻辑地址、物理地址逻辑地址、物理地址 n段基地址段基地址和和偏移地址组成了偏移地址组成了逻辑地址逻辑地址 格式为:段基地址格式为:段基地址:偏移地址偏移地址 0000段基地址(段基地址(16位)位)段首地址段首地址物理地址物理地址=段基地址段基地址16+偏移地址偏移地址l l 8086分段的好处分段的好处l1、解决了、解决了16位地址寄存器对位地址寄存器对20位
14、物理位物理地址的寻址问题地址的寻址问题l2、实现了程序代码的浮动装配、实现了程序代码的浮动装配l8086复位后程序运行的起始地址复位后程序运行的起始地址四、堆栈段的使用四、堆栈段的使用l所谓堆栈是在存储器中开辟一个区域,用来存所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是放需要暂时保存的数据,其工作方式是“先进先进后出后出”或或“后进先出后进先出”的方式。的方式。l 8086系统中的堆栈段是由段定义语句在存储器系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于中定义的一个段,堆栈段容量小于等于64K字字节。段基址由堆栈寄存器节。段基址由堆栈寄存器SS指定,栈顶由堆栈指定,栈顶由堆栈指针指针SP指定,堆栈地址由高向低增长,栈底设指定,堆栈地址由高向低增长,栈底设在存储器的高地址区。在存储器的高地址区。2.3.1最小模式下的8086时序图2 2.3.2.3.2 最小模式下的写周期时序最小模式下的写周期时序2 2.3 3.4 4 最大模式下的读周期时序最大模式下的读周期时序