Bus di Indirizzi a Basso Ordine vs. Alto Ordine nell'Architettura dei Computer
Nell'architettura dei computer, il **Bus di Indirizzi** trasporta gli indirizzi di memoria dalla CPU alla memoria e ai dispositivi I/O. È logicamente diviso in sezioni **a Basso Ordine** e **a Alto Ordine** in base al significato dei bit, consentendo il decodificamento gerarchico della memoria.
Bus di Indirizzi a Basso Ordine (Bit meno significativi - LSB)
- Funzione: Seleziona la **specifica posizione byte/parola all'interno di un chip di memoria, banco o blocco di registro periferico**.
- Campo: Indirizza il **range di indirizzi inferiore** (es. primi 64 KB, o all'interno di una pagina 4 KB).
- Utilizzo: Accede direttamente a registri interni CPU, periferiche on-chip, o l'offset all'interno di un banco di memoria selezionato.
- Analogia: Il "Numero di Appartamento" all'interno di un edificio.
Bus di Indirizzi a Alto Ordine (Bit più significativi - MSB)
- Funzione: Seleziona **quale banco di memoria, regione chip select, o spazio di indirizzamento di alto livello** (es. RAM vs ROM vs PCIe MMIO vs GPU VRAM).
- Campo: Consente di indirizzare l'**intero spazio di indirizzamento fisico** (es. 4 GB, 64 GB, 1 TB) scegliendo i bit superiori.
- Utilizzo: Guida la logica **Chip Select (CS)**, Selezione Banco Memoria Controller, decodifica regione MMIO, indirizzi base Page Table Walk.
- Analogia: Il selettore "Numero Edificio / Via".
Esempio Pratico: Bus di Indirizzi a 32 bit (4 GB)
- Basso Ordine (A0–A15): 16 bit → granularità 64 KB (Offset Segmento/Pagina).
- Alto Ordine (A16–A31): 16 bit → 65.536 regioni selezionabili da 64 KB (Banco/Selettore).
Sommario
Il **Bus a Basso Ordine** gestisce l'indirizzamento fine, locale (offset, registri). Il **Bus a Alto Ordine** gestisce l'indirizzamento grossolano, globale (selezione banco, mappatura memoria, selezione dispositivo esterno). Insieme, consentono alla CPU di coprire un vasto spazio di indirizzamento strutturato.