Procesador de datos numéricos 8087
El procesador de datos numéricos 8087 también se conoce como Math co-processor, Numeric processor extension y Floating point unit. Fue el primer coprocesador matemático diseñado por Intel para emparejarse con 8086/8088, lo que resultó en un cálculo más fácil y rápido.
Una vez que el procesador 8086/8088 identifica las instrucciones, entonces se asigna al coprocesador 8087 para su posterior ejecución.
Los tipos de datos admitidos por 8087 son:
- Enteros binarios
- Números decimales empaquetados
- Numeros reales
- Formato real temporal
Las características más destacadas del procesador de datos numéricos 8087 son las siguientes:
Admite datos de tipo integer, float y real de 2 a 10 bytes.
La velocidad de procesamiento es tan alta que puede calcular la multiplicación de dos números reales de 64 bits en ~ 27 µs y también puede calcular la raíz cuadrada en ~ 35 µs.
Sigue los estándares de coma flotante IEEE.
8087 Arquitectura
8087 La arquitectura se divide en dos grupos, es decir, Control Unit (CU) y Numeric Extension Unit (NEU).
los control unit maneja toda la comunicación entre el procesador y la memoria tal como recibe y decodifica instrucciones, lee y escribe operandos de memoria, mantiene cola en paralelo, etc. Todas las instrucciones del coprocesador son instrucciones ESC, es decir, comienzan con 'F', solo el coprocesador ejecuta las instrucciones ESC mientras que el microprocesador ejecuta otras instrucciones.
los numeric extension unitmaneja todas las instrucciones numéricas del procesador como instrucciones aritméticas, lógicas, trascendentales y de transferencia de datos. Tiene una pila de 8 registros, que contiene los operandos de las instrucciones y sus resultados.
La arquitectura del coprocesador 8087 es la siguiente:
Descripción del pin 8087
Primero echemos un vistazo al diagrama de pines del 8087 -
La siguiente lista proporciona la descripción de los pines del 8087:
AD0 – AD15 - Estas son las líneas de datos / direcciones multiplexadas en el tiempo, que transportan direcciones durante el primer ciclo de reloj y datos desde el segundo ciclo de reloj en adelante.
A19 / S6 – A16/S- Estas líneas son las líneas de estado / dirección multiplexadas en el tiempo. Funciona de manera similar a los pines correspondientes del 8086. El S 6 , S 4 y S3 están permanentemente altos, mientras que el S 5 está permanentemente bajo.
$\overline{BHE}$/S7- Durante el primer ciclo de reloj, $ \ overline {BHE} $ / S 7 se usa para habilitar datos en el byte más alto del bus de datos 8086 y luego funciona como línea de estado S 7 .
QS1, QS0 - Estas son señales de entrada de estado de la cola que proporcionan el estado de la cola de instrucciones, sus condiciones como se muestra en la siguiente tabla -
QS 0 | QS 1 | Estado |
---|---|---|
0 | 0 | No operacion |
0 | 1 | Primer byte de código de operación de la cola |
1 | 0 | Vaciar la cola |
1 | 1 | Byte posterior de la cola |
INT - Es una señal de interrupción, que cambia a alta cuando se ha recibido una excepción desenmascarada durante la ejecución.
BUSY - Es una señal de salida, cuando es alta indica un estado ocupado a la CPU.
READY - Es una señal de entrada que se utiliza para informar al coprocesador si el bus está listo para recibir datos o no.
RESET - Es una señal de entrada utilizada para rechazar las actividades internas del coprocesador y prepararlo para su posterior ejecución cuando lo requiera la CPU.
CLK - La entrada CLK proporciona los tiempos básicos para el funcionamiento del procesador.
VCC - Es una señal de alimentación, que requiere alimentación de + 5V para el funcionamiento del circuito.
S0, S1, S2- Estas son las señales de estado que proporcionan el estado de la operación que es utilizada por el controlador de bus 8087 para generar memoria y señales de control de E / S. Estas señales están activas durante el cuarto ciclo de reloj.
S 2 | S 1 | S 0 | Estado de la cola |
---|---|---|---|
0 | X | X | No usado |
1 | 0 | 0 | No usado |
1 | 0 | 1 | Memoria leída |
1 | 1 | 0 | Escritura de memoria |
1 | 1 | 1 | Pasivo |
RQ/GT1 & RQ/GT0 - Estos son los Request/Grant señales utilizadas por los procesadores 8087 para obtener el control del bus desde el procesador host 8086/8088 para transferencias de operandos.