微机原理与接口技术(第三版)(洪永强) 2.1.1 8086的功能结构

本文详细解析了8086微处理器的执行部件EU,包括其指令获取与译码、算术逻辑运算、数据交换功能以及组成部分。同时介绍了总线接口部件BIU的功能,如指令获取、数据传输和物理地址计算,以及流水线技术的应用。
摘要由CSDN通过智能技术生成

2.1.1 8086的功能结构

0. 组成部分
1. 两个工作部件

8086微处理器的内部功能结构如图2-1新示,由两个独立的工作部件构成一一

  • 执行部件(Execution Unit, EU)
  • 总线接口部件(Bus Interface Unit, BIU)
2.工作部件 结构和功能
  • [[EU]]由运算器、寄存器组、控制器等组成,负责指令的执行;
  • [[BIU]]由指令队列、地址加法器、总线控制逻辑等组成,负责与系统总线打交道。
1. 执行部件EU
(1)EU的功能

EU(Execution Unit,执行单元)是微处理器中的一个核心部件,负责执行指令。它的功能主要包括以下三个方面:

1. 指令获取与译码:
  • EU负责从总线接口单元(BIU)的指令队列缓冲器取出指令,并由EU控制器指令译码器对指令进行译码,产生相应的操作控制信号给各个部件
  • 这些控制信号指导后续的操作,例如选择寄存器、选择ALU(算术逻辑单元)的运算方式等。
2. 算术逻辑运算:
  • EU执行指令时,对操作数进行算术运算和逻辑运算。
  • 算术运算包括加法、减法、乘法、除法等,逻辑运算包括与、或、非、异或等。
  • EU通过控制ALU完成这些运算,并将运算结果保存到状态寄存器FR(Flag Register,标志寄存器)中。
  • 状态寄存器保存了指令执行后的状态特征,如零标志、进位标志、溢出标志等。
3. 数据交换:
  • EU不直接与CPU外部系统相连,
  • 当需要与主存储器或I/O设备交换数据时,EU向BIU发出命令,并提供给BIU 16位有效地址及所需传送的数据。BIU根据EU提供的信息进行数据传输,以完成与外部系统的数据交换。

总的来说,EU是微处理器中负责执行指令和处理数据的关键部件,它通过译码指令、执行运算、保存状态和与外部系统交换数据等功能,实现了计算机程序的运行和控制。

(2)EU的组成

EU组成部分:

  • 算术逻辑单元(ALU)、
  • 通用数据寄存器组(AX、BX、CX、DX),
  • 地址指针
  • 变址寄存器(SP、BP、SI、DI)、标志寄存器(FR)、
  • 数据暂存寄存器
  • EU控制器

EU(Execution Unit,执行单元)的组成包括了多个关键部件

1. 算术逻辑单元(ALU):

算术逻辑单元是执行单元中的核心部件,负责执行算术运算(如加法、减法、乘法、除法等)和逻辑运算(如与、或、非、异或等)。ALU根据控制信号执行相应的运算操作,并将结果输出给其他部件或保存到寄存器中。

2. 通用数据寄存器组:

通用数据寄存器组包括了多个通用目的寄存器,用于存储数据和临时结果。在8086/8088微处理器中,通用数据寄存器组包括了AX、BX、CX、DX等寄存器,它们可以用于存储数据、地址、计数器等。

3. 地址指针和变址寄存器:

地址指针寄存器(如SP、BP、SI、DI)和变址寄存器(如BX、SI、DI)用于存储地址信息,用于访问内存或进行数据传输。

4. 标志寄存器(FR):

标志寄存器(Flag Register,FR)保存了指令执行后的状态特征,如零标志、进位标志、溢出标志等。它们用于控制程序的流程和处理条件分支。

5. 数据暂存寄存器:

数据暂存寄存器用于临时存储数据或中间结果,以便进行后续的处理。这些寄存器可以在执行指令过程中暂存数据,然后再传送给其他部件或保存到寄存器组中。

6. EU控制器:

EU控制器负责对指令进行译码,并产生相应的控制信号,用于控制ALU、寄存器组、标志寄存器等部件的操作。它协调了整个执行单元的工作,确保指令能够按照正确的顺序和方式执行。

这些部件共同组成了执行单元,实现了指令的执行和数据的处理功能。通过协调这些部件的工作,执行单元能够有效地执行各种指令,并完成复杂的计算和控制任务。

(3)EU的特点
1. 寄存器 的使用

