Processeur de données numériques 8087
Le processeur de données numériques 8087 est également connu sous le nom de Math co-processor, Numeric processor extension et Floating point unit. Il s'agissait du premier coprocesseur mathématique conçu par Intel à s'associer au 8086/8088, ce qui permettait un calcul plus facile et plus rapide.
Une fois les instructions identifiées par le processeur 8086/8088, elles sont attribuées au coprocesseur 8087 pour une exécution ultérieure.
Les types de données pris en charge par 8087 sont -
- Entiers binaires
- Nombres décimaux emballés
- Nombres réels
- Format réel temporaire
Les caractéristiques les plus importantes du processeur de données numériques 8087 sont les suivantes:
Il prend en charge les données de type entier, flottant et réel allant de 2 à 10 octets.
La vitesse de traitement est si élevée qu'il peut calculer la multiplication de deux nombres réels 64 bits en ~ 27 µs et peut également calculer la racine carrée en ~ 35 µs.
Il suit les normes de virgule flottante IEEE.
8087 Architecture
8087 L'architecture est divisée en deux groupes, à savoir, Control Unit (CU) et Numeric Extension Unit (NEU).
le control unit gère toutes les communications entre le processeur et la mémoire comme il reçoit et décode les instructions, lit et écrit les opérandes de la mémoire, maintient la file d'attente parallèle, etc. Toutes les instructions du coprocesseur sont des instructions ESC, c'est-à-dire qu'elles commencent par 'F', le coprocesseur uniquement exécute les instructions ESC tandis que d'autres instructions sont exécutées par le microprocesseur.
le numeric extension unitgère toutes les instructions du processeur numérique telles que les instructions arithmétiques, logiques, transcendantales et de transfert de données. Il a 8 pile de registres, qui contient les opérandes pour les instructions et leurs résultats.
L'architecture du coprocesseur 8087 est la suivante -
![](https://assets.edu.lat/microprocessor/images/architecture_8087.jpg)
Description de la broche 8087
Jetons d'abord un coup d'œil au diagramme des broches de 8087 -
![](https://assets.edu.lat/microprocessor/images/pin_diagram_8087.jpg)
La liste suivante fournit la description des broches du 8087 -
AD0 – AD15 - Ce sont les lignes d'adresse / de données multiplexées dans le temps, qui transportent des adresses pendant le premier cycle d'horloge et des données à partir du deuxième cycle d'horloge.
A19 / S6 – A16/S- Ces lignes sont les lignes d'adresse / d'état multiplexées dans le temps. Il fonctionne de manière similaire aux broches correspondantes du 8086. Les S 6 , S 4 et S3 sont en permanence au niveau haut, tandis que le S 5 est en permanence au niveau bas.
$\overline{BHE}$/S7- Au cours du premier cycle d'horloge, le $ \ overline {BHE} $ / S 7 est utilisé pour activer les données sur l'octet supérieur du bus de données 8086 et après cela fonctionne comme la ligne d'état S 7 .
QS1, QS0 - Ce sont des signaux d'entrée d'état de la file d'attente qui fournissent l'état de la file d'attente d'instructions, leurs conditions comme indiqué dans le tableau suivant -
QS 0 | QS 1 | Statut |
---|---|---|
0 | 0 | Pas d'opération |
0 | 1 | Premier octet de l'opcode de la file d'attente |
1 | 0 | Vider la file d'attente |
1 | 1 | Octet suivant de la file d'attente |
INT - Il s'agit d'un signal d'interruption, qui passe à l'état haut lorsqu'une exception non masquée a été reçue pendant l'exécution.
BUSY - C'est un signal de sortie, lorsqu'il est haut, il indique un état occupé à la CPU.
READY - C'est un signal d'entrée utilisé pour informer le coprocesseur si le bus est prêt à recevoir des données ou non.
RESET - C'est un signal d'entrée utilisé pour rejeter les activités internes du coprocesseur et le préparer pour une exécution ultérieure chaque fois que la CPU le requiert.
CLK - L'entrée CLK fournit les horaires de base pour le fonctionnement du processeur.
VCC - C'est un signal d'alimentation, qui nécessite une alimentation + 5V pour le fonctionnement du circuit.
S0, S1, S2- Ce sont les signaux d'état qui fournissent l'état de l'opération qui est utilisé par le contrôleur de bus 8087 pour générer des signaux de commande de mémoire et d'E / S. Ces signaux sont actifs pendant le quatrième cycle d'horloge.
S 2 | S 1 | S 0 | État de la file d'attente |
---|---|---|---|
0 | X | X | Inutilisé |
1 | 0 | 0 | Inutilisé |
1 | 0 | 1 | Lecture de la mémoire |
1 | 1 | 0 | Écriture en mémoire |
1 | 1 | 1 | Passif |
RQ/GT1 & RQ/GT0 - Ce sont les Request/Grant signaux utilisés par les processeurs 8087 pour obtenir le contrôle du bus à partir du processeur hôte 8086/8088 pour les transferts d'opérandes.