Bus Interno 8-Bit: Architettura, Storia e Uso Moderno
Un bus interno 8-bit trasferisce dati tra CPU, memoria e I/O su 8 linee parallele (D0–D7), spostando un byte per ciclo.
Sistemi Storici
- Intel 8080/8085, Zilog Z80, MOS 6502, Motorola 6800/6809 – bus dati 8-bit, bus indirizzi 16-bit.
- Home computer: Apple II, Commodore 64, TRS-80, ZX Spectrum, BBC Micro.
- Embedded: 8051, AVR (ATmega), PIC18 – ancora leader di volume.
Ruolo Controllore Bus
- Arbitra mastership (CPU vs DMA).
- Genera segnali di controllo: RD, WR, IO/M, ALE.
- Gestisce stati di attesa per memoria/periferiche lente.
Limitazioni
- Throughput: 8 bit × clock (es. 3 MHz → 3 MB/s teorico).
- Spazio indirizzi: bus 16-bit → 64 KB diretto (bank switching necessario per di più).
- Fetch istruzione: 1–3 byte per opcode → molti cicli.
Perché Ancora Usato
- Densità codice: ISA 8-bit (AVR, PIC) spesso più piccole di Thumb-2 32-bit.
- Consumo: <1 µA/MHz sleep; funziona anni con batteria a bottone.
- Costo: $0,20–$0,50 in volume (ATTiny, STM8).
- Determinismo: Nessuna cache, pipeline, branch prediction – hard real-time banale.
Evoluzione Moderna
Percorso dati 8-bit + indirizzo 32-bit (es. RV32E, Cortex-M0+ con bus 8-bit) collega software legacy e mappe memoria più ampie.