Microprocessore 8086: pin READY e handshake di sincronizzazione bus
Il segnale READY: meccanismo di handshake bus dell'8086
Nell'8086, l'ingresso READY (pin 22) implementa un protocollo di handshake che consente a memorie/periferiche lente di inserire stati di attesa nei cicli di bus.
Come funziona
- Ciclo normale: l'8086 avvia lettura/scrittura (T1–T4). READY campionato alla fine di T2 e T3.
- Inserimento attesa: se READY = BASSO al punto di campionamento, l'8086 entra in stati Tw (attesa) — ripete T3/T4 fino a READY = ALTO.
- Ripresa: quando READY campionato ALTO, il ciclo si completa (T4) → dati trasferiti.
Dettaglio temporale
- READY deve essere stabile tRYH (setup) prima del fronte di discesa di CLK in T2/T3.
- Attesa minima: 1 Tw (aggiunge 1 ciclo di clock).
- Massima: Illimitata (ma si consigliano watchdog timer).
Casi d'uso tipici
- ROM/EPROM lente (tempo di accesso > 4 clock).
- Periferiche a 8 bit su bus a 16 bit (servono due cicli).
- Arbitrato RAM dual-port.
- Risoluzione contenzione bus Multibus / di sistema.
READY vs Generatore di stati di attesa (8284A)
- L'orologio 8284A ha RDY1, RDY2, AEN1, AEN2 — sincronizza il READY asincrono a CLK.
- L'ingresso READY dell'8086 si aspetta un segnale sincronizzato — collegare l'uscita READY dell'8284A al READY dell'8086.
Contesto moderno
Le CPU contemporanee usano controller di memoria on-chip, PHY DDR e handshake AXI/PCIe (VALID/READY) — stesso concetto, notevolmente più complesso. READY dell'8086 è l'antenato pedagogico.