通用数据寄存器的灵活性:

  • 通用数据寄存器AX、BX、CX、DX,既可以作16位寄存器使用,也可以分成高低8位分别作两个8位寄存器使用。这种灵活性允许程序员根据需要选择合适的寄存器宽度,以适应不同的数据处理任务。

地址指针和变址寄存器
地址指针BP、SP和变址寄存器SI、DI都是16位寄存器,一般用来存放地址信息。

2. ALU 的功能

ALU的核心是16位二进制加法器。
它具有两个主要功能功能:

  • 进行算术/逻辑运算:ALU负责执行指令中的算术运算和逻辑运算,如加法、减法、与、或等。
  • 提供操作对象的地址: ALU根据指令的寻址方式提供给BIU所需要操作对象的16位(偏移)地址,使BIU能够正确地对内存或I/O空间进行寻址,并传输操作对象。
3. 状态标志寄存器 (Flag Register)

16位状态标志寄存器(7位未用)存放了指令执行后的状态特征和设置的控制标志。
这些标志包括零标志、符号标志、进位标志等,用于反映操作结果的状态和控制程序的流程。

4. EU控制器

EU控制器是执行指令的控制电路,负责从指令队列中取指令、译码指令、产生控制信号等。它协调了整个执行单元的工作,确保指令能够按照正确的顺序和方式执行。

2. 总线接口部件BIU
(1)BIU的功能。

BIU(Bus Interface Unit,总线接口单元)是微处理器中的一个部件,负责处理CPU与主存储器或I/O设备之间的数据传输。它的功能主要包括以下三个方面:

1. 指令获取:

BIU负责从主存储器中取指令,并将这些指令送到指令队列缓冲器中。指令队列缓冲器用于暂存即将执行的指令,以便CPU逐条执行。

2. 数据传输:

当CPU执行指令时,BIU配合EU(Execution Unit,执行单元)从指定的主存储器单元外设端口中取数据,然后将这些数据传送给EU,或者将EU的操作结果传送到指定的主存储器单元外设端口中。这包括了

  1. 从主存取数据、
  2. 写入数据到主存、
  3. 从外设读取数据、
  4. 向外设写入数据等操作。
3. 物理地址计算:

BIU还负责计算形成访问存储器的物理地址。

  • 在访问主存或外设时,CPU通常使用逻辑地址,而BIU则负责将逻辑地址转换为物理地址,以便在实际的存储器中进行读写操作。
  • 在8086/8088处理器中,物理地址通常是20位的,因此BIU需要进行物理地址的计算和生成。

总的来说,BIU在微处理器中起着桥梁的作用,负责处理CPU与主存储器或I/O设备之间的数据传输和地址转换,保证了整个系统的正常运行。

(2)BIU的组成。

BIU由4个16位段寄存器、16位指令指针寄存器、20位物理地址加法器、6字节指令队列及总线控制逻辑组成。

BIU(Bus Interface Unit,总线接口单元)的组成:

1. 16位段寄存器:

BIU包括了4个16位段寄存器,用于存储段选择子。
在实模式下,段寄存器存储的是段的起始地址,用于计算实际物理地址。
而在保护模式下,段寄存器存储的是描述符表中的索引,用于访问GDT(Global Descriptor Table)或LDT(Local Descriptor Table)中的描述符。

2. 16位指令指针寄存器:

BIU还包括了一个16位指令指针寄存器,用于存储当前执行指令的偏移地址。指令指针寄存器的值会随着指令的执行而更新,指向下一条待执行的指令。

3. 2位物理地址加法器:

BIU中还包括了一个20位物理地址加法器,用于计算物理地址。在实模式下,物理地址由段寄存器和指令指针寄存器中的偏移地址组合而成,在保护模式下,物理地址还需经过分页机制的处理。

4. 6字节指令队列:

BIU中还包括了一个6字节的指令队列,用于暂存从内存中读取的指令。指令队列可以提高指令获取的效率,减少对内存的访问次数,从而提高处理器的性能。

5. 总线控制逻辑:

总线控制逻辑负责控制总线的访问,协调指令的获取和数据的传输。它负责将指令队列中的指令送入执行单元,同时处理数据的读取和写入操作,以及与外部设备的通信。

综合来看,BIU作为微处理器中负责与总线进行交互的关键部件,包括了段寄存器、指令指针寄存器、物理地址加法器、指令队列和总线控制逻辑等组成部分,这些组件共同协作,实现了指令的获取和数据的传输,从而保证了处理器的正常运行。

