文档详情

第 体系结构与PPT课件

可****
实名认证
店铺
PPTX
1.25MB
约77页
文档ID:92968420
第 体系结构与PPT课件_第1页
1/77

u 8086CPU的内部结构组成 8086CPU由两部分组成: 指令执行部件(EU,Execution Unit) 总线接口部件(BIU,Bus Interface Unit) 一、 8086CPU的内部结构第1页/共77页8086CPU的内部结构第2页/共77页 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令 第3页/共77页 总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或IO端口读取操作数参加EU运算或存放运算结果等第4页/共77页EU和BIU的操作原则l lBIU中的指令队列有中的指令队列有2个或个或2个以上字节为空时,个以上字节为空时,BIU自动启动总线周期,取指填充指令队列直至自动启动总线周期,取指填充指令队列直至队列满,进入空闲状态队列满,进入空闲状态l lEU每执行完一条指令,从指令队列队首取指每执行完一条指令,从指令队列队首取指系统初始化后,指令队列为空,系统初始化后,指令队列为空,EU等待等待BIU从内存从内存取指,填充指令队列。

取指,填充指令队列l lEU取得指令,译码并执行指令若指令需要取取得指令,译码并执行指令若指令需要取操作数或存操作结果,需访问存储器或操作数或存操作结果,需访问存储器或I/O,EU向向BIU发出访问总线请求发出访问总线请求第5页/共77页l l当当BIU接到接到EU的总线请求,若正忙(正在执行的总线请求,若正忙(正在执行取指总线周期),则必须等待取指总线周期),则必须等待BIU执行完当前的执行完当前的总线周期,方能响应总线周期,方能响应EU请求;若请求;若BIU空闲,则立空闲,则立即执行即执行EU申请总线的请求申请总线的请求l lEU执行转移、调用和返回指令时,若下一条执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动清除,指令不在指令队列中,则队列被自动清除,BIU根据本条指令执行情况重新取指和填充指令队列根据本条指令执行情况重新取指和填充指令队列第6页/共77页u 通用寄存器u 段寄存器 u 标志寄存器FR u 指令指针寄存器IP 二、 8086CPU的寄存器结构第7页/共77页u1、 通用寄存器指令执行部件(EU)设有8个通用寄存器 AX BX CX DX SP BP SI DI第8页/共77页u通用寄存器AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。

BX(Base Register) 基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能第9页/共77页 CX(Counter) 将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计数用 DX(Data Register) DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途 第10页/共77页 SI(Source Index) 源变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据 DI(Destination Index) 目标变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中也可放数据第11页/共77页 BP(Base Pointer) 基址指针用于存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中 SP(Stack Pointer ) 堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中第12页/共77页u寄存器的特殊用途和隐含性质在指令中没有明显的标出,而这些寄存器参加操作,称之为“隐含寻址” 具体的:在某类指令中,某些通用寄存器有指定的特殊用法,编程时需遵循这些规定,将某些特殊数据放在特定的寄存器中,这样才能正确的执行这些指令。

采用“隐含”的方式,能有效地缩短指令代码的长度第13页/共77页第14页/共77页2、段寄存器 总线接口部件BIU设有4个16位段寄存器 CS(Code Segment),代码段寄存器中存放程序代码段起始地址的高16位DS(Data Segment),数据段寄存器中存放数据段起始地址的高16位SS(Stack Segment),堆栈段寄存器中存放堆栈段起始地址的高16位ES(Extended Segment),扩展段寄存器中存放扩展数据段起始地址的高16位第15页/共77页3、标志寄存器FR 标志寄存器FR中共有9个标志位,可分成两类:状态标志状态标志 表示运算结果的特征,它们是 CF、PF、AF、ZF、SF和OF控制标志控制标志 控制CPU的操作,它们是IF、 DF和TF 第16页/共77页 标志寄存器FR第17页/共77页FR中的状态标志CF(Carry Flag):进位标志位 CFl,表示本次运算中最高位(D15或D7)有进位(加法运算时)或有借位(减法运算时)CF标志可通过STC指令置位,通过CLC指令复位(清除进位标志),还可通过CMC指令将当前CF标志取反PF(Parity Flag):奇偶校验标志位 PF1,表示本次运算结果中有偶数个“l”,PF0,表示本次运算结果中有奇数个“1”。

