版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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的内部基本相同,但它们的外部性的内部基本相同,但它们的外部性 能是有区别的。能是有区别的
2、。8086是是16位数据总线,而位数据总线,而8088是是8 位数据总线位数据总线,在处理一个,在处理一个16位数据字时,位数据字时,8088需要需要 两步操作而两步操作而8086只需要一步。只需要一步。 8086和和8088 CPU的的内部都采用内部都采用16位字进行操作位字进行操作及存及存 储器寻址,两者的软件完全兼容,程序的执行也完储器寻址,两者的软件完全兼容,程序的执行也完 全相同。然而,由于全相同。然而,由于8088要比要比8086有较多的外部存有较多的外部存 取操作,所以,对相同的程序,它将执行得较慢。取操作,所以,对相同的程序,它将执行得较慢。 这两种微处理器都封装在相同的这两种
3、微处理器都封装在相同的40脚双列直插组件脚双列直插组件 (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
5、标志寄存器标志寄存器 AH AL BH BL CH CL DH DL SP 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 输入/输出 控制电路 外部外部 总线总线 指令队列缓冲器指令队列缓
6、冲器 地址加法器 20位 16位 8位 16位 ALU 执行部件执行部件EUEU 总线接口部件总线接口部件BIUBIU 通用通用 寄存器寄存器 返回本节 8086的内部结构的内部结构 1. 执行部件执行部件EU EU的组成的组成 算术逻辑运算单元算术逻辑运算单元ALU(Arithmeticrimtik Logical Unit) 它包括它包括4 4个个1616位的数据寄存器位的数据寄存器AXAX、BXBX、CXCX、DXDX和和4 4个个1616位指针与变址位指针与变址 寄存器寄存器SPSP、BPBP与与SISI、DIDI。 1个个16位的寄存器,用来反映位的寄存器,用来反映CPU运算的状态特
7、征和存放某些控制标志。运算的状态特征和存放某些控制标志。 数据暂存寄存器数据暂存寄存器 它负责从它负责从BIU的指令队列缓冲器中取指令,并对指令译码,根据指令要的指令队列缓冲器中取指令,并对指令译码,根据指令要 求向求向EU内部各部件发出控制命令,以完成各条指令规定的功能。内部各部件发出控制命令,以完成各条指令规定的功能。 它是它是1个个16位的运算器,可用于位的运算器,可用于8位、位、16位二进制算术和逻辑运算,位二进制算术和逻辑运算, 也可按指令的寻址方式计算寻址存储器所需的也可按指令的寻址方式计算寻址存储器所需的16位偏移量。位偏移量。 通用寄存器组通用寄存器组(General regi
8、ster ) 标志寄存器标志寄存器FR(Flag Register) 它协助它协助ALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。 EU控制电路控制电路 返回返回 2. 总线接口部件总线接口部件 BIU的组成的组成 总线接口单元总线接口单元BIUBIU由由1 1个个2020位地址加法器、位地址加法器、4 4个个1616位段寄存器、位段寄存器、1 1个个1616位位 指令指针指令指针IPIP、指令队列缓冲器和总线控制逻辑电路等组成。、指令队列缓冲器和总线控制逻辑电路等组成。80868086的指令队的指令队 列由列由6 6个字节构成,个字节构成,8088的指令队列由的指令队列由4
9、个字节构成。个字节构成。 地址加法器将地址加法器将16位的段寄存器内容左移位的段寄存器内容左移4位,与位,与16位偏移地址相加,位偏移地址相加, 形成形成20位的物理地址。位的物理地址。 指令指针指令指针IPIP用来存放下一条要执行指令在代码段中的偏移地址。用来存放下一条要执行指令在代码段中的偏移地址。 当当EUEU正在执行指令且不需占用总线时,正在执行指令且不需占用总线时,BIUBIU会自动地进行预取指令操会自动地进行预取指令操 作,将所取得的指令按先后次序存入作,将所取得的指令按先后次序存入1 1个个6 6字节的指令队列寄存器,该队字节的指令队列寄存器,该队 列寄存器按列寄存器按“先进先出
10、先进先出”的方式工作,并按顺序取到的方式工作,并按顺序取到EUEU中执行。中执行。 总线控制逻辑电路总线控制逻辑电路 地址加法器(地址加法器(Address adder)和段寄存器(和段寄存器( Segment register ) 16位指令指针位指令指针IP(Instruction pointer) 指令队列(指令队列(Instruction queue)缓冲器缓冲器 返回返回 将内部总线和外部总线相连将内部总线和外部总线相连 8086 CPU8086 CPU内部寄存器如图内部寄存器如图2.22.2所示。所示。 (General register ) 2.1.2 8086CPU寄存器结构寄
11、存器结构 控制寄存器控制寄存器 数据寄存器数据寄存器 数据寄存器用来存放计算的结果和操作数数据寄存器用来存放计算的结果和操作数 每个寄存器又有它们各自的专用目的:每个寄存器又有它们各自的专用目的: AX: 基址寄存器,常用来做基址指针,指向一批连续存放操作数的基地址。基址寄存器,常用来做基址指针,指向一批连续存放操作数的基地址。 计数器计数器(counter),作为循环和串操作等指令中的隐含计数器。,作为循环和串操作等指令中的隐含计数器。 DX:数据寄存器,用来存放外设端口的地址,或双字长数据的高数据寄存器,用来存放外设端口的地址,或双字长数据的高16位。位。 CX: BX: 16位累加器,用
12、于算术、逻辑运算以及与外设传送信息等;位累加器,用于算术、逻辑运算以及与外设传送信息等; AL: 8位累加器位累加器(accumulator)。 变址寄存器变址寄存器 变址寄存器常用于存储器寻址时变址寄存器常用于存储器寻址时,提供内存的偏移地址提供内存的偏移地址 SI是源变址寄存器是源变址寄存器(source index) DI是目的变址寄存器是目的变址寄存器(destination index) 在串操作类指令中,在串操作类指令中,SI和和DI具有特别的功能具有特别的功能 指针寄存器指针寄存器 指针寄存器用于寻址内存指针寄存器用于寻址内存堆栈堆栈内的数据内的数据 SP(栈顶指针栈顶指针)(s
13、tack pointer)为堆栈指针寄存器,指示栈顶的偏移地为堆栈指针寄存器,指示栈顶的偏移地 址。址。SP不能再用于其他目的,具有专用性不能再用于其他目的,具有专用性 BP(base pointer)为基址指针寄存器,表示数据在堆栈段中的基地址为基址指针寄存器,表示数据在堆栈段中的基地址 SP/BP寄存器与寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址段寄存器联合使用以确定堆栈段中的存储单元地址 指令指针寄存器指令指针寄存器IP (Instruction pointer) 指令指针寄存器指令指针寄存器IP,指示代码段中指令的偏移地址,指示代码段中指令的偏移地址 它与代码段寄存器它与
14、代码段寄存器CS联用,确定下一条指令的物理地址联用,确定下一条指令的物理地址 计算机通过计算机通过CS : IP寄存器来取指,从而控制指令序列的执行流程寄存器来取指,从而控制指令序列的执行流程 IP寄存器是一个专用寄存器,寄存器是一个专用寄存器,用户不能直接访问用户不能直接访问。 指令指针寄存器指令指针寄存器IPIP(Instruction pointerInstruction pointer) CS(code segment) 16位代码段寄存器位代码段寄存器; DS(data segment) 16位数据段寄存器位数据段寄存器; ES(extra segment) 16位附加段寄存器;位附
15、加段寄存器; SS(stack segment) 16位堆栈段寄存器。位堆栈段寄存器。 4个段地址寄存器(个段地址寄存器( Segment register ) IP指向下一次要取出的指令地址。指向下一次要取出的指令地址。在目标程序运行时,在目标程序运行时,IP 的内容由微处理器硬件自动设置,程序不能直接访问的内容由微处理器硬件自动设置,程序不能直接访问IP,但一,但一 些指令却可改变些指令却可改变IP的值,如转移指令、子程序调用指令等。的值,如转移指令、子程序调用指令等。 实模式存储器寻址时物理地址的计算方法实模式存储器寻址时物理地址的计算方法 OF 1115 12 DF 10 IF 9 T
16、F 8 SF 7 ZF 65 AF 43 PF 21 CF 0 控制控制 反映结果状态反映结果状态反应运算过程反应运算过程/结果结果 标志寄存器标志寄存器FR (Flag register)、FLAGS、PSW (program status word) 标志标志(Flag)用于反映指令执行结果或控制指令执行形式。)用于反映指令执行结果或控制指令执行形式。 8086处理器中各种常用的标志形成了一个处理器中各种常用的标志形成了一个16位的标志寄存器位的标志寄存器FLAGS (也称程序状态字(也称程序状态字PSW寄存器寄存器)。)。 标志的作用标志的作用 反映了当前运算和操作结果的状态条件,可作为
17、控制程序转移与否的依据。反映了当前运算和操作结果的状态条件,可作为控制程序转移与否的依据。 标志分成两类:标志分成两类: 状态标志状态标志: OF CF SF ZF PF AF 用户根据需要用指令进行设置,用于控制处理器的具体工作方式。用户根据需要用指令进行设置,用于控制处理器的具体工作方式。 记录程序运行结果的状态信息,许多指令的执行都将自动地改变它。记录程序运行结果的状态信息,许多指令的执行都将自动地改变它。 控制标志控制标志: DF IF TF(系统标志)(系统标志) 溢出标志溢出标志OF(Overflow Flag) 若算术运算的结果有溢出,则若算术运算的结果有溢出,则OF=1;否则;
18、否则 OF0。 例如:例如: 3AH + 7CH 产生溢出:产生溢出:OF=1 AAH + 7CH没有溢出:没有溢出:OF=0 问题:问题: 什么是溢出?什么是溢出? 溢出和进位有什么区别?溢出和进位有什么区别? 处理器怎么处理,程序员如何运用?处理器怎么处理,程序员如何运用? 如何判断是否溢出?如何判断是否溢出? B6H(设字长为设字长为8位位!) 数的表示范围数的表示范围: 带符号数带符号数 字节运算字节运算:-128+127 字运算字运算: 无符号数无符号数 -32768+32767 字节运算字节运算:0+255 字运算字运算:0+65535 26H 00111010B 10110110
19、B 01111100B + = 10101010B +01111100B 1 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 0000 0000 00 0 0000 -1 1111 1111 FF -1 FFFF -2 1111 1110 FE -2 FFFE . . . -126 1000 0010 82 -32766
20、 8002 -127 1000 0001 81 -32767 8001 -128 1000 0000 80 -32768 8000 n位二进制补码的表示数范围:位二进制补码的表示数范围: - 2n-1 N 2n-1-1 无符号整数的表示数范围:无符号整数的表示数范围: 0 N 2n-1 符号标志符号标志SF(Sign Flag) 运算结果最高位为运算结果最高位为1,则,则SF=1;否则;否则SF=0。 例如:例如:3AH + 7CHB6H最高位最高位D71:SF=1 84H + 7CH00H最高位最高位D70:SF=0 有符号数利用最高有效位有符号数利用最高有效位(MSB)()(Most Si
21、gnificant Bit)来表示它来表示它 的符号。所以,运算结果的的符号。所以,运算结果的MSB与符号标志与符号标志SF相一致。相一致。 进位标志进位标志CF(Carry Flag) 当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标 志置志置1,即,即CF = 1;否则;否则 CF=0。 例如(以例如(以8位运算为例):位运算为例): 3AH + 7CH 没有进位:没有进位:CF=0 AAH + 7CH 有进位:有进位:CF=1 00111010B 10110110B 01111100B + =B6H 10101010
22、B +01111100B 1 00100110B 26H 奇偶标志奇偶标志PF(Parity Flag) 当运算结果低字节中当运算结果低字节中“1”的个数为零或偶数时,的个数为零或偶数时,PF=1;否则;否则PF=0(奇校验奇校验)。 例如:例如: 3AH + 7CHB6H10110110B, 结果中有结果中有5个个1,是奇数,则是奇数,则 PF=0 PF仅反映低仅反映低8位中位中“1”的个数是偶或奇,即使是进行的个数是偶或奇,即使是进行16位字操作。位字操作。 注意:注意: 零标志位零标志位ZF(zero Flag) 若算术运算的结果为若算术运算的结果为0,则,则ZF=1;否则;否则 ZF0
23、。 例如:例如: 3AH + (-3AH)0结果为结果为0:ZF=1 AAH + 7CH 结果非结果非0:ZF=0 10101010B +01111100B 1 00100110B 进位,丢掉 26H 辅助进位标志辅助进位标志AF(Auxiliary :gziljri Carry Flag) 运算时运算时D3位(低半字节)有进位或借位时,位(低半字节)有进位或借位时,AF=1;否则;否则AF=0。 例如:例如: 3AH + 7CHB6HD3向前有进位:向前有进位:AF=1 用于十进制算术运算的调整,用户一般不必关心。用于十进制算术运算的调整,用户一般不必关心。 方向标志方向标志DF(Direc
24、tion Flag) 用于串操作指令中,控制地址的变化方向:用于串操作指令中,控制地址的变化方向: 设置设置DF0,串操作后存储器地址自动增量(增址),串操作后存储器地址自动增量(增址) ; 设置设置DF1,串操作后存储器地址自动减量(减址),串操作后存储器地址自动减量(减址) 。 STD 指令置位方向标志:指令置位方向标志:DF1 CLD 指令复位方向标志:指令复位方向标志:DF0 00111010B 10110110B 01111100B + = 中断允许标志中断允许标志IF(Interrupt-enable Flag) 用于控制外部可屏蔽中断是否可以被处理器响应:用于控制外部可屏蔽中断是
25、否可以被处理器响应: 设置设置IF1,则允许中断;,则允许中断; 设置设置IF0,则禁止中断。,则禁止中断。CLI 指令复位中断标志:指令复位中断标志:IF0 STI 指令置位中断标志:指令置位中断标志:IF1 陷阱标志陷阱标志TF(Trap Flag) 用于控制处理器是否进入用于控制处理器是否进入单步执行单步执行方式:方式: 设置设置TF0,处理器正常工作;,处理器正常工作; 设置设置TF1,处理器每执行一条指令就中断一次,中断编号为,处理器每执行一条指令就中断一次,中断编号为 1 (称(称单步单步 中断)中断) TF 也被称为也被称为单步标志。单步标志。 单步执行单步执行和和单步调试单步调
26、试 这种逐条指令调试程序的方法就是这种逐条指令调试程序的方法就是单步调试单步调试。 利用单步中断可对程序进行逐条指令的调试。利用单步中断可对程序进行逐条指令的调试。 无符号数:无符号数:51015CF=0 有符号数:有符号数:(+5 ) (+10 ) 15OF=0 00000101 00001010+ 00001111 无符号数:无符号数:82513CF=1 有符号数:有符号数: OF=0 00001000 11111011+ 000000111 (+8 ) (-5) 3 无符号数:无符号数:8124132CF=0 有符号数:有符号数:(+8 ) (+124 ) -124OF=1 无符号数:无符号数:135245124 有符号数:有符号数: OF=1 CF=1 (-121 ) (-11) 124 00001000 01111100+ 10000100 10000111 11110101+ 011111001 CF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年床上用品品牌代理合同
- 2024医院药品零售许可合同
- 2024年建筑合同纠纷预防及处理办法
- 2024年度IT企业软件许可使用合同
- 2024年度搬厂工程机械设备租赁合同
- 2024年度委托加工合同:甲乙双方在二零二四年就某产品委托加工的详细条款
- 2024年度量子科技实验室建设安装工程分包合同
- 2024年度智能停车安防监控系统安装合同
- 2024展厅装饰装修合同范文
- 2024年商标许可使用合同商标范围
- 一手试题烘焙面销培训
- 初中语文人教七年级下册冉玥《驿路梨花》微课教案设计
- 中国农业科学院科研道德规范
- 认识计算机系统的组成
- 人教版版中国历史八年级上册知识点归纳梳理
- 国家职业技术技能标准 3-02-03-01 消防员(2022年版)
- GB/T 36242-2018燃气流量计体积修正仪
- GB/T 2818-2014井用潜水异步电动机
- 5 汪曾祺《跑警报》.电子教案教学课件
- 叙事疗法课件
- 国家开放大学电大《计算机应用基础(本)》终结性考试试题答案(格式已排好)任务一
评论
0/150
提交评论