(3)BIU的特点。

以下是关于BIU(总线接口单元)的特点:

1. 指令队列的作用:

指令队列由6字节的寄存器组成**(8088指令队列由4字节组成)** ,采用“先进先出”原则,暂时存放BIU从存储器中预取的指令。当EU执行完一条指令时,可以立即从指令队列中取指令执行,而不必等待BIU再次访问存储器。这种流水线技术提高了CPU的效率,减少了CPU取指令和执行指令之间的等待时间。图2-2给出这两种方式的简单对比。

2. 地址加法器的功能:

地址加法器用于产生20位存储器的物理地址。
由于8086可寻址1MB空间,但内部寄存器和数据通道宽度都是16位,因此需要根据提供的逻辑地址信息产生20位的物理地址。
地址加法器将段寄存器提供的16位信息(段基址)左移4位(相当于乘以16),然后与EU或 I / O I/O I/O提供的16位信息(偏移地址)相加,形成20位的物理地址。
计算公式为

物理地址PA(20位)=段基址SA(16位)×16+偏移地址EA(16位)
3. 总线控制逻辑的作用:

总线控制逻辑负责 8086 分配 20 条引脚线实现分时传输20位地址、16位数据和4位状态信息到外部系统。
它通过逻辑控制方法实现了在总线上的信息传输,协调了BIU和外部设备之间的数据交换。

4. 流水线技术的应用:

EU和BU之间可以并行工作,形成指令的取指、指令译码、指令执行的流水线。

  • 当指令队列中出现空字节,且EU没有访问存储器和接口的要求时,BIU可以自动从存储器读出指令代码,存放于指令队列中,供EU执行。
  • 这样,在一条指令执行的过程中,就可以预取下一条(或多条)指令,从而减少了CPU为取指令而等待的时间,提高了CPU的运行速度。
  • 然而,跳转指令可能导致预取的指令并非要执行的指令,从而降低了流水线的效率:
    • 当遇到跳转指令的情况下,导致预取的指令并非是要执行的指令,只好舍弃,这将会降低流水线的效率。

综合来看,BIU通过指令队列、地址加法器和总线控制逻辑等组件,以及流水线技术的应用,实现了指令的高效取指和执行,从而提高了CPU的性能和运行速度。

在以后的几代微处理器中,对内部结构的改进主要从流水线入手,将指令的执行过程进一步分解,尽可能使每一步骤都能同时执行,由此提高微处理器的执行速度。