第18页/共77页AF(Auxiliary Carry Flag):辅助进位标志位AFl,表示运算结果的8位数据中,低4位向高4位有进位(加法运算时)或有借位(减法运算时),这个标志位只在十进制运算中有用ZF(Zero Flag):零标志位 ZF1,表示本次运算结果为零,否则即运算结果非零时,ZF0第19页/共77页 SF(Sign Flag):符号标志 SF1,表示本次运算结果的最高位(第7位或第15位)为“l”,否则SF0 OF(Overflow F1ag):溢出标志第20页/共77页FR寄存器的控制标志 IF(Interrupt Flag):中断标志位 IF1,表示允许CPU响应可屏蔽中断IF标志可通过STI指令置位,也可通过CLI指令复位DF(Direction Flag):方向标志位 在串操作指令中,若DF0,表示串操作指令地址指针自动增量;DF1,表示地址指针自动减量DF标志位可通过STD指令置位,也可通过CLD指令复位TF(Trap Flag):单步标志位第21页/共77页4、指令指针寄存器 IP IP 始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令 。

IP中内容可由BIU自动修改第22页/共77页三三、8086CPU的管脚及功能的管脚及功能 8086是16位CPU它采用高性能的N沟道,耗尽型负载的硅栅工艺(HMOS)制造由于受当时制造工艺的限制,部分管脚采用了分时复用的方式,构成了40条管脚的双列直插式封装 第23页/共77页第24页/共77页1、 8086的两种工作方式的两种工作方式 最小模式:最小模式:系统中只有8086一个处理器,所有的控制信号都 是由8086CPU产生 最大模式:最大模式:系统中可包含一个以上的处理器,比如包含协处 理器8087在系统规模比较大的情况下,系统控 制信号不是由8086直接产生,而是通过与8086配 套的总线控制器等形成第25页/共77页 最小模式下的引脚说明最小模式下的引脚说明(1) AD15AD0 (Address Data Bus): 地址/数据复用信号,双向,三态在T1状态(地址周期)AD15AD0上为地址信号的低16位A15A0;在T2 T3状态(数据周期)AD15AD0 上是数据信号D15D0 第26页/共77页 (2) A19/S6A16/S3 (Address/Status): 地址/状态复用信号,输出。

在总周期的T1状态A19/S6A16/S3上是地址的高4位在T2T4状态,A19/S6A16/S3上输出状态信息第27页/共77页BHEBHEBHEBHES4S3当前正在使用的段寄存器当前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器或未使用任何段寄存器11DS第28页/共77页 (3)BHE# /S7 (Bus High Enable/Status): 数据总线高8位使能和状态复用信号,输出在总线周期T1状态,BHE#有效,表示数据线上高8位数据有效在T2T4状态BHE # /S7 输出状态信息S7S7在8086中未定义BHEBHEBHE第29页/共77页(4) RD# (Read) 读信号, 三态输出,低电平有效,表示当前CPU正在读存储器或IO端口 (5) WR# (Write) 写信号,三态输出,低电平有效,表示当前CPU正在写存储器或IO端口6)MIO# (MemoryIO ) 存储器或IO端口访问信号三态输出,MIO#为高电平时,表示当前CPU正在访问存储器,MIO# 为低电平时,表示当前CPU正在访问IO端口 第30页/共77页(7)READY 准备就绪信号。

由外部输入,高电平有效,表示CPU访问的存储器或IO端口己准备好传送数据当READY无效时,要求CPU插入一个或多个等待周期Tw,直到READY信号有效为止BHEBHEBHE第31页/共77页(8)INTR( Interrupt Request) 中断请求信号,由外部输入,电平触发,高电平有效INTR有效时,表示外部设备向CPU发出中断请求,CPU在每条指令的最后一个时钟周期对INTR进行测试,一旦测试到有中断请求,并且当中断允许标志IF1时,则暂停执行下条指令转入中断响应周期第32页/共77页 (9)INTA# (Interrupt Acknowledge) 中断响应信号向外部输出,低电平有效,表示CPU响应了外部发来的INTR信号 (10) NMI( NonMaskable Interrupt Request) 不可屏蔽中断请求信号由外部输入,边沿触发,正跳沿有效CPU一旦测试到NMI请求信号,待当前指令执行完就自动从中断入口地址表中找到类型2中断服务程序的入口地址,并转去执行 第33页/共77页(11)TEST# 测试信号由外部输入,低电平有效当CPU执行WAIT指令时(WAIT指令是用来使处理器与外部硬件同步),每隔5个时钟周期对TEST进行一次测试,若测试到该信号无效,则CPU继续执行WAIT指令,即处于空闲等待状态;当CPU测到TEST输入为低电平时,则转而执行WAIT的下一条指令。

