Guida Completa ai Bus Interni del Computer: Tipi, Funzioni ed Evoluzione
I bus interni formano il sistema nervoso di ogni computer, trasportando segnali tra CPU, memoria e periferiche. Comprendere le architettura dei bus rivela come i dati si muovono attraverso un sistema—e perché i colli di bottiglia di prestazioni si verificano proprio lì.
Bus di Sistema Fondamentali
1. Bus degli Indirizzi
Funzione: Trasporta indirizzi di memoria/I/O dalla CPU agli altri componenti.
La larghezza determina: Memoria indirizzabile massima (2N byte per bus a N bit).
Esempi: 8086 (20-bit = 1 MB), 80386 (32-bit = 4 GB), x86-64 (48-bit virtuale = 256 TB).
2. Bus dei Dati
Funzione: Percorso bidirezionale per il trasferimento effettivo dei dati.
La larghezza determina: Dimensione nativa della parola e throughput per ciclo.
Esempi: 8088 (8-bit), 8086/286 (16-bit), 386DX/486/Pentium (32-bit), CPU moderne (64-bit).
3. Bus di Controllo
Funzione: Trasporta segnali di temporizzazione e coordinamento:
• Lettura/Scrittura (R/W̅) – Direzione del trasferimento dati
• Memoria/IO (M/IO̅) – Selezione spazio di indirizzamento
• Orologio (CLK) – Riferimento di sincronizzazione
• Reset (RESET) – Inizializzazione del sistema
• Interrutture (INTR, NMI) – Segnalazione eventi asincroni
• Bus Grant/Request – Handshaking DMA/arbitraggio
Bus Specializzati ad Alta Velocità
4. Bus della Cache (Backside Bus)
Connessione dedicata CPU↔cache L2/L3, tipicamente più larga (128-512 bit) e più veloce del front-side bus. Le CPU moderne integrano L2/L3 on-die, rendendo questo interno al package.
5. Front-Side Bus (FSB) / Bus di Sistema
Storica connessione CPU↔Northbridge (pre-2009 Intel, pre-2003 AMD). Sostituita da interconnessioni punto-punto (QPI, HyperTransport, Infinity Fabric).
Bus di Espansione I/O (Evoluzione Cronologica)
6. ISA (Industry Standard Architecture)
8-bit (PC/XT), poi 16-bit (AT). 8.33 MHz, 16 MB/s max. Solo legacy.
7. EISA / VLB / MCA
Estensioni a 32-bit di breve durata (1988-1995). EISA: 32-bit/8.33 MHz. VLB: bus locale alla velocità della CPU. MCA: proprietario IBM.
8. PCI (Peripheral Component Interconnect)
PCI 2.x: 32-bit/33 MHz = 133 MB/s (segnalazione 5 V/3.3 V)
PCI 3.0/PCI-X: 64-bit/66-133 MHz = 533-1066 MB/s (server)
9. AGP (Accelerated Graphics Port)
Bus grafico dedicato a 32-bit (1x/2x/4x/8x = 266-2133 MB/s). Accesso diretto alla memoria (GART). Sostituito da PCIe.
10. PCI Express (PCIe) — Standard Attuale
| Generazione | Throughput per Corsia | Larghezza di Banda Slot x16 | Anno |
|---|---|---|---|
| PCIe 1.0 | 250 MB/s | 4 GB/s | 2003 |
| PCIe 2.0 | 500 MB/s | 8 GB/s | 2007 |
| PCIe 3.0 | 985 MB/s | 15.75 GB/s | 2010 |
| PCIe 4.0 | 1.97 GB/s | 31.5 GB/s | 2017 |
| PCIe 5.0 | 3.94 GB/s | 63 GB/s | 2019 |
| PCIe 6.0 | 7.56 GB/s | 121 GB/s | 2022 |
Codifica seriale, switching a pacchetti, scalabile per corsie (x1, x4, x8, x16). Usato per GPU, NVMe SSD, 10GbE+, controller USB4/TB3.
Interconnessioni SoC Moderne
- AMBA (ARM): AXI (alta perf), AHB (sistema), APB (periferica)
- Intel IDI / Mesh: Fabric on-die core↔cache↔IO
- AMD Infinity Fabric: Chiplet↔chiplet, CPU↔IO die
- CXL (Compute Express Link): Interconnessione cache-coerente basata su PCIe per acceleratori
Riepilogo della Gerarchia dei Bus
I sistemi moderni utilizzano una topologia a livelli:
CPU Core │ (Interconnessione on-die: Ring/Mesh/Infinity Fabric) ├── L3 Cache ├── Controller di Memoria (DDR5/LPDDR5) ├── PCIe Root Complex (x16, x4, x4...) │ ├── GPU (x16) │ ├── NVMe SSD (x4) │ ├── Chipset (x4) ──► Addizionali PCIe, SATA, USB, SPI, eMMC │ └── Controller Thunderbolt/USB4 └── Uscita Display (eDP/DP/HDMI)
Ogni livello ottimizza per i propri requisiti di latenza/bandwidth/costo. Il concetto di "bus interno" è evoluto da fili paralleli condivisi a link seriali punto-punto gerarchici—ma il bisogno fondamentale di spostare indirizzi, dati e segnali di controllo rimane invariato.