| |
|
|
|

GUIDA
ALL'HARDWARE

FUNZIONAMENTO
DELLA MEMORIA RAM 2/2
Tratto da SIADE EDUCATION, http://www.siade.com/manuali/sistemi/elementi.htm
Abbiamo
visto che la memoria si classifica in tipi diversi secondo
il suo posizionamento nella mappa generale della memoria:
- Memoria
convenzionale: la divisione dei primi 1024Kb
di memoria in memoria convenzionale e memoria superiore
si deve ai progettisti del microprocessore 8086, i
quali, non immaginando che 1024Kb sarebbero ben presto
diventati insufficienti, decisero di dedicare il primo
blocco di memoria (da 0Kb a 640Kb) all'esecuzione
dei programmi dell'utente, destinando il rimanente
blocco di 384Kb ai dati del sistema necessari per
il suo corretto funzionamento. Tutti i programmi del
DOS si eseguono sempre in memoria convenzionale.
- Memoria
superiore: è compresa tra 640Kb e 1024Kb, e
include le routine di base del sistema, per esempio
il programma che prende il controllo all'accensione
del computer oppure la memoria video. Tuttavia queste
routine non occupano completamente la memoria superiore,
in quanto esistono blocchi di memoria liberi chiamati
UMB (Upper Memory Blocks, blocchi di memoria superiore).
Si utilizzano questi blocchi per caricarvi programmi
residenti o controllori di dispositivo: infatti, gli
applicativi "girano" nella memoria convenzionale e,
dunque, quanto maggiore è il numero di programmi caricati
nei blocchi UBM, tanto maggiore è lo spazio disponibile
nella memoria convenzionale per eseguire le applicazioni
dell'utente.
- Memoria
espansa: è un trucco per aumentare le prestazioni
del sistema operativo che, come si è detto, è nato
col microprocessore 8086 in grado di gestire non più
di 1024Kb di memoria. La soluzione si basa sull'utilizzazione
di un blocco di 64Kb, chiamato page frame, situato
all'interno della memoria superiore, dunque entro
i 1024Kb cui può accedere il DOS. In realtà la memoria
espansa è situata fuori della page frame, e il trucco
consiste nel copiare il contenuto della memoria espansa
nella page frame nella misura in cui ve ne sia bisogno,
e compatibilmente con lo spazio di 64Kb disponibile.
La tecnica è detta "commutazione di banchi di prova"
e consiste nell'utilizzo di un contenitore fisso (la
page frame) in cui si registrano dati differenti secondo
le necessità. Supponiamo che si debba accedere a 100Kb
di dati situati nella memoria espansa; in un primo
momento verranno copiati nella page frame 64Kb, che
è la sua dimensione massima; in seguito, una volta
letti tali 64Kb, si copiano dalla memoria espansa
alla page frame i rimanenti 34Kb perché possano essere
elaborati. In pratica la page frame funge da "ponte"
tra la memoria convenzionale e la memoria espansa.
- Memoria
estesa: è la memoria sopra i 1024Kb, ed ha
dimensione diversa secondo il tipo di microprocessore:
per il 286 arriva a 16Mb, mentre nei 386 e superiori
raggiunge i 4096Mb. L'MS-DOS non può accedere alla
memoria estesa, tuttavia la maggior parte dei programmi
DOS utilizza risorse e tecniche che consentono loro
l'accesso. Per esempio, Windows e tutte le applicazioni
Windows, utilizzano memoria estesa.
- Memoria
alta: è una piccola zona di memoria, della
dimensione di 64Kb, compresa tra 1024Kb e 1088Kb,
ed esiste solo nei 286 e superiori. Questa memoria
è caratterizzata dal fatto che può essere raggiunta
dal DOS malgrado sia posta oltre i 1024Kb, e infatti
viene utilizzata per caricarvi il nucleo del DOS,
ossia le principali routine del sistema operativo
che si incaricano di elaborare gli ordini introdotti
dall'utente: il grosso vantaggio procurato dalla memoria
alta è la liberazione di memoria convenzionale. Naturalmente,
quando esiste memoria alta, la memoria estesa inizia
a partire da 1088Kb, e non più da 1024Kb, e viene
detta memoria estesa XM
|
|

|
|