第二章8086微处理器 2.18086CPU系统结构 2.28086CPU中寄存器 2.3存储器 2.4堆栈 2.5汇编源程序举例
第二章 8086微处理器 2.1 8086 CPU 2.1 8086 CPU系统结构 2.2 8086 CPU中寄存器 2.3存储器 2.4堆 栈 2.5汇编源程序举例 1
处理器简介 中央处理器(CPU)是微型计算机的核心部件, 也是划分计算机档次的一个决定性指标。 8086和8088芯片是Inte1公司于1978年先后 推出的两种同档次的CPU产品,在此之后, 该公司又陆续推出80286、80386、80486和 Pentium.系列CPU产品
处理器简介 中央处理器(CPU)是微型计算机的核心部件, 也是划分计算机档次的一个决定性指标。 8086和8088芯片是Intel公司于1978年先后 推出的两种同档次的 推出的两种同档次的CPU产品,在此之后, 该公司又陆续推出80286、80386、80486和 Pentium系列CPU产品。 2
处理器简介 8086与8088微处理器内部结构几乎相同,均 由执行部件(U)和总线接口部件(BIU) 组成,有相同的寄存器和内部总线。但二 者的数据线不同,8086具有16位数据线, 8088仅有8位数据线,是准16位微处理器, 8086运行速度较快。同时二者的指令队列 长度不同,8086指令队列寄存器为6个字节 长,8088仅有4个字节长。本书内容针对的 处理器均以8086为主。 o8
处理器简介 8086与8088微处理器内部结构几乎相同,均 由执行部件(EU)和总线接口部件 和总线接口部件(BIU) 组成,有相同的寄存器和内部总线。但二 者的数据线不同 者的数据线不同,8086具有16位数据线, 8088仅有8位数据线,是准16位微处理器, 8086运行速度较快。同时二者的指令队列 长度不同,8086指令队列寄存器为6个字节 长,8088仅有4个字节长。本书内容针对的 本书内容针对的 处理器均以8086为主。 3
2.18086CPU系统结构 2.1.18086CPU组成 8086CPU具有16条数据线,20条地址线,寻 址范围可达1MB,是Inte1公司于1977年推 出的16位微处理器,按功能可以分为两大 部件: 1、执行部件(EU) 2、总线接口部件(BIU) 8086CPU内部结构如下图所示
2.1 8086 CPU 8086 CPU系统结构 2.1.1 8086 CPU 8086 CPU组成 8086 CPU具有16条数据线,20条地址线,寻 址范围可达1MB,是Intel公司于1977年推 出的16位微处理器,按功能可以分为两大 部件: 1、执行部件(EU) 2、总线接口部件(BIU) 8086 CPU内部结构如下图所示。 4
地址总线(20位) 通用寄存器 地址加法器 AH AL BX BH BL 数据总线 CH CL (16位) DX DH DL CS BP DS SP SS SI ES DI IP 内部通信寄存器 ALU数据总线(16位) 总线 8086总线 控制 逻辑 暂存器 队列 指令队列 EU 总线 1 2 3 4 5 6 控制器 (8位) 标志寄存器 ●● 指令执行部件(EU) 总线接口部件 (BIU) 5
地址总线(20 位) 地址加法器 通 用 寄 存 器 ∑ 数据总线 ∑ (16 位) 通 用 寄 存 器 AX BX CX AH AL BH BL CH CL C S (16 位) E S D S S S DX B P S P DH DL ALU 数据总线(16 位) 8086 总线 I P 内部通信寄存器 总线 E S S I D I ALU 数据总线(16 位) 总线 8086 总线 控制 逻辑 暂 存 器 队列 总线 指令队列 E U 1 2 3 4 5 6 A L U 标志寄存 E U 控制器 (8 位) 总线接口部件(BIU) 5 标志寄存器 指令执行部件(EU)
1.执行部件(EU) 执行部件主要由寄存器组、算术逻辑部件(ALU)、● 标志寄存器组成,主要负责程序指令的执行。 (1)寄存器组共有8个16位寄存器,这些寄存器均属 于CPU专用存储器,存在于CPU内部,是CPU内部 临时存放数据的部件,它的存取速度比内存更快。 (2)算术逻辑部件(ALU)是用来进行算术和逻辑运 算的。 (3)标志寄存器又称程序状态寄存器,用于存放当 前指令执行的状态和运算结果的特征
1.执行部件(EU) 执行部件主要由寄存器组 执行部件主要由寄存器组、算术逻辑部件(ALU)、 标志寄存器组成,主要负责程序指令的执行。 ⑴ 寄存器组共有8个16位寄存器,这些寄存器均属 这些寄存器均属 于CPU专用存储器,存在于CPU内部,是CPU内部 临时存放数据的部件,它的存取速度比内存更快。 ⑵ 算术逻辑部件(ALU)是用来进行算术和逻辑运 算的。 ⑶ 标志寄存器又称程序状态寄存器,用于存放当 前指令执行的状态和运算结果的特征。 6
2.总线接口部件(BIU) 总线接口部件用来执行所有的总线操作。BIU由地址加法 器、段寄存器、指令指针IP、指令队列和总线控制逻 辑组成,负责CPU与存储器或外部设备之间交换数据。 (1)地址加法器是将指令指针IP和段寄存器CS,或将U送 来的偏移量与段寄存器DS形成一个20位的物理地址, 用以从存储器中取出指令或数据。 (2)指令队列是一个6字节的寄存器(8086),最多可存 放6个字节的指令。指令队列是一个先进先出的栈, 当空闲2个指令字节时,BIU自动从存储器中取出指令 存入指令队列中,供U部件使用。 (3)总线控制逻辑是用来控制BIU中各部件的协同操作
2.总线接口部件(BIU) 总线接口部件用来执行所有的总线操作 。BIU由地址加法 器、段寄存器、指令指针IP、指令队列和总线控制逻 辑组成,负责CPU与存储器或外部设备之间交换数据。 ⑴ 地址加法器是将指令指针 地址加法器是将指令指针IP和段寄存器CS,或将EU 送 来的偏移量与段寄存器DS形成一个20位的物理地址, 用以从存储器中取出指令或数据 。 ⑵ 指令队列是一个6字节的寄存器(8086),最多可存 放6个字节的指令。指令队列是一个先进先出的栈, 当空闲 2个指令字节时,BIU自动从存储器中取出指令 自动从存储器中取出指令 存入指令队列中,供EU部件使用。 ⑶ 总线控制逻辑是用来控制BIU中各部件的协同操作 。 7
3.EU与BIU的关系: 执行部件(BU)和总线接口部件(BIU)的操 作是独立进行的,因此可以并行工作。在 EU执行指令过程中,BIU就可以取出指令存 放在指令队列,而当U执行完一条指令后 就可以立刻到指令队列中去取下一条将要 执行的指令。从而节省了CPU因等待到内存 取指令所需要的时间,提高了CPU的利用率, 加快了系统运行速度
3 .EU与BIU的关系: 执行部件(EU)和总线接口部件(BIU)的操 作是独立进行的,因此可以并行工作。在 EU执行指令过程中,BIU就可以取出指令存 放在指令队列,而当EU执行完一条指令后 就可以立刻到指令队列中去取下一条将要 执行的指令。从而节省了CPU因等待到内存 取指令所需要的时间,提高了CPU的利用率, 加快了系统运行速度。 8
EU和BIU的并行工作过程可以如图2.2表示 BIU 取指 取指 取指 取数 取指 取指 EU 等待 执行 执行 执行 执行 图2.2EU和BU的并行工作过程图 ● 从图中可以看出,在U执行指令时,BIU已经为它准备好指令,因而程 序的执行不需要等待。 9
EU和BIU的并行工作过程可以如图 的并行工作过程可以如图2.2表示 …… 取指 取指 取指 取数 取指 取指 BIU 等待 执行 执行 执行 执行 …… EU 图2.2 EU和BIU的并行工作过程图 从图中可以看出 从图中可以看出,在EU执行指令时,BIU已经为它准备好指令 已经为它准备好指令,因而程 序的执行不需要等待。 9
2.1.2程序执行过程 为了提高CPU的运行速度,8086系统设计为并 行工作方式,即指令和数据的存取电路与 指令的执行电路是并行工作的。假设程序 的指令代码预先已存放在存储器中,为了 执行程序,CPU依据时钟的节拍,产生一系 列控制信号,有规则地重复执行下面的过 程: 80 10
2.1.2程序执行过程 为了提高CPU的运行速度,8086系统设计为并 行工作方式,即指令和数据的存取电路与 指令的执行电路是并行工作的。假设程序 的指令代码预先已存放在存储器中,为了 执行程序,CPU依据时钟的节拍,产生一系 列控制信号,有规则地重复执行下面的过 程: 10