Pourquoi le bus de données du 8085 est bidirectionnel
Le bus de données 8 bits du Intel 8085 (AD0–7) est bidirectionnel car le processeur doit à la fois lire depuis et écrire vers la mémoire et les périphériques E/S sur les mêmes broches physiques.
Trois rôles, un seul bus
- Lecture mémoire : CPU met RD̅=0, WR̅=1 → la mémoire place les données sur le bus → CPU les verrouille.
- Écriture mémoire : CPU met WR̅=0, RD̅=1 → CPU pilote les données sur le bus → la mémoire les capture.
- Lecture/Écriture E/S : Mêmes broches, avec IO/M̅=1. Instructions IN/OUT utilisent le bus bidirectionnellement.
Multiplexage avec l'adresse
Le 8085 multiplexe l'adresse de poids faible (A0–7) et les données sur AD0–7 :
- T1 : AD0–7 portent A0–7 ; ALE les verrouille dans un verrou externe (74LS373).
- T2–T3 : AD0–7 deviennent le bus de données bidirectionnel.
Cela économise des broches (boîtier DIP 40 broches) par rapport à un bus d'adresse 16 bits + bus de données 8 bits complet (qui nécessiterait 24+ broches).
Signaux de contrôle qui gèrent la direction
- RD̅ (Lecture, actif bas) : Asserté pour lecture mémoire/E/S → périphérique externe pilote le bus.
- WR̅ (Écriture, actif bas) : Asserté pour écriture mémoire/E/S → CPU pilote le bus.
- IO/M̅ : 0 = cycle mémoire, 1 = cycle E/S.
Résumé
La bidirectionnalité permet à un seul bus 8 bits de servir tous les déplacements de données — récupération d'instructions, lecture d'opérandes, écriture de résultats, communication avec périphériques — tout en gardant le boîtier petit et peu coûteux. Les signaux de contrôle (RD̅, WR̅, ALE) orchestrent qui pilote le bus à chaque état T.