由此可见,TEST对WAIT指令起到了监视的作用第34页/共77页(12)RESET 复位信号由外部输入,高电平有效RESET信号至少要保持4个时钟周期,CPU接收到该信号后,停止进行操作,并对标志寄存器(FR)、IP、DS、SS、ES及指令队列清零,而将CS设置为FFFFH当复位信号变为低电平时,CPU从FFFF0H开始执行程序,由此可见,采用8086CPU计算机系统的启动程序就保持在开始的存储器中第35页/共77页 (13)ALE(Address Latch Enable) 地址锁存使能信号,输出,高电平有效用来作为地址锁存器的锁存控制信号14)DEN# (Data Enable) 数据使能信号,输出,三态,低电平有效用于数据总线驱动器的控制信号 第36页/共77页 (15) DT/R#(Data Transmit/Receive): 数据驱动器数据流向控制信号,输出,三态在8086系统中,通常采用8286或8287作为数据总线的驱动器,用DT/R#信号来控制数据驱动器的数据传送方向当DT/R#1时,进行数据发送;DT/R#0时,进行数据接收第37页/共77页(16)HOLD(Hold Request) 总线请求信号。

由外部输入,高电平有效器向CPU请求使用总线17)HLDA(Hold Acknowledge) 共享总线的处理总线请求响应信号向外部输出,高电平有效 第38页/共77页(18)MN/MX(Minimum/Maximum Mode Control): 最大最小模式控制信号,输入MN/MX1(5V),CPU工作在最小模式MN/MX0(接地), CPU则工作在最大模式 (19) GND 地20) VCC 电源,接5V第39页/共77页 最大模式下的引脚说明最大模式下的引脚说明 当8086CPU工作在最大模式系统时,有8个管脚重新定义 (1)S2#、S1#、S0#(Bus Cycle Status,最小模式为,最小模式为M/IO#、D/TR#、DEN#): 总线周期状态信号,输出这三个信号的组合表示当前总线周期的类型在最大模式下,由这三个信号输入给总线控制器8288,用来产生存储器、I/O的读写等相关控制信号如下表: 第40页/共77页第41页/共77页(2)LOCK# 封锁信号封锁信号 三态输出,低电平有效LOCK有效时表示CPU不允许其它总线主控者占用总线这个信号由软件设置当在指令前加上LOCK前缀时,则在执行这条指令期间LOCK保持有效,即在此指令执行期间,CPU封锁其它主控者使用总线。

