第2章8086系统结构 8086cPU的基本性能指标: (1)16位微处理器; 2)采用高速运算性能的HMOS工艺制造,芯片上集成了2.9 万只晶体管 (3)使用单一的+5V电源,40条引脚双列直插式封装(DIP) (4)时钟频率为5MHz10MHz,基本指令执行时间为 0.3uS0.6us 5)16根数据线和20根地址线,可寻址的地址空间达1MB 6)8086可以和浮点运算器、输入/输出处理器或其他处理器 组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数 据处理能力
8086CPU的基本性能指标: (1)16位微处理器; (2)采用高速运算性能的HMOS工艺制造,芯片上集成了2.9 万只晶体管; (3)使用单一的+5V电源,40条引脚双列直插式封装(DIP); (4)时钟频率为5MHz~10MHz,基本指令执行时间为 0.3ms~0.6ms (5)16根数据线和20根地址线,可寻址的地址空间达1MB (6)8086可以和浮点运算器、输入/输出处理器或其他处理器 组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数 据处理能力。 第2章 8086系统结构
2-18086cPU的结构 8086是 Intel系列的16位微处理器,采用HMOS工艺,内部包 含29000个晶体管。同时, Intell推出了准16位微处理器8088 (内部总线16位,外部总线8位)。主要用于兼容当时的外围接 口芯片。 8086CPU内部结构框图如下页图所示。从图中可以看出, 8086CPU有两部分组成,指令执行部件EU和总线接口部件BIU
8086是Intel系列的16位微处理器,采用HMOS工艺,内部包 含29000个晶体管。同时, Intel还推出了准16位微处理器8088 (内部总线16位,外部总线8位)。主要用于兼容当时的外围接 口芯片。 8086CPU内部结构框图如下页图所示。从图中可以看出, 8086CPU有两部分组成,指令执行部件EU和总线接口部件BIU。 2-1 8086CPU的结构
AH ALAX 地址总线 20位 BHBL BX 通用寄存器 CH CI CX 数据总线 DH DLDX段寄存器 8088:8位 CS 8086:16 位 SP DS BP DI ES 指令指针 IP 总线控 AU数据总线(16位) i内部暂存器 制逻辑 外部 运算寄存器 指令队列 总线 EU控Q总线 制系统 (8位) 123456 8088 匚标志寄存器卜 8086 执行单元EU 总线接口单元BIU 图2118086CPU内部结构框图
外部 总线 AH AL BH BL CH CL DH DL SP BP DI SI 通 用 寄 存 器 AX BX CX DX ALU数据总线(16位) 运算寄存器 ALU 标志寄存器 EU 控 制系统 ∑ CS DS SS ES IP 内部暂存器 1 2 3 4 5 6 数据总线 8088:8位 8086:16位 总线 控 制逻辑 地址总线 20位 指令队列 8088 8086 Q总线 (8位) 指令指针 段寄存器 执行单元EU 总线接口单元BIU 图2.1.1 8086CPU内部结构框图
8086CPU的内部结构 8086CPU有两部分组成,指令执行部件EU和总线接口部件BIU 1.总线接口部件BIU( Bus Interface Unit) 功能:总线接口部件BIU是CPU与外部(存储器和ⅣO口)的接口, 它提供了16位双向数据总线和20位地址总线,完成所有的外部总 线操作。具有地址形成、取指令、指令排队、读写操作数、总线 控制等功能。 组成:4个16位段地址寄存器(CS、DS、FS、SS) 16位指令指针寄存器IP 20位物理地址加法器 6字节指令队列 总线控制器
一、8086CPU的内部结构 8086CPU有两部分组成,指令执行部件EU和总线接口部件BIU。 1. 总线接口部件BIU(Bus Interface Unit) 功能: 总线接口部件BIU是CPU与外部(存储器和I/O口)的接口, 它提供了16位双向数据总线和20位地址总线,完成所有的外部总 线操作。具有地址形成、取指令、指令排队、读/写操作数、总线 控制等功能。 组成:4个16位段地址寄存器(CS、DS、ES、SS) 16位指令指针寄存器IP 20位物理地址加法器 6字节指令队列 总线控制器
BIU的特点:8086/8088的指令队列分别为64个字节,在执行 指令的同时,可从内存中取出后续的指令代码,放在指令队列 中,可以提高CPU的工作效率。地址加法器用来产生20位物理 地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部 的寄存器都是16位,因此需要由一个附加的机构来计算出20位 的物理地址,这个机构就是20位的地址加法器。 例如:CS=0FE0OH,IP=0400H,则表示要取指令代码的 物理地址为OFE400H
BIU的特点: 8086/8088的指令队列分别为6/4个字节,在执行 指令的同时,可从内存中取出后续的指令代码,放在指令队列 中,可以提高CPU的工作效率。地址加法器用来产生20位物理 地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部 的寄存器都是16 位,因此需要由一个附加的机构来计算出20位 的物理地址,这个机构就是20位的地址加法器。 例如:CS=0FE00H,IP=0400H,则表示要取指令代码的 物理地址为0FE400H
2.指令执行部件EU( Execution Unit 功能:指令执行部件玑U完成指令译码和指令执行的工作。 组成:算术逻辑单元ALU 标志寄存器PSW 4个16位通用寄存器(AX、BX、CX、DX) 4个16位专用寄存器(BP、SP、SI、D) EU控制器
2. 指令执行部件EU(Execution Unit) 功能:指令执行部件EU完成指令译码和指令执行的工作。 组成:算术逻辑单元ALU 标志寄存器PSW 4个16位通用寄存器(AX、BX、CX、DX) 4个16位专用寄存器(BP、SP、SI、DI) EU控制器
3.BIU与EU的动作协调原则 总线接口部件(BIU)和执行部件(EU)按以下流水线技术 原则协调工作,共同完成所要求的信息处理任务 (1)每当8086的指令队列中有1个空字节时,BIU就会自动把指 令从存储器取到指令队列中。其取指的顺序是按指令在程序中出 现的前后顺序。 (2)每当EU准备执行一条指令时,它会从BIU部件的指令队列 前部取出指令的代码,然后用几个时钟周期去执行指令。在执行 指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会 请求BIU,进入总线周期,完成访问内存或者I/O端口的操作 如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如 BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个 取指令的总线周期,然后再去响应EU发出的访问总线的请求
3. BIU与EU的动作协调原则 总线接口部件(BIU)和执行部件(EU)按以下流水线技术 原则协调工作,共同完成所要求的信息处理任务: (1)每当8086的指令队列中有1个空字节时,BIU就会自动把指 令从存储器取到指令队列中。其取指的顺序是按指令在程序中出 现的前后顺序。 (2)每当EU准备执行一条指令时,它会从BIU部件的指令队列 前部取出指令的代码,然后用几个时钟周期去执行指令。在执行 指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会 请求BIU,进入总线周期,完成访问内存或者I/O端口的操作; 如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如 BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个 取指令的总线周期,然后再去响应EU发出的访问总线的请求
(3)当指令队列已满,且EU又没有总线访问请求时,BU便进 入空闲状态。 (4)在执行转移指令、调用指令和返回指令时,由于待执行指 令的顺序发生了变化,则指令队列中已经装入的字节被自动消除 BIU会接着往指令队列装入转向的另一程序段中的指令代码。 BIU与EU两者的工作是不同步的,8086可以在执行指令的同 时,进行取指令代码的操作,即BU与EU是一种并行工作方式, 改变了以往计算机取指令→译码→执行指令的串行工作方式,大 大提高了工作效率
(3)当指令队列已满,且EU又没有总线访问请求时,BIU便进 入空闲状态。 (4)在执行转移指令、调用指令和返回指令时,由于待执行指 令的顺序发生了变化,则指令队列中已经装入的字节被自动消除, BIU会接着往指令队列装入转向的另一程序段中的指令代码。 BIU与EU两者的工作是不同步的,8086可以在执行指令的同 时,进行取指令代码的操作,即BIU与EU是一种并行工作方式, 改变了以往计算机取指令→译码→执行指令的串行工作方式,大 大提高了工作效率
总结: BIU状态: (1)将指令按序取入指令队列(指令队列中只要有两个以上空, 就取指令); (2)响应EU的总线周期,完成访问存储器、ⅠO口; (3)空闲状态(指令队列不空,也无EU的总线的请求) EU状态: (1)从BIU指令队列前部取出指令,经指令译碼后,执行指令; (2)访问存储器、IO口,向BI提出总线周期申请 (3)BIU指令队列空时,EU处于等待状态
总结: BIU状态: (1)将指令按序取入指令队列(指令队列中只要有两个以上空, 就取指令); (2)响应EU的总线周期,完成访问存储器、I/O口; (3)空闲状态(指令队列不空,也无EU的总线的请求)。 EU状态: (1)从BIU指令队列前部取出指令,经指令译码后,执行指令; (2)访问存储器、I/O口,向BIU提出总线周期申请; (3) BIU指令队列空时,EU处于等待状态
4.80X86CPU的寄存器 8086CPU的寄存器可分为通用寄存器、指针和变址寄存器、 段寄存器指令指针及标志寄存器。 (1)通用寄存器(见教材P25表2-1) 8086有4个16位的通用寄存器(AX、BX、CX、DX),可 以存放16位的操作数,也可分为8个8位的寄存器(AL、AH; BL、BH;CL、CH;D、DH)来使用。除了作为通用寄存器 外,它们还有专门的用途: AX( Accumulator):累加器,存放算术运算操作数、结果 BX(Base):基址寄存器 CX( Count):计数器寄存器 DX(Data):数据寄存器
4. 80X86CPU的寄存器 8086CPU的寄存器可分为通用寄存器、指针和变址寄存器、 段寄存器指令指针及标志寄存器。 (1) 通用寄存器(见教材P25表2-1) 8086有4个16位的通用寄存器(AX、BX、CX、DX),可 以存放16位的操作数,也可分为8个8位的寄存器(AL、AH; BL、BH;CL、CH;DL、DH)来使用。除了作为通用寄存器 外,它们还有专门的用途: AX( Accumulator ):累加器,存放算术运算操作数、结果; BX( Base ):基址寄存器; CX( Count ):计数器寄存器; DX( Data ):数据寄存器