IL GARAGE |
Finestra di pura tecnologia affacciata sul mondo informatico Ideato e progettato da : Ragionier Maurizio SorrentinoF |
Le Memorie |
Cosa sono le memorie ? Quanti tipi di memorie esistono ? Come funzionano ? Come sono nate ? Queste e altre informazioni troverete in questa pagina. ——————————————————————————————————————————————————— In informatica, il termine memoria si riferisce alle parti di un computer che conservano informazioni per un certo tempo. La memorizzazione di dati in memoria e il successivo recupero dei medesimi sono funzioni fondamentali nel funzionamento degli elaboratori. Una memoria può essere considerata astrattamente come una sequenza finita di celle, in cui ogni cella contiene una sequenza finita di bit. Normalmente i bit sono gestiti a gruppi di otto, detti byte. Pertanto lo spazio fisico della memoria può essere pensato una sequenza di locazioni, ognuna contenente un byte. Ogni locazione è individuata da un preciso indirizzo normalmente indicato da un numero intero positivo. Indice * 1 Astrazione di von Neumann * 2 Operazioni * 3 Classificazione * 4 Ordine di accesso * 5 Possibilità di scrittura * 6 Velocità di accesso e costo unitario * 7 Volatilità * 8 Tecnologie o 8.1 Memoria primaria + 8.1.1 La memoria video o 8.2 La memoria secondaria + 8.2.1 Tipi di memoria secondaria o 8.3 Le memorie olografiche Astrazione di von Neumann Nell'architettura di Von Neumann, che rappresenta l'astrazione dei calcolatori elettronici usualmente impiegati, si vede come vengono impiegate le memorie nei calcolatori. La macchina di Von Neumann è divisa in una parte destinata al calcolo detta processore, ed in una parte destinata alla memorizzazione. La seconda parte contiene sia i dati su cui la computazione opera, sia i programmi che istruiscono il processore riguardo quali computazioni effettuare. Operazioni Le operazioni effettuate sulla memoria di un computer sono fondamentalmente le seguenti: * Inizializzazione. È il trattamento che subisce la memoria prima dell'uso normale. Alcuni tipi di memoria (per esempio la RAM elettronica) non hanno bisogno di inizializzazione; per tali memorie, il contenuto iniziale è impredicibile. Per le memorie a sola lettura, l'inizializzazione consiste nella scrittura dei dati effettuata in fase di produzione. Per i dischi magnetici, l'inizializzazione consiste nella scrittura di dati che costituiscono un casellario in cui porre le informazioni utili (la cosiddetta formattazione). * Scrittura. È l'operazione di memorizzazione delle informazioni. Un esempio di scrittura è assegnare il byte 123 alla cella di indirizzo 1000. * Lettura. È l'operazione di recupero di informazioni memorizzate. Un esempio di lettura è chiedere alla memoria il contenuto della cella di indirizzo 1000. Per parlare indifferentemente di lettura o di scrittura, si usa il termine accesso. Per esempio, per indicare che una memoria è veloce sia in lettura che in scrittura, si dice che ha un basso tempo di accesso. Classificazione Le memorie per computer possono usare varie tecnologie, che forniscono prestazioni e costi molto variabili. Spesso, per le memorie veloci ma dall'alto costo unitario si usa l'espressione "memoria centrale" o "memoria primaria", mentre per le memorie dal basso costo unitario ma lente si usa l'espressione "memoria di massa" o "memoria secondaria". Le memorie dei computer si possono classificare secondo i seguenti criteri: * Ordine di accesso (memorie ad accesso diretto o memorie ad accesso sequenziale). * Possibilità di scrittura (memorie a lettura-scrittura, memorie scrivibili una sola volta, memorie a sola lettura). * Velocità di lettura. * Velocità di scrittura. * Costo unitario. * Volatilità. * Tecnologia (elettroniche, magnetiche, ottiche, magneto-ottiche). Ordine di accesso * Le memorie ad accesso sequenziale possono essere lette e scritte solamente all'indirizzo immediatamente successivo all'indirizzo a cui è avvenuto l'accesso precedente. I principali esempi di memorie ad accesso sequenziale sono i nastri magnetici. * Le memorie ad accesso diretto possono essere lette e scritte a qualunque indirizzo, indipendentemente dalle operazioni eseguite in passato. Sono dette anche memorie ad accesso casuale, in quanto, dal punto di vista del costruttore, la memoria non è in grado di prevedere il prossimo indirizzo a cui l'utente della memoria vorrà accedere. Possibilità di scrittura La tipica memoria può essere sia letta che scritta. Questi dispositivi sono detti memorie a lettura-scrittura, o anche RAM (Random-Access Memory). Tuttavia sono utilizzate anche memorie che vengono scritte solo in fase di inizializzazione, e per le quali non è possibile la scrittura nell'uso normale. Tale inizializzazione può essere effettuata in modo incrementale dalla stessa apparecchiatura con cui vengono riletti i dati scritti. Questi dispositivi sono detti memorie scrivibili una sola volta, o WORM (Write Once, Read Many). Alternativamente, può essere necessario scrivere tutti i dati con un'apposita apparecchiatura esterna prima di poter usare la memoria in lettura. Questi dispositivi sono detti memorie a sola lettura, o ROM (Read-Only Memory). Ecco gli esempi più diffusi per ognuno dei tre suddetti tipi: * Memorie a lettura-scrittura: carta con matita e gomma, memorie elettroniche RAM, memorie elettroniche EEPROM, dischi ottici CD-RW, dischi ottici DVD-RW, memorie elettroniche flash, nuclei di ferrite, dischi magnetici rigidi (hard disk), dischi magnetici flessibili (floppy disk), dischi magneto-ottici RW. * Memorie scrivibili una sola volta: carta con penna, dischi magneto-ottici WORM, dischi ottici CD-R, dischi ottici DVD-R, memorie elettroniche PROM, memorie elettroniche EPROM. * Memorie a sola lettura: carta stampata, memorie elettroniche ROM, dischi ottici CD-ROM, dischi ottici DVD-ROM. Velocità di accesso e costo unitario Per le memorie a lettura-scrittura, il tempo di lettura è normalmente vicino al tempo di scrittura, per cui si parla genericamente di tempo di accesso. Per le memorie scrivibili una sola volta, la scrittura può essere molto più lenta della lettura; in tal caso, dato che la memoria verrà letta molte volte, si considera come più significativo il tempo di lettura. In generale, il costo unitario (cioè per byte) delle memorie cresce al crescere della velocità di lettura. Pertanto, la classificazione per velocità di lettura coincide sostanzialmente con la classificazione per costo unitario. In base a tale criterio, si ha la seguente gerarchia: * Registri della CPU, che forniscono la massima velocità di accesso, al massimo costo unitario. * Cache interna alla CPU, detta anche cache di primo livello. * Cache esterna alla CPU, detta anche cache di secondo livello. * Memoria centrale, detta anche memoria principale, e detta spesso semplicemente (ma impropriamente) RAM. * Tamburi magnetici, oggi in disuso. * Dischi fissi (magnetici). * Dispositivi inseribili e rimovibili "a caldo", cioè senza spegnere il computer, come floppy disk, nastri, memorie flash, dischi ottici. Questi ultimi forniscono la minima velocità di accesso, al minimo costo unitario. Volatilità In base alla volatilità, si hanno due categorie: * Memorie che perdono le informazioni se non alimentate elettricamente: lo sono la maggior parte delle memorie elettroniche RAM. * Memorie che mantengono le informazioni anche se non alimentate elettricamente: lo sono tutti gli altri tipi di memoria. I difetti della volatilità sono i seguenti: * Consumo di energia per conservare le informazioni. * La necessità di una fonte di energia rende meno portabile e maneggevole la memoria. I CD-ROM, per esempio, se dovessero avere un'alimentazione a batteria per mantenere le informazioni, sarebbero molto più costosi e scomodi. * Persistenza delle informazioni in caso di malfunzionamento o manutenzione del computer. Nonostante i loro difetti, le memorie volatili sono molto utilizzate, in quanto hanno tempi di accesso molto inferiori a quelli di altre memorie. Tecnologie Memoria primaria Collegate alla scheda madre tramite dei connettori chiamati socket, le memorie primarie (chiamate anche memorie centrali o memorie principali), servono a contenere i programmi ed i dati nel momento in cui vengono elaborati. Per realizzare una memoria principale vengono normalmente utilizzate tecnologie a microprocessore (cioè vengono utilizzati chip in silicio). La memoria centrale è organizzata come una tabella di celle, ciascuna delle quali è denotata da un indirizzo (celle che contengono una sequenza di bit; ogni bit può rappresentare l'informazione 0 oppure 1 tramite un diverso stato elettrico). Ogni cella ha una dimensione prefissata e gli indirizzi delle celle variano tra 0 e n, dove n è una potenza di 2. Le operazioni che la memoria può effettuare sono due: lettura e scrittura. La lettura consiste nelle seguenti operazioni: * trasferimento dalla CPU all'address register (abbreviato in AR) dell'indirizzo che si intende leggere; * trasferimento dalla memoria al registro memory buffer (abbreviato in MB) del contenuto della cella il cui indirizzo è presente nel AR; * trasferimento del contenuto del MB alla CPU. La scrittura consiste nelle seguenti operazioni: * trasferimento dalla CPU all'AR dell'indirizzo che si intende scrivere e del contemporaneo trasferimento nel MB del valore che si intende scrivere; * trasferimento del valore del MB alla cella di memoria il cui indirizzo è presente nel AR. Bisogna distinguere tra vari tipi di memorie primarie, a seconda della funzione svolta e delle loro caratteristiche peculiari. Di seguito vengono elencate quelle più importanti. * RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati dal calcolatore per elaborare. La RAM può essere volatile (si cancella spontaneamente ed ha bisogno di essere rinfrescata), statica o tamponata (mantiene l'alimentazione anche a macchina spenta). Il processore identifica le celle della RAM tramite indirizzi preassegnati che ne specificano la posizione: la memoria si presenta, quindi, come un enorme vettore (stringa ordinata di elementi detti byte, ciascuno individuabile con un indirizzo). Il termine "random" evidenzia che non ci sono differenze ad accedere alle varie celle della memoria. Le caratteristiche della RAM vengono ereditate anche da tutte le altre memorie ad accesso casuale (individuabili facilmente dal fatto che contengono RAM alla fine). Sostanzialmente le memorie RAM si suddividono in DRAM (dinamiche), SRAM statiche e che vengono utilizzate per la memoria cache. * Cache RAM, una memoria associativa integrata nel processore, che ha la caratteristica di essere molto veloce; dato l'elevato costo, viene utilizzata esclusivamente per contenere i dati e le istruzioni utilizzati più di frequente (in modo da migliorare notevolmente le prestazioni del processore). * ROM, l'acronimo per "read only memory", ovvero "memoria in sola lettura (o solamente leggibile)", è una memoria permanente (cioè ha un contenuto fisso che non può essere cancellato ed inoltre non è volatile), presente sulla scheda madre, che contiene le istruzioni che la CPU deve caricare per consentire l'avvio del sistema e le routine di base che prendono il nome di BIOS (Basic I/O Sistem). * EPROM, l'acronimo per "eresable programmable read only memory", ovvero "ROM cancellabile e programmabile", che è una memoria in sola lettura, ma ha la particolarità di poter essere cancellata in particolari condizioni. * MRAM, l'acronimo per "magnetic ram", ovvero "RAM magnetica", è una memoria ad accesso casuale di "nuova generazione", che utilizza le proprietà del magnetismo, al posto di una serie di impulsi elettrici, per conservare le informazioni (che è come funzionano le RAM di "vecchia generazione"). Ha l'inconveniente che la realizzazione di questo tipo di memoria è molto difficoltoso, in quanto il suo processo produttivo è totalmente differente rispetto a quello impiegato per i chip di silicio. La fase di trasferimento da memoria di sistema a memoria cache viene attuata da un appostito circuito che prende il nome di MMU (Memory Management Unit). La MMU svolge anche il compito di gestione virtuale della memoria. Inoltre c'è da far notare che a causa della dispersione della carica del condensatore, di capacità estremamente piccola, vi è bisogno di un rinfresco continuo dell'informazione. A questo compito è dedicato un canale del circuito di DMA che ad intervalli regolari (153 ms) deve necessariamente rinfrescare l'intera memoria del sistema per evitare la perdita irrimediabile dei dati e qui il collasso di funzionamneto del computer. La memoria video Una particolare versione di memorie dinamiche viene utilizzata per la gestione dei video. In questi dispositivi si sfrutta l'azione del refresh, precedentemente richiamata per gestire le informazioni che dovranno periodicamente essere inviate al video evitandno di passare quindi attraverso la CPU che renderebbe molto più lento il trasferimento dei dati. La memoria secondaria La memoria secondaria (chiamata anche memoria di massa) racchiude tutti quei dispositivi che consentono all'utente la memorizzazione in modo permanente, cioè che consentono di contenere dati e programmi in modo stabile (una volta spento il processore i dati non vengono persi). Tipi di memoria secondaria Qui sotto sono elencate le varie categorie di memorie secondarie: * I dischi magnetici, composti da uno o più dischi (i disk pack) ricoperti di materiale ferromagnetico, vengono "letti e scritti" (cioè su questi dischi vengono salvati e recuperati i dati) mediante un braccio mobile dotato della "testina di lettura/scrittura". I dati vengono trasferiti ai dischi magnetici tramite un buffer nella memoria centrale ed occupano successive posizioni lungo le tracce, sotto forma di differenti stati di magnetizzazione. I settori dei dischi vengono letti e scritti interamente utilizzando il numero della superficie, della traccia e del settore. Il tempo di accesso ai dischi magnetici è superiore rispetto a quello della memoria centrale, ma i costi, a parità di quantità di informazione memorizzata, sono decisamente più bassi. Di questa categoria fanno parte ad esempio gli hard disk e i floppy disk (realizzati con materiale plastico flessibile). * I dischi ottici, composti da materiale riflettente ricoperto da una sostanza protettiva, dove l'informazione viene registrata realizzando modificazioni della superficie riflettente e viene letta mediante un raggio laser che riscontra le irregolarità della superficie riflettente. I dischi ottici sono senza dubbio i supporti di memoria secondaria più diffusi: ne esistono di vari tipi, alcuni riscrivibili (cioè una volta scritti possono essere riscritti nuovamente) e non riscrivibili (una volta immagazzinati dei dati sul disco, questo non è più riscrivibile con altri dati). Fanno parte di questa categoria i CD, i CD-ROM e i DVD. * I nastri magnetici, composti da fettucce di nastri magnetizzabili e gestiti dalle unità a nastro (che dispongono della testina lettura/scrittura), servono per svolgere funzioni di back-up e log (registrazione delle operazioni effettuate in un certo tempo). I nastri magnetici consentono solo un accesso sequenziale ai dati (cioè è necessario leggere tutti i dati precedenti prima di accedere ad un certo dato). Tra i vari tipi di nastri magnetici, le prestazioni migliori sono ottenute dagli streaming tape. * La Flash memory, memoria elettronica non volatile di tipo EEPROM. Si presenta come Memory Card dall'ingombro ridotto. Le memorie olografiche Un altro tipo di memorie secondarie, però ancora in fase di sviluppo, sono le memorie olografiche. Queste nuove tecnologie olografiche di archiviazione, avranno il pregio di poter memorizzare i dati non su una superficie (come fanno i supporti attuali) ma su un volume: queste nuove memorie saranno dunque caratterizzate da una elevata capacità di archiviazione ed in più da tempi di accesso brevi. Tra le varie idee, il modo più promettente per archiviare più immagini olografiche sullo stesso mezzo è utilizzare differenti angoli di divergenza tra i due laser. Cambiando l'angolo di incidenza del raggio di lettura è possibile infatti leggere pagine diverse. Ci sono però alcune problematiche che ostacolano la realizzazione di queste nuove memorie; le più importanti sono: * l'elevata precisione ottica richiesta per il progetto * la difficoltà per l'allineamento dei vari componenti * le problematiche legate all'imperfezione del materiale utilizzato * il rischio della collimazione dei fasci * il problema dell'elaborazione dei segnali di uscita dai quali vanno ricavati i bit inizialmente memorizzati Il motivo principale che spinge i ricercatori alla realizzazione di queste memorie, è che la registrazione di dati su media magnetici ed ottici arriverà velocemente a scontrarsi con i limiti fisici dei supporti e quindi le memorie, che ora sono adeguate, potrebbero non essere più sufficienti per le necessità future. Fine articolo Rag. Maurizio Sorrentino 13 Aprile ore 17:19 |