(3)QS1、QS0(Instruction Queue Status,最,最小模式为小模式为ALE、INTA#): 指令队列状态信号,输出QS1,QS0组合起来表示前一个时钟周期中指令队列的状态,以便从外部对芯片的测试第42页/共77页 (4)RQ#/GT0# ,RQ#/GT1# (RequestGrant) 总线请求信号请求同意信号双向,低电平有效,当该信号为输入时表示其它主控者向CPU请求使用总线;当为输出时表示CPU对总线请求的响应信号两条线可同时与两个主控者相连,同时,RQ#/GT0#优先级高于RQ#/GT1# 第43页/共77页(5)QS1、QS0(Instruction Queue Status): 指令队列状态信号,输出QS1,QS0组合起来表示前一个时钟周期中指令队列的状态,以便从外部对芯片的测试第44页/共77页 QS1QS0编码含义00无操作01从队列中取第一个字节10队列已空11从队列中取后续字节第45页/共77页2.28086系统的结构和配置 一、一、8086存储器结构和配置存储器结构和配置 8086系统中的存储器是一个最多系统中的存储器是一个最多1M个个8位数位数量的字节序列,即可寻址的存储空间为量的字节序列,即可寻址的存储空间为1M字节,字节,系统为每个字节分配一个系统为每个字节分配一个20位的物理地址位的物理地址(对应对应16进制的地址范围从进制的地址范围从00000HFFFFFH)。

在存储器中任何两个相邻的字节被定义为一在存储器中任何两个相邻的字节被定义为一个字在一个字中的每一个字节有一个地址,并个字在一个字中的每一个字节有一个地址,并且这两个地址中的较小的一个被用来作为该字的且这两个地址中的较小的一个被用来作为该字的地址 第46页/共77页1、存储器的组成、存储器的组成 8086系统中,存储器是分体结构,1M字节的存储空间分成两个512K字节的存储体 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式 第47页/共77页(1)奇偶地址体示意图第48页/共77页(2)BHE# 、 AD0的代码组合和对应的操作 BHE#AD0对应的操作所用的管脚从偶地址开始读/写一个字AD15AD0从奇地址单元读/写一个字节AD15AD8从偶地址单元读/写一个字节AD7AD0从奇地址开始读/写一个字(在第一个总线周期,传送低8位数据到AD15AD8;第二个总线周期传送高8位数据到AD7AD0)AD15AD8AD7AD0第49页/共77页(3)偶地址字读写第50页/共77页(3)偶地址字节读写(续)第51页/共77页(3)奇地址字节读写(续)第52页/共77页奇地址字读写(续)第53页/共77页2、存储器的分段、存储器的分段 8086可寻址空间是lM字节,对整个空间寻址需要20位长的地址码,8086CPU内所有寄存器都是16位的寄存器,而一个16位的寄存器,就只能寻址64K字节。

要达到对1M字节存储器的寻址,8086系统采用分段并附以地址偏移量办法形成20位的物理地址,来得到对1M内存空间的寻址 第54页/共77页存储器中的逻辑地址和物理地址存储器中的逻辑地址和物理地址 采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是 16位二进制数 物理地址:存储器的绝对地址,从00000HFFFFFH,是CPU访问存储器的实际寻址地址(也称为绝对地址) 16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址,这相当于完成如下的地址运算: 物理地址段基址16+偏移地址第55页/共77页CS16位20位CS左移 4位+IP地 址加 法 器20位物 理地 址第56页/共77页3、堆栈段的使用、堆栈段的使用 所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后出”或“后进先出”的方式 8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定,堆栈地址由高向低增长,栈底设在存储器的高地址区第57页/共77页二二、8086输入输出结构与配置输入输出结构与配置 8086系统与外部设备的输入/输出是通过接口完成的。

1)单独编址 系统要为I/O芯片的每个端口分配一个地址,各个端口号不能重复,是单独编址的2)寻址范围 8086CPU设计了65535个8位的I/O端口,即寻址范围是064K两个编号相邻的8位端口可以组合成一个16位端口 3)访问指令 执行IN, OUT指令,RD#信号或WR#信号与M/IO#信号同时为低电平 第58页/共77页三、 8086的最小和最大模式系统配置的最小和最大模式系统配置 8086CPU可工作在最小模式和最大模式两种配置 最小模式是单机系统系统中所需要的控制信号全部由8086CPU本身直接提供 最大模式可构成多处理机系统,系统中所需要的控制信号由总线控制器8288提供 CPU工作模式的选择是由硬件决定的,当CPU的管脚MN接高电平(十5V)时,构成最小模式;当MN接低电平(地)时,构成最大模式 第59页/共77页1、最小模式系统配置、最小模式系统配置 以8086CPU构成的最小模式的基本配置除了存储器、IO芯片和基本时钟发生器外、还有用于地址的锁存器8282(或8283)以及用于数据的缓冲器8286(或8287)第60页/共77页 最小模式系统最小模式系统 第61页/共77页2、最大模式系统配置、最大模式系统配置 与最小模式系统相比较,主要区别是最大模式系统中增设了一个总线控制器8288和一个总线仲裁器8289。

