第1节 8086微处理器内部基本结构_第1页
第1节 8086微处理器内部基本结构_第2页
第1节 8086微处理器内部基本结构_第3页
第1节 8086微处理器内部基本结构_第4页
第1节 8086微处理器内部基本结构_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2章章 8086CPU结构结构2.1 8086微处理器内部基本结构微处理器内部基本结构2.2 8086总线的工作周期总线的工作周期2.3 8086微处理器外部基本引脚与工作模式微处理器外部基本引脚与工作模式2.4 8086微处理器的存储器组织微处理器的存储器组织2.5 8086微处理器的时序微处理器的时序2.6 Intel 80 x86系列微处理器简介系列微处理器简介 2.7 例题解析例题解析 80868086和和8088 CPU8088 CPU的区别:的区别:8086和和8088 CPU的内部基本相同,但它们的外部性的内部基本相同,但它们的外部性能是有区别的。能是有区别的。8086是是1

2、6位数据总线,而位数据总线,而8088是是8位数据总线位数据总线,在处理一个,在处理一个16位数据字时,位数据字时,8088需要需要两步操作而两步操作而8086只需要一步。只需要一步。8086和和8088 CPU的的内部都采用内部都采用16位字进行操作位字进行操作及存及存储器寻址,两者的软件完全兼容,程序的执行也完储器寻址,两者的软件完全兼容,程序的执行也完全相同。然而,由于全相同。然而,由于8088要比要比8086有较多的外部存有较多的外部存取操作,所以,对相同的程序,它将执行得较慢。取操作,所以,对相同的程序,它将执行得较慢。这两种微处理器都封装在相同的这两种微处理器都封装在相同的40脚双

3、列直插组件脚双列直插组件(DIP:Double In-line Package)中。中。2.1 8086微处理器内部基本结构微处理器内部基本结构2.1.1 8086/8088CPU的内部结构的内部结构8086CPU芯片16位字长位字长双列直插式双列直插式40根引脚根引脚下一页下一页2.1 8086微处理器内部基本结构微处理器内部基本结构2.1.1 8086/8088CPU的内部结构的内部结构两个部件可以两个部件可以并行并行执行,实现指令取指和执行的流水线操作执行,实现指令取指和执行的流水线操作8086/8088的内部结构,按功能划分的内部结构,按功能划分, ,可分成两个部件可分成两个部件 总线

4、接口部件总线接口部件BIU(bus interface unit, BIU)执行部件执行部件EU(execution unit, EU)两个部件两个部件相互独立相互独立(类似于左右手类似于左右手),分别完成各自操作,分别完成各自操作管理管理8086与系统总线的接口,负责与系统总线的接口,负责CPU对存储器和外设进行访问对存储器和外设进行访问负责指令的译码、执行和数据的运算负责指令的译码、执行和数据的运算1 2 3 4 内部暂存器内部暂存器 IP ES SS DS CS控制电路控制电路外部总线外部总线控制电路控制电路ALU标志寄存器标志寄存器 AH AL BH BLCH CL DH DL SP

5、BP SI DI通用寄存器通用寄存器地址加法器地址加法器指令队列指令队列执行部件执行部件 (EU)总线接口部件总线接口部件 (BIU)16位位20位位16位位8位位段寄存器段寄存器8088的内部结构的内部结构 AH AL BH BL CH CL DH DL SP BP DI SI CS DS SS ES IP内部寄存器内部寄存器暂存寄存器暂存寄存器标志标志执行部分执行部分控制电路控制电路 1 2 3 4 5 6输入/输出控制电路外部外部总线总线指令队列缓冲器指令队列缓冲器地址加法器20位16位8位16位ALU执行部件执行部件EUEU总线接口部件总线接口部件BIUBIU 通用通用寄存器寄存器80

6、86的内部结构的内部结构1. 执行部件执行部件EUEU的组成的组成 算术逻辑运算单元算术逻辑运算单元ALU(Arithmeticrimtik Logical Unit) 它包括它包括4 4个个1616位的数据寄存器位的数据寄存器AXAX、BXBX、CXCX、DXDX和和4 4个个1616位指针与变址位指针与变址寄存器寄存器SPSP、BPBP与与SISI、DIDI。1个个16位的寄存器,用来反映位的寄存器,用来反映CPU运算的状态特征和存放某些控制标志。运算的状态特征和存放某些控制标志。 数据暂存寄存器数据暂存寄存器 它负责从它负责从BIU的指令队列缓冲器中取指令,并对指令译码,根据指令要的指令

