第3章80X86微处理器及其体系结构 本章主要教学内容 8086微处理器的基本性能指标、组成及其寄存器结构 8086微处理器的外部引脚特性 8086微处理器的存储器和IO组织 令8086的时钟和总线概念及其最小最大工作方式 令80286、80386、80486等高档微处理器 教学目的:使学生掌握80X86微处理器的基本使用 教学重点:8086微处理器的组成及其寄存器结构:808 微处理器的存储器和IO组织 教学难点:8086微处理器的存储器和O组织
1 第3章 80X86微处理器及其体系结构 本章主要教学内容 v 8086微处理器的基本性能指标、组成及其寄存器结构 v 8086微处理器的外部引脚特性 v 8086微处理器的存储器和I/O组织 v 8086的时钟和总线概念及其最小/最大工作方式 v 80286、80386、80486等高档微处理器 教学目的:使学生掌握80X86微处理器的基本使用 教学重点:8086微处理器的组成及其寄存器结构; 8086 微处理器的存储器和I/O组织 教学难点:8086微处理器的存储器和I/O组织
318086微处理器的内部结构 微型计算机是由具有不同功能的一些部件组成的,包含运 算器和控制器电路的大规模集成电路,称为“微处理器”又 称 “中央处理器(CPU)”,其职能是执行算术/逻辑运算并 负责 控制整个计算机系统,使之能自动协调地完成各种操作 3.1.1基本性能指标 16位微处理器; 采用高速运算性能的HMOS工艺制造,芯片上集成了29万 只晶体管; 使用单一的+5V电源,40条引脚双列直插式封装::/4 °时钟频率为MHz10MHz,基本指令执行时间为3s-06is 16根数据线和20根地址线,可寻址的地址空间达MB 8086可以和浮点运算器、IO处理器或其他处理器组成多处 理器系统,从而极大地提高了系统的数据吞吐能力和数据处ˇ
2 3.1 8086微处理器的内部结构 微型计算机是由具有不同功能的一些部件组成的,包含运 算器和控制器电路的大规模集成电路,称为“微处理器” ,又 称 “中央处理器(CPU)” ,其职能是执行算术/逻辑运算,并 负责 控制整个计算机系统,使之能自动协调地完成各种操作。 3.1.1 基本性能指标 v 16位微处理器; v 采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万 只晶体管; v 使用单一的+5V电源,40条引脚双列直插式封装; v 时钟频率为5MHz~10MHz,基本指令执行时间为.3ms~0.6ms v 16根数据线和20根地址线,可寻址的地址空间达1MB v 8086可以和浮点运算器、I/O处理器或其他处理器组成多处 理器系统,从而极大地提高了系统的数据吞吐能力和数据处 理能力
3.128086微处理器内部结构组成 H AL 地址加法器/∑ CX CHCL DX DH DL 8086 ALU数据总线(16位) 总线控制逻 总线 寄存器 指令队列 控制电路 中2456 状态标志寄存器 执行部件EU 总线接口部件BIU 图3-18086CPU内部结构框图
3 3.1.2 8086微处理器内部结构组成 总 线 控 制 逻 辑 8086 总线 执行部件 EU 总线接口部件 BIU 状态标志寄存器 AH ∑ BL CL DL BH CH DH AX BX CX DX SP BP SI DI ALU 数据总线(16 位) 暂存器 ALU 控制电路 1 2 3 4 5 6 CS DS SS ES 内部通信 寄存器 IP 地址加法器 指令队列 AL 图3-1 8086CPU内部结构框图
1.执行部件EU 执行部件中包含一个16位的算术逻辑单元(ALU 个16位的通用寄存器,一个16位的状态标志寄存器 数 据暂存寄存器和执行部件的控制电路 功能:从BIU的指令队列中取出指令代码,经指令译杩 器译码后执行指令所规定的全部功能。执行指令所得结果或 执行指令所需的数据,都由EU向BIU发出命令,对存储器 或IO接口进行读/写操作。 2.总线接口部件BIU 总线接口部件BU内部设有四个16位段地址寄荐器?代 码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加 段寄存器ES,一个16位指令指针寄存器IP,一个6字节指 队列缓冲器,20位地址加法器和总线控制电路 主要功能:根据执行部件EU的请求,负责完成CP与A 存储器或IO设备之间的数据传送
4 1.执行部件EU 执行部件中包含一个16位的算术逻辑单元(ALU),8 个16位的通用寄存器,一个16位的状态标志寄存器,一个数 据暂存寄存器和执行部件的控制电路。 功能:从BIU的指令队列中取出指令代码,经指令译码 器译码后执行指令所规定的全部功能。执行指令所得结果或 执行指令所需的数据,都由EU向BIU发出命令,对存储器 或I/O接口进行读/写操作。 2.总线接口部件BIU 总线接口部件BIU内部设有四个16位段地址寄存器:代 码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加 段寄存器ES,一个16位指令指针寄存器IP,一个6字节指令 队列缓冲器,20位地址加法器和总线控制电路。 主要功能:根据执行部件EU的请求,负责完成CPU与 存储器或I/O设备之间的数据传送
MPU等待取指1执行1等待取指2执行2等待取指3执行3 线忙 闲 忙 闲 忙 闲 传统微处理器的指令执行过程 BU取指1取指2取指3取指4取指5取指6 EU 执行1执行2执行3执行4执行5执行6 总线匚忙」忙」忙」忙」忙」忙 8086CPU的指令执行过程
5 MPU 等待取指1 执行1 等待取指2 执行2 等待取指3 执行3 总线 忙 闲 忙 闲 忙 闲 传统微处理器的指令执行过程 取指1 取指2 取指3 取指4 取指5 取指6 EU 总线 执行1 执行2 执行3 执行4 执行5 执行6 忙 忙 忙 忙 忙 忙 BIU 8086CPU的指令执行过程
3138086CPU的寄存器结构 8086CPU中可供编程使用的有14个16位寄存器,按其用 途可分为3类:通用寄存器、段寄存器、指针和标志寄存器, 如所示。 AH AL 累加器 BH BL 基址寄存器 CH 计数寄存器 数据寄存器 DH DL 数据寄存器 通用寄存器 SP 堆栈指针寄存器 BP 基址指针寄存器地址指针和 源变址寄存器 变址寄存器 目的变址寄存器 IP FLAGS 指令指针寄存器控制寄存器 标志寄存器 代码段寄存器 DS 数据段寄存器 堆栈段寄存器「段寄存器 ES 附加段寄存器 8086CPU内部寄存器结构
6 3.1.3 8086CPU的寄存器结构 8086CPU中可供编程使用的有14个16位寄存器,按其用 途可分为3类:通用寄存器、段寄存器、指针和标志寄存器, 如所示。 AH AL 累加器 BH BL CL DH DL CH SP SI DI IP FLAGS CS DS SS ES BP 基址寄存器 计数寄存器 数据寄存器 堆栈指针寄存器 基址指针寄存器 源变址寄存器 目的变址寄存器 指令指针寄存器 标志寄存器 代码段寄存器 段寄存器 附加段寄存器 堆栈段寄存器 数据寄存器 地址指针和 变址寄存器 控制寄存器 通用寄存器 数据段寄存器 8086CPU内部寄存器结构
通用寄存器 通用寄存器分为数据寄存器与指针和变址寄存器两组 数据寄存器包括4个16位的寄存器AX、BX、CX和DX, 般用来存放16位数据,故称为数据寄存器。其中的每一个又 可根据需要将高8位和低8位分成独立的两个8位寄存器来使 用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8 位数据,它们均可独立寻址、独立使用。 指针和变址寄存器包括指针寄存器SP、BP和变址寄存器 SI、DI,都是16位寄存器, 般用来存放地址的偏移量 这8个16位通用寄存器都具有通用性,从而提高了指令 系统的灵活性。但在有些指令中,这些通用寄存器还各自有 特定的用法,见下表
7 1.通用寄存器 通用寄存器分为数据寄存器与指针和变址寄存器两组。 数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一 般用来存放16位数据,故称为数据寄存器。其中的每一个又 可根据需要将高8位和低8位分成独立的两个8位寄存器来使 用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8 位数据,它们均可独立寻址、独立使用。 指针和变址寄存器包括指针寄存器SP、BP和变址寄存器 SI、DI,都是16位寄存器, ,一般用来存放地址的偏移量。 这8个16位通用寄存器都具有通用性,从而提高了指令 系统的灵活性。但在有些指令中,这些通用寄存器还各自有 特定的用法 ,见下表
表3.1通用寄存器的特定用法 寄存 操作 寄存器 操作 AX字乘,字除,字IO 变量移位,循 环移位 AL 字节乘,字节除,字节IO,查表转 字乘,字除, 换,十进制运算 DX 间接I/O AH字节乘,字节除 SP 堆栈操作 BX查表转换 SI 数据串操作指 CⅩ数据串操作指令,循环指令 数据串操作指 令
8 表3.1 通用寄存器的特定用法 寄存 器 操作 寄存器 操作 AX 字乘,字除,字I/O CL 变量移位,循 环移位 AL 字节乘,字节除,字节I/O,查表转 换,十进制运算 DX 字乘,字除, 间接I/O AH 字节乘,字节除 SP 堆栈操作 BX 查表转换 SI 数据串操作指 令 CX 数据串操作指令,循环指令 DI 数据串操作指 令
2.控制寄存器 指令指针寄存器P:是一个6位的寄存器,存放EU要热 行的下一条指令的偏移地址,用以控制程序中指令的执行 顺序,实现对代码段指令的跟踪。 标志寄存器E:是一个16位的寄存器,共9个标志,其中 个用作状态标志,3个用作控制标志 o (1)状态标志:状态标志用来反映EU执行算术和逻辑运算 以后的结果特征。 CF:进位标志;P:奇偶标志:AF:辅助进位标念y ZF:零标志:SF:符号标志:OF:溢出标志
9 2.控制寄存器 指令指针寄存器IP :是一个16位的寄存器,存放EU要执 行的下一条指令的偏移地址,用以控制程序中指令的执行 顺序,实现对代码段指令的跟踪 。 标志寄存器F :是一个16位的寄存器,共9个标志,其中6 个用作状态标志,3个用作控制标志。 (1)状态标志:状态标志用来反映EU执行算术和逻辑运算 以后的结果特征。 CF:进位标志 ;PF:奇偶标志 ;AF:辅助进位标志 ZF:零标志 ;SF:符号标志 ;OF:溢出标志
2)控制标志:控制标志是用来控制CPU的工作方式或工 作状态。 TF:陷阱标志或单步操作标志:IF:中断允许标志 DF:方向标志 3.段寄存器 8086CPU共有4个16位的段寄存器,用来存放每一个逻 辑段的段起始地址 1)代码段寄存器CS (2)数据段寄存器DS (3)堆栈段寄存器SS (4)附加段寄存器ES
10 (2)控制标志 :控制标志是用来控制CPU的工作方式或工 作状态 。 TF:陷阱标志或单步操作标志 :IF:中断允许标志 DF:方向标志 3.段寄存器 8086CPU共有4个16位的段寄存器,用来存放每一个逻 辑段的段起始地址。 (1)代码段寄存器CS (2)数据段寄存器DS (3)堆栈段寄存器SS (4)附加段寄存器ES