lunedì 7 gennaio 2013

Nozioni base sulla memoria (parte I)


Sera signori...
Era un pò che non ci si sentiva, ma sapete tra una festa e l'altra.....
Comunque eccoci qui con una bella lezione sulla memoria del nostro beneamato pc:
- RAM
-Parity ed ECC
-Funzionamento
-Bus e Processori
-e così via....



  • Memoria

In generale

Le memorie di un computer sono quei dispositivi elettronici e meccanici che permettono la memorizzazione temporanea o
definitiva delle informazioni e dei risultati delle elaborazioni. La più importante è la cosiddetta Memoria Centrale (primary storage = memoria principale), composta dalla memoria RAM e ROM (oltre alla cache), collegata direttamente alla CPU.
Alla memoria Centrale si contrappone la cosiddetta Memoria di massa (o memoria secondaria), costituita dai dispositivi necessari
per l'archiviazione dei dati: essa si compone di dischi magnetici (Hard Disk, Floppy Disk, Zip, Jazz, ...), ottici (CD-Rom, DVD, ...) o magnetoottici che utilizzano un insieme delle due tecnologie.


RAM
Random Access Memory

La memoria RAM (Random Access Memory = memoria ad accesso casuale) è quella componente del PC dove vengono temporaneamente memorizzati i dati che devono essere utilizzati dalle applicazioni in uso, in modo che essi siano immediatamente
disponibili. Il processore infatti legge i dati memorizzati sull'hard disk e li carica temporaneamente nella memoria RAM, la
quale è molto più veloce del disco fisso.
In buona parte le prestazioni generali del computer dipendono dalla sua quantità: infatti maggiore è la memoria RAM disponibile,
minore sarà il numero delle volte che il processore dovrà leggere i dati dall'hard disk, operazione che rallenta l'elaborazione in
quanto i tempi di accesso alla RAM sono in nanosecondi, quelli del disco fisso in millisecondi! (1000 volte più lento)
La quantità di RAM attualmente necessaria per un buon funzionamento di un computer è di circa 2000/4000 MB. Essa è detta "ad accesso casuale" in quanto il processore è in grado di
leggere il contenuto della memoria in modo diretto, indipendentemente dal fatto che esso sia collocato all'inizio o alla fine della stessa e quindi con i medesimi tempi di accesso e lettura.
Tale memoria è detta anche volatile in quanto allo spegnimento del computer i dati in essa contenuti vengono cancellati, al contrario di
quanto invece accade con le memorie di massa. La RAM è costituita da piccoli chip installati su moduli chiamati Simm (Single Inline Memory Module) o su Dimm (Dual Inline Memory Module). I tempi di accesso sono di 60-70 nanosecondi per i moduli Simm
e di 10-12 nanosecondi per quelli Dimm. Questo è sempre valido, nonostante le RAM di oggi hanno dei valori TIMING ben diversi, sopratutto parlando nel caso specifico di unità RAM adatte al santo overclock.





Parity ed ECC

Per quanto riguarda invece la memoria con controllo di parità (o di tipo parity), si fa riferimento a quel particolare tipo di memoria che controlla che i dati vengano o meno corrotti durante la loro elaborazione e, se questo accade, segnala l'errore. Il controllo sui dati viene effettuato utilizzando un bit di controllo, detto parity bit, ed è per questo che ogni byte che proviene dalla memoria di tipo parity ha 9 bit e non 8.
La memoria parity segnala la presenza di un errore ma non fa nulla per correggerlo; per questo motivo è stata introdotta la memoria
ECC (Error Correcting Code) che salvaguardia l'integrità dei dati e corregge eventuali errori: per tale caratteristica la memoria ECC viene utilizzata per quelle applicazioni dove la salvaguardia dei dati è di essenziale importanza, quali ad esempio i server.



Funzionamento
Random Access Memory

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 esempio, immaginiamo che un computer invii in un certo momento il bus di indirizzi di 8 bit:





Ogni linea invia 1 bit (uno 0 o un 1) e l'indirizzo che ne risulta è 10000011, che corrisponde al valore decimale 131. Più semplicemente, 10000011 è l'indirizzo della cella di memoria 131, 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.



Bus e Processori

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 a chi se li ricorda ancora...) 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 (di un tempo) - 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 (vecchie glorie!!),  avevano un bus di indirizzi di 24 bit, il che permetteva 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.
P.S.:
gli esempi che sto riportando, che altro non sono che la storia dell'informatica di quasi 30 ormai, sono sempre validi al fine di capire l'architettura e funzionamento. Tutto qui, quindi non sono impazzito...(anche se qualcuno lo sperava ahahhah...)

Torniamo a noi.
Il microprocessore 386DX aveva un bus di indirizzi di 32 bit, con il quale si potevano indirizzare fino a 4096MB di memoria. Anche
in questo caso la memoria che eccedeva i 1024Kb è detta memoria estesa. Il 386SX è stato 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.
Il mitico 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.
Chi non ricorda il Pentium? Anch'esso, la quinta generazione dei
microprocessori, era a 32 bit; incorporava un coprocessore matematico, ma integrava più di 3 milioni di transistor, contro il
milione e mezzo circa del 486 e i 28.000 dell'8086 (il Pentium II ne conteneva  addirittura 7,5 milioni).
Concludendo questa prima parte (non proprio leggerina...):





Per stasera vi ho tartassato un pochino e direi che va bene così....
Domani andiamo avanti on la seconda parte.
Sera a tutti e grazie per la vostra preziosa attenzione.
Ciau dal solitissimo Dani!!


Nessun commento:

Posta un commento