第1章 微型计算机概述 1 1.1 微型计算机的发展与应用 1 1.1.1 微处理器的产生和发展 1 1.1.2 微型计算机的分类 4 1.1.3 微型计算机的特点与性能指标 4 1.1.4 微型计算机的应用 6 1.2 微型计算机的硬件结构及系统组成 8 1.2.1 微型计算机硬件的基本结构 8 1.2.2 微型计算机的系统组成 11 1.3 计算机中的信息表示 12 1.3.1 计算机中的数制及其转换 13 1.3.2 计算机中数值数据的表示 15 1.3.3 计算机中常用的编码 18 本章小结 21 思考与练习题 21 第2章 典型微处理器 23 2.1 微处理器性能简介 23 2.1.1 典型微处理器的主要性能指标 23 2.1.2 微处理器的基本功能 24 2.2 Intel 8086微处理器的内、外部结构特性 24 2.2.1 8086微处理器内部组成结构 24 2.2.2 8086微处理器的寄存器 结构 27 2.2.3 8086微处理器的外部引脚特性 30 2.3 存储器和I/O组织 32 2.3.1 存储器组织 32 2.3.2 I/O端口组织 36 2.4 8086微处理器的总线周期和工作方式 36 2.4.1 8284A时钟信号发生器 37 2.4.2 8086总线周期 37 2.4.3 8086微处理器的最小/最大工作方式 38 2.5 32位微处理器简介 41 2.5.1 80386微处理器 41 2.5.2 80486微处理器 42 2.5.3 Pentium系列微处理器 44 2.5.4 Pentium微处理器采用的新技术 48 本章小结 50 思考与练习题 50 第3章 寻址方式与指令系统 53 3.1 指令格式及寻址 53 3.1.1 指令系统与指令格式 53 3.1.2 寻址及寻址方式的概念 54 3.2 8086指令系统的寻址方式 54 3.2.1 与操作数有关的寻址方式 55 3.2.2 与I/O端口有关的寻址方式 57 3.3 8086指令系统 58 3.3.1 数据传送类指令 58 3.3.2 算术运算类指令 61 3.3.3 逻辑运算与移位类指令 64 3.3.4 串操作类指令 67 3.3.5 控制转移类指令 70 3.3.6 处理器控制类指令 74 3.4 DOS和BIOS中断调用 74 3.4.1 DOS功能调用 74 3.4.2 BIOS中断调用 76 3.5 Pentium微处理器新增寻址方式和指令 76 3.5.1 Pentium微处理器的内部寄存器 76 3.5.2 Pentium微处理器的新增寻址方式 77 3.5.3 Pentium系列微处理器专用指令 78 3.5.4 Pentium系列微处理器控制指令 78 本章小结 79 思考与练习题 79 第4章 汇编语言 82 4.1 汇编语言简述 82 4.1.1 汇编语言及语句格式 82 4.1.2 汇编语言程序结构 86 4.1.3 汇编语言常用伪指令 87 4.1.4 汇编语言程序上机过程 94 4.2 汇编语言程序设计 94 4.2.1 程序设计的基本步骤及 程序基本结构 94 4.2.2 顺序结构程序设计 96 4.2.3 分支结构程序设计 98 4.2.4 循环结构程序设计 101 4.2.5 子程序设计 103 4.2.6 DOS调用程序设计 105 4.3 高级汇编技术 107 4.3.1 宏汇编 107 4.3.2 重复汇编与条件汇编 109 本章小结 113 思考与练习题 114 第5章 总线技术 116 5.1 概述 116 5.1.1 总线的概念 116 5.1.2 总线的结构 117 5.1.3 总线的分类 118 5.1.4 总线性能及标准 119 5.1.5 总线传输和控制 120 5.2 系统总线 121 5.2.1 概述 121 5.2.2 ISA总线 122 5.3 局部总线 128 5.3.1 PCI总线 128 5.3.2 AGP总线 132 5.4 外部设备总线 133 5.4.1 USB总线 133 5.4.2 IEEE 1394总线 136 5.5 I2C总线 139 5.5.1 I2C总线简介 139 5.5.2 I2C总线特性 139 5.5.3 I2C总线原理 140 本章小结 141 思考与练习题 141 第6章 存储器系统 143 6.1 存储器概述 143 6.1.1 存储器的分类 143 6.1.2 存储器的常用性能指标 144 6.1.3 存储系统的层次结构 145 6.1.4 半导体存储器的结构 146 6.2 随机存取存储器(RAM) 148 6.2.1 静态RAM(SRAM) 148 6.2.2 动态RAM(DRAM) 150 6.3 只读存储器(ROM) 152 6.3.1 掩膜ROM 152 6.3.2 可编程PROM 153 6.3.3 光可擦除EPROM 153 6.3.4 电可擦除E2PROM 153 6.3.5 闪速存储器 154 6.4 存储器的扩展与寻址 154 6.4.1 位扩展 155 6.4.2 字扩展 155 6.4.3 字位扩展 155 6.4.4 存储器的寻址 156 6.5 存储器与微处理器的连接 157 6.5.1 连接时应注意的问题 157 6.5.2 典型微处理器与存储器的连接 157 6.6 辅助存储器 159 6.6.1 硬盘存储器及其接口 159 6.6.2 光盘存储器及其接口 162 6.7 新型存储器技术 164 6.7.1 多体交叉存储器 165 6.7.2 高速缓冲存储器(cache) 165 6.7.3 虚拟存储器 167 本章小结 169 思考与练习题 170 第7章 输入/输出接口技术 172 7.1 概述 172 7.1.1 输入/输出接口电路要解决的问题 172 7.1.2 输入/输出接口的结构功能 173 7.1.3 CPU与I/O接口之间传递的信息 175 7.1.4 I/O端口的编址方式 176 7.2 输入/输出的数据传送方式 177 7.2.1 无条件传送方式 177 7.2.2 查询传送方式 178 7.2.3 中断传送方式 180 7.2.4 DMA传送方式 182 本章小结 183 思考与练习题 183 第8章 可编程DMA控制器8237A 184 8.1 概述 184 8.1.1 8237A的主要功能 184 8.1.2 8237A的工作状态 184 8.2 8237A内部结构及引脚 185 8.2.1 8237A内部结构 185 8.2.2 8237A引脚及功能 186 8.3 8237A的工作方式 188 8.3.1 单字节传送方式 188 8.3.2 数据块传送方式 188 8.3.3 请求传送方式 189 8.3.4 级联传送方式 189 8.4 8237A内部寄存器功能及格式 189 8.4.1 当前地址寄存器 190 8.4.2 当前字节寄存器 190 8.4.3 基地址寄存器 190 8.4.4 基字节寄存器 190 8.4.5 命令寄存器 191 8.4.6 工作方式寄存器 192 8.4.7 请求寄存器 193 8.4.8 屏蔽寄存器 193 8.4.9 状态寄存器 194 8.4.10 暂存寄存器 195 8.4.11 软件命令 195 8.5 8237A的编程及应用 195 8.5.1 8237A主要寄存器端口地址分配 195 8.5.2 8237A编程一般步骤 196 8.5.3 8237A应用举例 198 本章小结 199 思考与练习题 199 第9章 中断技术 200 9.1 概述 200 9.1.1 中断的概念 200 9.1.2 中断源 201 9.1.3 中断处理过程 202 9.1.4 中断优先级管理 204 9.2 8086中断系统 206 9.2.1 中断类型 206 9.2.2 中断向量表 208 9.3 可编程中断控制器8259A及其应用 209 9.3.1 8259A内部结构及引脚 210 9.3.2 8259A中断管理方式 212 9.3.3 8259A中断响应过程 215 9.3.4 8259A编程及应用 215 本章小结 223 思考与练习题 224 第10章 可编程并行接口芯片8255A 225 10.1 并行接口概述 225 10.1.1 并行接口的分类 225 10.1.2 并行接口的特点 226 10.2 并行接口芯片8255A 226 10.2.1 内部结构及引脚 226 10.2.2 8255A的工作方式 229 10.2.3 8255A的编程及应用 235 本章小结 239 思考与练习题 239 第11章 可编程串行接口芯片8251A 241 11.1 串行传输的基本概念 241 11.1.1 串行通信概述 241 11.1.2 信号的调制与解调 243 11.2 串行接口芯片8251A 244 11.2.1 8251A的基本性能 244 11.2.2 8251A的基本结构 244 11.2.3 8251A的编程控制 248 11.2.4 8251A的初始化和编程应用 250 11.3 PC串行异步通信接口 254 11.3.1 串行异步通信的 基本概念 254 11.3.2 BIOS串行异步通信接口的功能调用 255 本章小结 258 思考与练习题 259 第12章 可编程定时器/计数器接口芯片8253 260 12.1 可编程定时器/计数器8253 260 12.1.1 定时器/计数器的基本原理 260 12.1.2 8253的特点 261 12.1.3 8253内部结构和 引脚功能 261 12.1.4 8253的初始化 263 12.1.5 8253的工作方式 265 12.2 8253的应用 272 12.2.1 8253的初始化编程 272 12.2.2 8253与系统的连接 273 12.2.3 8253应用实例 274 本章小结 275 思考与练习题 276 第13章 人机交互设备及接口 277 13.1 人机交互设备概述 277 13.2 键盘与鼠标 278 13.2.1 键盘的分类及工作原理 278 13.2.2 PC键盘分类及编程应用 281 13.2.3 鼠标工作原理及编程应用 284 13.3 显示器及接口 285 13.3.1 CRT显示器 286 13.3.2 CRT显示器接口电路编程方法 291 13.3.3 LED与LCD显示 294 13.4 打印机接口 298 13.4.1 常用打印机及工作原理 298 13.4.2 主机与打印机的接口 299 13.4.3 打印机的中断调用 300 13.5 其他外设简介 301 13.5.1 扫描仪原理及性能指标 301 13.5.2 数码照相机原理及其应用 302 13.5.3 触摸屏原理及其应用 303 本章小结 303 思考与练习题 304 第14章 D/A及A/D转换器 306 14.1 概述 306 14.2 典型D/A转换器及其应用 307 14.2.1 D/A转换器工作原理 307 14.2.2 D/A转换器的主要性能指标 309 14.2.3 8位D/A转换器DAC0832及其应用 309 14.3 典型A/D转换器及其应用 314 14.3.1 A/D转换器工作原理 314 14.3.2 A/D转换器的主要性能指标 315 14.3.3 8位A/D转换器ADC0809及其应用 316 14.3.4 A/D转换器的选择原则 322 14.4 A/D和D/A转换的应用实例 323 本章小结 324 思考与练习题 324
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值