第二章 8086系统结构2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上次课复习1、什么是冯、诺依曼机?2、微机性能指标主要有哪几各方面?3、习题12、13本章知识点:1、掌握8086CPU内部构造(编程结构)2、掌握8086CPU各管脚的具体功能以及系统配置3、掌握8086存储器的体系结构第二章8086系统结构第二章8086系统结构由于制造工艺的原因,微处理器的结构受到几个方面的限制:1.引脚数限制2.芯片面积限制3.器件速率限制由于上述限制,使16位微处理器基本结构具有如下特点:2.单总线、累加器结构3.可控三态电路4.总线分时复用1.引脚功能复用12345678910111213141516171819208086CPU3130292827262524232221403938373635343332AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDGNDAD14AD13AD12AD11AD10AD9AD8AD7HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREDAYRESETVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD总线分时复用12345678910111213141516171819208086CPU3130292827262524232221403938373635343332AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDGNDAD14AD13AD12AD11AD10AD9AD8AD7HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREDAYRESETVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD引脚功能复用Intel8086CPU是16位微处理器,外型为双列直插式,有40个引脚。8086型微处理器的时钟频率为5MHz;它有16根数据线和20根地址线,直接寻址空间为220Byte,即为1MB。8088CPU内部结构与8086基本相同,但对外数据总线只有8根,称为准16位微处理器。12345678910111213141516171819208086CPU3130292827262524232221403938373635343332AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDGNDAD14AD13AD12AD11AD10AD9AD8AD7HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREDAYRESETVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD低16位地址/16位数据总线高4位地址12345678910111213141516171819208088CPU3130292827262524232221403938373635343332AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDGNDA14A13A12A11A10A9A8AD7HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREDAYRESETVCCA15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRD高12位地址低8位地址/8位数据总线2-18086CPU结构微型计算机工作时,总是先从存储器中取指令,需要的话再取操作数,然后执行指令,送结果。8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU是并行工作的。总线接口部件BIU完成取指令,读操作数、送结果,所有与外部的操作由其完成。而指令执行部件EU从BIU的指令队列中取出指令,并且读出指令,不必直接访问存储器或I/O端口。一、8086CPU的内部结构1.总线接口部件BIU(BusInterfaceUnit)总线接口部件BIU是8086CPU与外部(存储器和I/O端口)的接口,它提供了16位双向数据总线和20位地址总线,完成所有外部总线操作。BIU具有下列功能:地址形成、取指令、指令排队、读/写操作数和总线控制。它由下列各部分组成:(1)4个16位段地址寄存器0121514…CSDSSSES代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器(2)16位指令指针寄存器IP:存放下一条要执行指令的偏移地址。(3)20位物理地址加法器:将16位逻辑地址变换成20位物理地址,实际上完成加法操作。(4)6字节指令队列:预放6个字节的指令代码。(5)总线控制逻辑:发出总线控制信号。2.指令执行部件EU(ExecutionUnit)指令执行部件EU完成指令译码和执行指令。它由下列各部分组成:(1)算术逻辑运算单元ALU:完成8位或16位的二进制运算,16位暂存器可暂存参加运算的操作数。(2)标志寄存器PSW:存放ALU运算结果特征。(3)寄存器组。0121514…SPBPSIDI堆栈指针寄存器基址指针寄存器源变址寄存器目的变址寄存器指针和变址寄存器071514…AHBHCHDH累加器基址寄存器计数寄存器数据寄存器通用寄存器组ALBLCLDLAXBXCXDX8…(4)EU控制器:取指令控制和时序控制部件。3.8086CPU的工作过程第一步:先执行读操作,根据CS:IP在地址加法器中形成20位物理地址:CS*16+IP,再从中取出指令=》先进先出的6字节指令队列中,等待执行。第二步:EU从指令队列中取出指令,并分析译码,向各部件发出控制命令,以完成执行指令的功能。EU对指令译码,分析和执行时,此时EU不需要用总线,BIU乘机可将后续指令=》指令队列,将队列填满。第三步:当指令队列已满,EU未向BIU申请读/写存储器或I/O操作时,BIU处于空闲周期。如EU执行8位乘法操作时,需70~77个T周期,取指令占2个总线周期(8个T),这段时间内,BIU就可去取指令将指令队列填满,而后续的62~69个T周期内,就处于空闲状态。第四步:在指令的执行过程中,若需要对存储单元或I/O端口进行存取数据,EU就要求BIU去完成相应的总线周期。例如:从内存中取数据指令:MOVAX,[BX]从I/O端口取数据指令:INAL,30H第五步:若在指令的执行过程中,遇到JMP或CALL指令时,将队列中的内容作废,按新的转移地址去取指令,除这种情况外,取指和执行指令都能同时进行,大大提高了CPU的利用率。流水线:在执行指令的同时,预取下一条指令的技术。二、寄存器结构寄存器结构在计算机中起了重要的作用,它的存取速度比存储器快得多,这样可以相当于存储单元,用来存放运算过程中所需要的操作数地址、操作数及中间结果。8086微处理器内部包含有4组16位寄存器,它们分别是通用寄存器组,指针和变址寄存器,段寄存器,指令指针及标志位寄存器。1.通用寄存器组(特殊用途见书表2-1)8086/8088CPU在指令执行部件EU中有4个16位通用寄存器,它们是AX,BX,CX,和DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL和DL,高8位为AH、BH、CH和DH,只能存放8位数据,不能存放地址。071514…AHBHCHDH累加器基址寄存器计数寄存器数据寄存器通用寄存器组ALBLCLDLAXBXCXDX8…通用寄存器AX(AccumulatorRegister)累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。BX(BaseRegister)基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。CX(Counter)将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计数用。DX(DataRegister)DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。2.指针和变址寄存器8086/8088CPU中,有一组4个16位寄存器,它们是基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。这组寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。0121514…SPBPSIDI堆栈指针寄存器基址指针寄存器源变址寄存器目的变址寄存器指针和变址寄存器3.段寄存器0121514…CSDSSSES代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器8086/8088CPU可直接寻址1MB的存储器空间,直接寻址需要20根地址线,而所有的内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术来解决。将1MB的存储器空间分成若干个逻辑段,每段最长64KB,这些逻辑段在整个存储空间中可浮动。4个段寄存器给出相应逻辑段的首地址,称为“段基址”。SI(SourceIndex)源变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据。DI(DestinationIndex)目标变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中也可放数据。BP(BasePointer)基址指针用于存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。SP(StackPointer)堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。总线接口部件BIU设有4个16位段寄存器CS(CodeSegment),代码段寄存器中存放程序代码段起始地址的高16位。DS(DataSegment),数据段寄存器中存放数据段起始地址的高16位。SS(StackSegment),堆栈段寄存器中存放堆栈段起始地址的高16位。ES(ExtendedSegment),扩展段寄存器中存放扩展数据段起始地址的高16位。寄存器名特殊用途隐含性质在输入输出指令中作数据寄存器用不能隐含AX,AL在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商隐含AH在LAHF指令中,作目标寄存器用隐含在十进制运算指令中作累加器用隐含AL在XLAT指令中作累加器用隐含在间接寻址中作基址寄存器用不能隐含BX在XLAT指令中作基址寄存器用隐含CX在串操作指令和LOOP指令中作计数器用隐含CL在移位/循环移位指令中作移位次数计数器用不能隐含在字乘法/除法指令中存放乘积高位或被除数高位或余数隐含DX在间接寻址的输入输出指令中作地址寄存器用不能隐含在字符串运算指令中作源变址寄存器用隐含SI在间接寻址中作变址寄存器用不能隐含在字符串运算指令中作目标变址寄存器用隐含DI在间接寻址中作变址寄存器用不能隐含BP在间接寻址中作基址指针用不能隐含SP在堆栈操作中作堆栈指针用隐含例2-1若当前SS=3500H,SP=4000H,说明堆栈段在存储器中的20位物理地址。解:物理地址=SS*16+SP=39000H4.指令指针寄存器IP8086/8088CPU中设置了一个16位指令指针寄存器IP,用来存放将要执行的下一条指令现行代码段中的偏移地址。程序运行中,它由BIU自动将其修改,使IP始终指向下一条将要执行的指令的地址,因此它是用来控制指令序列的执行流程的,是一个重要的寄存器。8086程序不能直接访问IP,但可以通过某些指令修改IP的内容。┊MOVBX,CXMOVAX,[BX]ADDAX,DX┊正在执行IP指向下一条5.标志寄存器PSW16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。其中7位没有用,9个标志位分成两类:一类是状态标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有6个:CF、PF、AF、ZF、SF和OF。另一类是控制标志,用来控制CPU操作,控制标志有3个:TF、IF和DF。OFDFIFTFSFZFAFPFCF1511109876

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功