8086CPU输出的状态信号S2S0同时送给8288和8289,由8288输出8086CPU系统所需要的控制信号,而8289总线仲裁器对系统中多个处理器提出共享总线资源的要求作出裁决因此,8086的最大模式系统由于8288和8289的存在,可以构成一个多处理器系统第62页/共77页 最大模式系统最大模式系统 第63页/共77页2.3 8086CPU内部时序 1、时序基本概念、时序基本概念 时钟周期或状态周期时钟周期或状态周期:8086CPU内部的逻辑操作以及与外部存储器和I/O交换数据进行的总线操作全部由CPU的时钟来定时的CPU的基本定时单位称为时钟周期或者状态周期假设8086的主频为10MHz,一个时钟周期为100ns 总线周期总线周期:CPU为了读取指令或传送数据,需要通过总线接口部件BIU与存储器或I/O接口进行信息交互,执行对总线的操作进行一次数据传送的总线操作定义为一个总线周期 指令周期指令周期:完成一条指令所需要的时间,是由一个或:完成一条指令所需要的时间,是由一个或多个总线周期组成多个总线周期组成第64页/共77页典型总线周期示意图典型总线周期示意图 2、典型时序图第65页/共77页读总线周期示意图(最小模式) 第66页/共77页读总线周期示意图(最大模式)第67页/共77页2.4 80 x86典型微处理器介绍 一、一、80486微处理机微处理机 80486微处理机是在微处理机是在80386微处理机的基础微处理机的基础上改进并发展起来的上改进并发展起来的32位机。

内部寄存器和数据位机内部寄存器和数据总线宽度都是总线宽度都是32位,地址总线也是位,地址总线也是32位,使得位,使得可寻址的内存空间达到可寻址的内存空间达到4GB虚拟内存空间达到虚拟内存空间达到64TB80486CPU将浮点运算部件(将浮点运算部件(FPU)、)、8KB高速缓冲(高速缓冲(Cache)存储器等集成在一块芯)存储器等集成在一块芯片内 80486微处理机采用了一些新技术,如:微处理机采用了一些新技术,如:RISC-Reduced Instruction Set Computer(精减指令集计算机)技术、突发式总线技术等,(精减指令集计算机)技术、突发式总线技术等,使微处理机的性能大大提高使微处理机的性能大大提高第68页/共77页 1、 80486内部结构框图80486内部功能结构框图 第69页/共77页 2、80486微处理机的特点微处理机的特点 增强型增强型 80487协处理器协处理器 存储器管理部件MMU (Memory Menagement Unit) 8KB数据和指令Cache 采用RISC技术 内部数据总线宽度为64位第70页/共77页 3、80486微处理机的寄存器微处理机的寄存器 80486CPU的寄存器可分为四类的寄存器可分为四类 基本结构寄存器基本结构寄存器 系统级寄存器系统级寄存器 浮点寄存器浮点寄存器 调试和测试寄存器调试和测试寄存器第71页/共77页 二、二、 PentiumPentium系列微处理机系列微处理机 1 1、 PentiumPentium系列微处理机特点系列微处理机特点 PentiumPentium微处理机内部采用超标量双流水线结构,微处理机内部采用超标量双流水线结构,每条流水线包含每条流水线包含5 5个步级。

个步级u u流水线和流水线和v v流水线流水线 ) ) 浮点部件拥有专用的加法和乘浮点部件拥有专用的加法和乘/ /除法单元使得复杂而除法单元使得复杂而精确的运算速度大大提高精确的运算速度大大提高 在指令预处理中增加了分支预测逻辑,使分支指令在指令预处理中增加了分支预测逻辑,使分支指令不停顿流水线的执行不停顿流水线的执行 PentiumPentium内部采用内部采用2 2个彼此独立的个彼此独立的8KB8KB代码高速缓存和代码高速缓存和8KB8KB数据高速缓存数据高速缓存 PentiumPentium内部数据总线为内部数据总线为3232位,位,CPUCPU和内存进行数据和内存进行数据交换的外部数据总线为交换的外部数据总线为6464位位 对存储器的管理也采用分段和分页对存储器的管理也采用分段和分页第72页/共77页2、Pentium结构框图第73页/共77页3、 Pentium系列系列微处理机微处理机第74页/共77页第75页/共77页第76页/共77页感谢您的观看!第77页/共77页。

下载提示
相关文档
正为您匹配相似的精品文档