Assembly/Organizzazione di sistema/Componenti base di sistema/Il sottosistema memoria
Su un sistema 80x86, si possono memorizzare al massimo 2n locazioni di memoria dove n è il numero di fili dell'Address Bus. La prima domanda che vi passerà per la testa, sarà sicuramente: "Ma cos'è una locazione di memoria?". Possiamo immaginare la memoria, come un gigantesco Array di elementi da un byte ciascuno. Il byte è la più piccola unità di dati gestibile sulla RAM.
In C:
char Memoria[2n];
In VB:
Dim Memoria As Variant Memoria = Array(0, 0, 0, 0, 0, 0, ..., 0)
In Pascal:
Memoria[2n] of byte;
Quando il processore deve eseguire un'operazione come "Memoria[148] = 25", posiziona 148 sull'Address Bus, 25 sul Data Bus, e poi setta la linea RD del Control Bus a 1 e quella RW a 0.
Questo è quello che succede quando si opera con singoli byte. Ma se abbiamo bisogno di word o dword che facciamo?
Il processore gestisce automaticamente questi dati, lavorando così:
- Divide la word o la dword in singoli bytes;
- Scrive il Low Byte (quello all'estrema sinistra) nella locazione scelta;
- Scrive tutti gli altri bytes nelle locazioni successive.
Modulo precedente | Torna a | Modulo successivo |