Le rôle crucial de INTA (Accusé de réception d'interruption) dans le microprocesseur 8085
Le signal INTA (Interrupt Acknowledge) est une broche de sortie dédiée (active à l'état bas) sur le microprocesseur Intel 8085 qui joue un rôle central dans la séquence de gestion des interruptions. Ce n'est pas une simple poignée de main — il orchestre le processus d'interruption vectorisée qui permet au CPU d'identifier quel périphérique a interrompu et où se trouve la routine de service.
Séquence d'interruption et rôle de INTA
- Le périphérique active INTR : Le périphérique élève INTR (broche 10) à l'état haut (déclenchement par niveau).
- Le CPU échantillonne INTR : À la fin du cycle d'instruction courant (si INTE=1 via EI).
- Le CPU active INTA (premier pulse) : Le 8085 met INTA (broche 11) à l'état bas pour le premier cycle machine d'acquittement d'interruption. Cela indique au périphérique interruptif : « Je vous vois. Placez votre vecteur d'interruption sur le bus de données. »
- Le périphérique répond : Le contrôleur d'interruption externe (ex. 8259A PIC) ou une logique de portes simple place l'opcode d'une instruction RST n (0xC7, 0xCF, 0xD7, 0xDF, 0xE7, 0xEF, 0xF7, 0xFF pour RST 0–7) sur le bus de données (D0–D7).
- Le CPU lit le vecteur : Le 8085 lit l'opcode durant ce cycle.
- Le CPU active INTA (deuxième et troisième pulses) : Pour une instruction CALL, le 8085 émet deux pulses INTA supplémentaires pour lire l'adresse 16 bits (octet de poids faible, puis fort) — mais RST est un opcode sur un octet, donc un seul INTA suffit pour RST. Le 8085 génère 3 pulses INTA pour CALL ; pour RST, il utilise l'unique octet comme vecteur.
- PC sauvegardé, saut vers l'ISR : Le 8085 empile le PC, charge PC = 8 × n (adresse du vecteur RST n : 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38). Exécute l'ISR.
- EI / RET : L'ISR se termine par
EI(réactivation des interruptions) etRET(dépile PC).
Pourquoi INTA est critique
1. Synchronisation et temporisation
INTA fournit la fenêtre temporelle exacte pour que le périphérique/contrôleur d'interruption place le vecteur sur le bus. Sans lui, le CPU pourrait lire n'importe quoi ou le périphérique pourrait piloter le bus au mauvais moment (conflit de bus). La temporisation INTA du 8085 (T1–T3 du cycle machine INTA) est synchronisée avec ALE, RD, WR — permettant une interface fiable avec 8259A, 8279, ou circuits générateurs de RST simples.
2. Interruptions vectorisées et priorisation
INTA est l'enableur des interruptions vectorisées. Avec un PIC 8259A :
- Le 8259A reçoit IR0–IR7.
- Résout la priorité (fixe, tournante, masque spécial).
- Sur INTA, le 8259A sort l'opcode CALL (0xCD) + octets d'adresse basse/haute de l'ISR.
- Le 8085 saute vers l'adresse ISR spécifique — pas vers la table RST fixe.
Sans INTA, pas d'interruptions vectorisées → toutes les interruptions sautent vers les mêmes emplacements fixes (RST 0–7) → scrutation logicielle nécessaire pour identifier la source → lent, inefficace.
3. Dispatch de la routine de service d'interruption (ISR)
INTA déclenche directement la séquence matérielle : empilement PC → lecture vecteur → chargement PC → exécution ISR. C'est le signal « go » matériel qui transfère le contrôle du programme principal au gestionnaire d'interruption. Parasites sur INTA = interruptions manquées/mal vectorisées = crash système.
4. Débogage et diagnostics
- Analyseur logique / oscilloscope sur INTA : Vérifier fréquence d'interruption, imbrication, latence (INTR vers INTA), interruptions parasites.
- INTA absent : Périphérique bloqué sur INTR, 8259A ne répond pas, défaut tampon bus.
- INTA en trop : Bruit, 8259A instable, ré-déclenchement logiciel.
INTA vs autres signaux
| Signal | Direction | Rôle |
|---|---|---|
| INTR | Entrée | Périphérique demande interruption |
| INTA | Sortie | CPU acquitte, demande vecteur |
| RST 5.5/6.5/7.5 | Entrée | Masquables, vectorisés (fixes), front montant — pas d'INTA nécessaire |
| TRAP | Entrée | Non masquable, vectorisé (0x24), front+niveau — pas d'INTA nécessaire |
Seul INTR (broche 10) utilise INTA (broche 11). Les trois broches RST et TRAP ont des vecteurs dédiés — pas de lecture de vecteur sur bus requise.
Résumé
INTA est la clé de voûte de la gestion flexible des interruptions sur le 8085. Il transforme un simple signal « quelque chose s'est passé » (INTR) en un changement de contexte vectorisé, priorisé, accéléré matériellement. Maîtriser la temporisation INTA et l'interface 8259A est indispensable pour toute conception sérieuse de système 8085.