7、队列缓冲器中取指令,并对指令译码,根据指令要求向求向EU内部各部件发出控制命令,以完成各条指令规定的功能。内部各部件发出控制命令,以完成各条指令规定的功能。 它是它是1个个16位的运算器,可用于位的运算器,可用于8位、位、16位二进制算术和逻辑运算,位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的也可按指令的寻址方式计算寻址存储器所需的16位偏移量。位偏移量。 通用寄存器组通用寄存器组(General register ) 标志寄存器标志寄存器FR(Flag Register)它协助它协助ALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。 EU控制电路控制电路2

8、. 总线接口部件总线接口部件BIU的组成的组成 总线接口单元总线接口单元BIUBIU由由1 1个个2020位地址加法器、位地址加法器、4 4个个1616位段寄存器、位段寄存器、1 1个个1616位位指令指针指令指针IPIP、指令队列缓冲器和总线控制逻辑电路等组成。、指令队列缓冲器和总线控制逻辑电路等组成。80868086的指令队的指令队列由列由6 6个字节构成,个字节构成,8088的指令队列由的指令队列由4个字节构成。个字节构成。 地址加法器将地址加法器将16位的段寄存器内容左移位的段寄存器内容左移4位,与位,与16位偏移地址相加,位偏移地址相加,形成形成20位的物理地址。位的物理地址。 指令

