8087 数字数据处理器

8087 数字数据处理器也称为数学协处理器、数字处理器扩展浮点单元。它是英特尔设计的第一款与 8086/8088 配对的数学协处理器,可实现更轻松、更快速的计算。

一旦 8086/8088 处理器识别出指令,就会将其分配给 8087 协处理器进行进一步执行。

8087 支持的数据类型为 −

  • 二进制整数
  • 压缩十进制数
  • 实数
  • 临时实数格式

8087 数字数据处理器最突出的特点如下 −

  • 它支持 2-10 个字节的整数、浮点和实数类型的数据。

  • 处理速度非常快,可以计算乘法两个 64 位实数的计算时间约为 27 µs,还可以在 ~35 µs 内计算平方根。

  • 它遵循 IEEE 浮点标准。

8087 架构

8087 架构分为两组,即 控制单元<​​/b> (CU) 和 数字扩展单元 (NEU)。

  • 控制单元<​​/b>处理处理器与内存之间的所有通信,例如接收和解码指令、读取和写入内存操作数、维护并行队列等。所有协处理器指令都是 ESC 指令,即它们以"F"开头,协处理器仅执行 ESC 指令,而其他指令由微处理器执行。

  • 数字扩展单元处理所有数字处理器指令,如算术、逻辑、超越和数据传输指令。它有 8 个寄存器堆栈,用于保存指令的操作数及其结果。

8087 协处理器的架构如下 −

8087 的架构

8087 引脚说明

我们先来看看 8087 的引脚图 −

8087 引脚图

以下列表提供了 8087 的引脚说明 −

  • AD0 – AD15 −这些是时间复用的地址/数据线,在第一个时钟周期内传输地址,从第二个时钟周期开始传输数据。

  • A19 / S6 – A16/S − 这些线是时间复用的地址/状态线。其功能与 8086 的相应引脚类似。S6、S4 和 S3 永久处于高位,而 S5 永久处于低位。

  • $\overline{BHE}$/S7 −在第一个时钟周期内,$\overline{BHE}$/S7 用于将数据传送到 8086 数据总线的高字节,之后用作状态线 S7

  • QS1、QS0 − 这些是队列状态输入信号,提供指令队列的状态,其状态如下表所示 −

QS0 QS1 状态
0 0 无操作
0 1 来自队列的操作码的第一个字节
1 0 清空队列
1 1 队列中的后续字节
  • INT − 它是一个中断信号,当执行期间收到未屏蔽的异常时,它会变为高电平。

  • BUSY − 它是一个输出信号,当它为高电平时,它向 CPU 指示繁忙状态。

  • READY −它是一个输入信号,用于通知协处理器总线是否已准备好接收数据。

  • RESET − 它是一个输入信号,用于拒绝协处理器的内部活动,并在 CPU 需要时为进一步执行做好准备。

  • CLK − CLK 输入为处理器操作提供基本时序。

  • VCC − 它是一个电源信号,需要 +5V 电源才能使电路运行。

  • S0、S1、S2 − 这些是状态信号,提供操作状态,总线控制器 8087 使用它来生成内存和 I/O 控制信号。这些信号在第四个时钟周期内有效。

S2 S1 S0 队列状态
0 X X 未使用
1 0 0 未使用
1 0 1 内存读取
1 1 0 内存写入
1 1 1 被动
  • RQ/GT1 & RQ/GT0 − 这些是 8087 处理器使用的 请求/授予 信号,用于从主机处理器 8086/8088 获得总线控制权以进行操作数传输。