- 8085 微处理器
- 微处理器 - 8085 架构
- 8085 引脚配置
- 寻址方式和中断
- 8085 指令集
- 多处理器配置
- 配置概述
- 8087 数值数据处理器
- I/O 接口
- I/O 接口概述
- 8279 可编程键盘
- 8257 DMA 控制器
- 微处理器有用资源
- 微处理器 - 快速指南
- 微处理器 - 有用资源
- 微处理器 - 讨论
8087 数值数据处理器
8087 数值数据处理器也称为数学协处理器、数值处理器扩展和浮点单元。它是英特尔设计的第一款数学协处理器,与 8086/8088 配合使用,从而简化并加快了计算速度。
一旦 8086/8088 处理器识别出指令,就会将其分配给 8087 协处理器进行进一步执行。
8087 支持的数据类型如下:
- 二进制整数
- 压缩十进制数
- 实数
- 临时实数格式
8087 数值数据处理器的最突出特点如下:
它支持整数、浮点数和实数类型的数据,范围从 2 到 10 字节。
处理速度非常快,可以计算两个 64 位实数的乘法,大约需要 27 微秒,还可以计算平方根,大约需要 35 微秒。
它遵循 IEEE 浮点标准。
8087 架构
8087 架构分为两部分,即控制单元 (CU) 和数值扩展单元 (NEU)。
控制单元处理处理器和内存之间所有通信,例如接收和解码指令、读取和写入内存操作数、维护并行队列等。所有协处理器指令都是 ESC 指令,即它们以“F”开头,协处理器只执行 ESC 指令,而其他指令由微处理器执行。
数值扩展单元处理所有数值处理器指令,如算术、逻辑、超越和数据传输指令。它有 8 个寄存器堆栈,用于保存指令的操作数及其结果。
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 获取总线控制权,以进行操作数传输。