|

GUIDA
ALL'HARDWARE

FUNZIONAMENTO
DELLA MEMORIA RAM 1/2
Tratto da SIADE EDUCATION, http://www.siade.com/manuali/sistemi/elementi.htm
La
memoria RAM è formata da migliaia di piccole celle di
memoria, ciascuna con capacità di un byte, ossia, come
si è detto, una sequenza di 8 bit che, opportunamente
combinati tra loro, possono rappresentare uno qualsiasi
dei 256 caratteri ASCII. Ogni cella di memoria si identifica
tramite un indirizzo, allo stesso modo in cui ogni casa
in cui abitiamo è identificata in maniera univoca da
un indirizzo e da un numero. Per definire gli indirizzi
delle celle il computer utilizza il bus di indirizzi:
questo è costituito da un certo numero di linee di 1
bit ognuna, attraverso le quali viaggiano in parallelo
gli indirizzi di memoria. Per specificare un indirizzo
di memoria si invia 1 bit alla volta per tutte le linee
e il numero che ne risulta è l'indirizzo di memoria.

Per esempio, immaginiamo che un computer invii in un
certo momento il bus di indirizzi di 8 bit che si vede
nella figura qui a fianco (cioè di 8 linee di 1 bit
ognuna): ogni linea invia 1 bit (uno 0 o un 1) e l'indirizzo
che ne risulta è 10000011, che corrisponde al valore
decimale 67. In altre parole, 10000011 è l'indirizzo
della cella di memoria 67, la quale immagazzinerà un
dato valore: è importante notare la differenza tra l'indirizzo
di una cella di memoria (che identifica la posizione
della cella nel complesso delle celle di memoria) ed
il contenuto della cella (ossia uno dei 256 byte). Immaginiamo
adesso che un computer disponga di un bus di indirizzi
di 2 linee: con sole 2 linee di 1 bit, il computer può
fare riferimento solo a 4 indirizzi di celle per volta:
00, 01, 10 e 11. E se ci sono solo 4 indirizzi, si può
accedere solamente a 4 celle di memoria di 1 byte; cioè
si può accedere a 4 byte, malgrado la presenza di una
memoria RAM, per dire, di 8 Mb. È chiaro che non esistono
computer con un bus di indirizzi di 2 linee, ma l'esempio
appena mostrato ci dice una cosa molto importante: una
memoria capace non è sufficiente, in quanto, affinché
questa possa essere interamente utilizzata dal computer,
occorre anche un adeguato bus di indirizzi. Dal momento
che per ogni linea del bus possono passare solo due
valori (0 e 1), il numero massimo di indirizzi di n
linee corrisponde al numero di combinazioni di 2 elementi
presi a n a n, cioè 2 elevato a n (2n): se il bus di
indirizzi ha 2 bit, il numero massimo di indirizzi è
pari a 4 (22); se ha 3 bit, il numero massimo di indirizzi
è 8 (23), ecc. Una delle principali differenze tra i
microprocessori riguarda proprio il numero di linee
del bus di indirizzi, e l'evoluzione dei microprocessori
ha riguardato in primo luogo il bus di indirizzi. Il
microprocessore 8086 (ed anche l'8088) aveva un bus
di indirizzi di 20 bit (20 linee di 1 bit), sicché il
numero massimo di indirizzi che si potevano identificare
era 1.048.576 (220), vale a dire 1024Kb (1Mb, se si
preferisce). Si può dire, grosso modo, che i 1024Kb
si dividono in due blocchi: i primi 640Kb - da 0 a 640Kb
- si chiamano memoria convenzionale e i rimanenti 384Kb
- da 640Kb a 1024Kb - si chiamano memoria superiore
(vedremo più avanti il significato di questi diversi
tipi di memoria). La seconda generazione di microprocessori,
i 286, hanno un bus di indirizzi di 24 bit, il che permette
di gestire 16Mb di memoria (224 = 16.777.216): i primi
1024Kb si suddividono come sopra; la memoria tra 1024Kb
e i 16Mb viene denominata memoria estesa (vedi lo schema
alla pagina seguente). Il microprocessore 386DX ha un
bus di indirizzi di 32 bit, con il quale si possono
indirizzare fino a 4096MB di memoria. Anche in questo
caso la memoria che eccede i 1024Kb è detta memoria
estesa. Il 386SX è pensato come soluzione intermedia
tra il 286 e il 386DX: dal punto di vista delle applicazioni
eseguibili è del tutto uguale al 386DX, solo ha una
velocità inferiore ed una memoria massima indirizzabile
di 16MB: da quest'ultimo punto di vista è assimilabile
al 286. Il 486, presentato nel 1991, è anch'esso un
microprocessore a 32 bit, ma ha una velocità e una potenza
notevolmente maggiori rispetto al 386 in quanto incorpora
un coprocessore matematico, cioè uno speciale chip che
si occupa di svolgere ad alta velocità le operazioni
matematiche, alleggerendo il lavoro del microprocessore
centrale. Anche il Pentium, la quinta generazione dei
microprocessori, è a 32 bit; anch'esso incorpora un
coprocessore matematico, ma integra più di 3 milioni
di transistor, contro il milione e mezzo circa del 486
e i 28.000 dell'8086 (il Pentium II ne contiene addirittura
7,5 milioni).

Clicca
sull'immagine per ingrandirla
|