9、指针指令指针IPIP用来存放下一条要执行指令在代码段中的偏移地址。用来存放下一条要执行指令在代码段中的偏移地址。 当当EUEU正在执行指令且不需占用总线时,正在执行指令且不需占用总线时,BIUBIU会自动地进行预取指令操会自动地进行预取指令操作,将所取得的指令按先后次序存入作,将所取得的指令按先后次序存入1 1个个6 6字节的指令队列寄存器,该队字节的指令队列寄存器,该队列寄存器按列寄存器按“先进先出先进先出”的方式工作,并按顺序取到的方式工作,并按顺序取到EUEU中执行。中执行。 总线控制逻辑电路总线控制逻辑电路 地址加法器(地址加法器(Address adder)和段寄存器()和段寄存器(

10、 Segment register ) 16位指令指针位指令指针IP(Instruction pointer) 指令队列(指令队列(Instruction queue)缓冲器)缓冲器将内部总线和外部总线相连将内部总线和外部总线相连8086 CPU8086 CPU内部寄存器如图内部寄存器如图2.22.2所示。所示。(General register )2.1.2 8086CPU寄存器结构寄存器结构控制寄存器控制寄存器数据寄存器数据寄存器数据寄存器用来存放计算的结果和操作数数据寄存器用来存放计算的结果和操作数每个寄存器又有它们各自的专用目的:每个寄存器又有它们各自的专用目的:AX:基址寄存器,常用

11、来做基址指针,指向一批连续存放操作数的基地址。基址寄存器,常用来做基址指针,指向一批连续存放操作数的基地址。计数器计数器(counter),作为循环和串操作等指令中的隐含计数器。,作为循环和串操作等指令中的隐含计数器。DX:数据寄存器,用来存放外设端口的地址,或双字长数据的高数据寄存器,用来存放外设端口的地址,或双字长数据的高16位。位。CX:BX:16位累加器,用于算术、逻辑运算以及与外设传送信息等;位累加器,用于算术、逻辑运算以及与外设传送信息等;AL: 8位累加器位累加器(accumulator)。变址寄存器变址寄存器变址寄存器常用于存储器寻址时变址寄存器常用于存储器寻址时,提供内存的偏

12、移地址提供内存的偏移地址SI是源变址寄存器是源变址寄存器(source index)DI是目的变址寄存器是目的变址寄存器(destination index)在串操作类指令中,在串操作类指令中,SI和和DI具有特别的功能具有特别的功能指针寄存器指针寄存器指针寄存器用于寻址内存堆栈内的数据指针寄存器用于寻址内存堆栈内的数据SP(栈顶指针栈顶指针)(stack pointer)为堆栈指针寄存器,指示栈顶的偏移地为堆栈指针寄存器,指示栈顶的偏移地址。址。SP不能再用于其他目的,具有专用性不能再用于其他目的,具有专用性BP(base pointer)为基址指针寄存器,表示数据在堆栈段中的基地址为基址指

13、针寄存器,表示数据在堆栈段中的基地址SP/BP寄存器与寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址段寄存器联合使用以确定堆栈段中的存储单元地址指令指针寄存器指令指针寄存器IP (Instruction pointer)指令指针寄存器指令指针寄存器IP,指示代码段中指令的偏移地址,指示代码段中指令的偏移地址它与代码段寄存器它与代码段寄存器CS联用,确定下一条指令的物理地址联用,确定下一条指令的物理地址计算机通过计算机通过CS : IP寄存器来取指,从而控制指令序列的执行流程寄存器来取指,从而控制指令序列的执行流程IP寄存器是一个专用寄存器,寄存器是一个专用寄存器,用户不能直接访问用户

14、不能直接访问。指令指针寄存器指令指针寄存器IPIP(Instruction pointerInstruction pointer)CS(code segment) 16位代码段寄存器位代码段寄存器;DS(data segment) 16位数据段寄存器位数据段寄存器;ES(extra segment) 16位附加段寄存器;位附加段寄存器;SS(stack segment) 16位堆栈段寄存器。位堆栈段寄存器。4个段地址寄存器(个段地址寄存器( Segment register )IP指向下一次要取出的指令地址。在目标程序运行时,指向下一次要取出的指令地址。在目标程序运行时,IP的内容由微处理器硬

15、件自动设置,程序不能直接访问的内容由微处理器硬件自动设置,程序不能直接访问IP,但一,但一些指令却可改变些指令却可改变IP的值,如转移指令、子程序调用指令等。的值,如转移指令、子程序调用指令等。实模式存储器寻址时物理地址的计算方法实模式存储器寻址时物理地址的计算方法OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0控制控制反映结果状态反映结果状态反应运算过程反应运算过程/结果结果标志寄存器标志寄存器FR (Flag register)、FLAGS、PSW (program status word)标志(标志(Flag)用于反映指令执行结果或控制指令执行形式。)用于反映指

16、令执行结果或控制指令执行形式。8086处理器中各种常用的标志形成了一个处理器中各种常用的标志形成了一个16位的标志寄存器位的标志寄存器FLAGS(也称程序状态字(也称程序状态字PSW寄存器)。寄存器)。标志的作用标志的作用 反映了当前运算和操作结果的状态条件,可作为控制程序转移与否的依据。反映了当前运算和操作结果的状态条件,可作为控制程序转移与否的依据。标志分成两类:标志分成两类:状态标志状态标志:OF CF SF ZF PF AF 用户根据需要用指令进行设置,用于控制处理器的具体工作方式。用户根据需要用指令进行设置,用于控制处理器的具体工作方式。记录程序运行结果的状态信息,许多指令的执行都将

17、自动地改变它。记录程序运行结果的状态信息,许多指令的执行都将自动地改变它。控制标志控制标志:DF IF TF(系统标志)(系统标志)溢出标志溢出标志OF(Overflow Flag)若算术运算的结果有溢出,则若算术运算的结果有溢出,则OF=1;否则;否则 OF0。例如:例如:3AH + 7CH产生溢出:产生溢出:OF=1AAH + 7CH没有溢出:没有溢出:OF=0问题:问题:什么是溢出?什么是溢出?溢出和进位有什么区别?溢出和进位有什么区别?处理器怎么处理,程序员如何运用?处理器怎么处理,程序员如何运用?如何判断是否溢出?如何判断是否溢出?B6H(设字长为设字长为8位位!)数的表示范围数的表

18、示范围:带符号数带符号数字节运算字节运算:-128+127字运算字运算:无符号数无符号数-32768+32767字节运算字节运算:0+255字运算字运算:0+6553526H00111010B10110110B01111100B+=10101010B+01111100B1 00100110B进位,丢掉 十进制 二进制 十六进制 十进制 十六进制 n=8 n=16 +127 0111 1111 7F +32767 7FFF +126 0111 1110 7E +32766 7FFE . . . +2 0000 0010 02 +2 0002 +1 0000 0001 01 +1 0001 0 0

19、000 0000 00 0 0000 -1 1111 1111 FF -1 FFFF -2 1111 1110 FE -2 FFFE . . .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -32768 8000n位二进制补码的表示数范围:位二进制补码的表示数范围: - 2n-1 N 2n-1-1无符号整数的表示数范围:无符号整数的表示数范围: 0 N 2n-1 符号标志符号标志SF(Sign Flag)运算结果最高位为运算结果最高位为1,则,则SF=1;否则;否则SF=0。例如:例如:3

20、AH + 7CHB6H最高位最高位D71:SF=184H + 7CH00H最高位最高位D70:SF=0 有符号数利用最高有效位有符号数利用最高有效位(MSB)()(Most Significant Bit)来表示它来表示它的符号。所以,运算结果的的符号。所以,运算结果的MSB与符号标志与符号标志SF相一致。相一致。进位标志进位标志CF(Carry Flag) 当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置志置1,即,即CF = 1;否则;否则 CF=0。例如(以例如(以8位运算为例):位运算为例):3AH + 7CH

21、没有进位:没有进位:CF=0AAH + 7CH有进位:有进位:CF=100111010B10110110B01111100B+=B6H10101010B+01111100B1 00100110B26H奇偶标志奇偶标志PF(Parity Flag)当运算结果低字节中当运算结果低字节中“1”的个数为零或偶数时,的个数为零或偶数时,PF=1;否则;否则PF=0(奇校验奇校验)。例如:例如:3AH + 7CHB6H10110110B,结果中有结果中有5个个1,是奇数,则,是奇数,则 PF=0PF仅反映低仅反映低8位中位中“1”的个数是偶或奇,即使是进行的个数是偶或奇,即使是进行16位字操作。位字操作。

22、注意:注意:零标志位零标志位ZF(zero Flag)若算术运算的结果为若算术运算的结果为0,则,则ZF=1;否则;否则 ZF0。例如:例如:3AH + (-3AH)0结果为结果为0:ZF=1AAH + 7CH结果非结果非0:ZF=010101010B+01111100B1 00100110B进位,丢掉26H辅助进位标志辅助进位标志AF(Auxiliary :gziljri Carry Flag)运算时运算时D3位(低半字节)有进位或借位时,位(低半字节)有进位或借位时,AF=1;否则;否则AF=0。例如:例如:3AH + 7CHB6HD3向前有进位:向前有进位:AF=1用于十进制算术运算的调

23、整,用户一般不必关心。用于十进制算术运算的调整,用户一般不必关心。方向标志方向标志DF(Direction Flag)用于串操作指令中,控制地址的变化方向:用于串操作指令中,控制地址的变化方向:设置设置DF0,串操作后存储器地址自动增量(增址),串操作后存储器地址自动增量(增址) ;设置设置DF1,串操作后存储器地址自动减量(减址),串操作后存储器地址自动减量(减址) 。STD 指令置位方向标志:指令置位方向标志:DF1CLD 指令复位方向标志:指令复位方向标志:DF000111010B10110110B01111100B+=中断允许标志中断允许标志IF(Interrupt-enable Fl

24、ag)用于控制外部可屏蔽中断是否可以被处理器响应:用于控制外部可屏蔽中断是否可以被处理器响应:设置设置IF1,则允许中断;,则允许中断;设置设置IF0,则禁止中断。,则禁止中断。CLI 指令复位中断标志:指令复位中断标志:IF0STI 指令置位中断标志:指令置位中断标志:IF1陷阱标志陷阱标志TF(Trap Flag)用于控制处理器是否进入用于控制处理器是否进入单步执行单步执行方式:方式:设置设置TF0,处理器正常工作;,处理器正常工作;设置设置TF1,处理器每执行一条指令就中断一次,中断编号为,处理器每执行一条指令就中断一次,中断编号为 1 (称(称单步单步中断)中断) TF 也被称为也被称

25、为单步标志。单步标志。单步执行单步执行和和单步调试单步调试这种逐条指令调试程序的方法就是这种逐条指令调试程序的方法就是单步调试单步调试。利用单步中断可对程序进行逐条指令的调试。利用单步中断可对程序进行逐条指令的调试。无符号数:无符号数:51015CF=0有符号数:有符号数:(+5 ) (+10 ) 15OF=00000010100001010+00001111无符号数:无符号数:82513CF=1有符号数:有符号数:OF=00000100011111011+000000111(+8 ) (-5) 3无符号数:无符号数:8124132CF=0有符号数:有符号数:(+8 ) (+124 ) -124OF=1无符号数:无符号数:135245124有符号数:有符号数:OF=1CF=1(-121 ) (-11) 1240000100001111100+10000100100001111111

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论