SISTEMI A MICROPROCESSORE
N. 03
UNITÀ di MEMORIA
La MEMORIA e` un dispositivo che ha la funzione di conservare nel tempo le diverse
informazioni (istruzioni, dati, risultati), opportunamente codificate.
MEMORIA DI MASSA : unità di memoria in cui vengono salvati i programmi,
o memorizzati gli archivi dei dati.
Queste memorie sono generalmente realizzate con materiali magnetici (dischi) e sono non
volatili, conservano cioè l' informazione anche in assenza di tensione di alimentazione.
MEMORIA CENTRALE : memoria di lavoro del sistema, in cui sono memorizzati i
programmi da eseguire, i dati su cui operare e i risultati.
Di seguito faremo sempre riferimento a questo tipo di memoria, chiamandola genericamente col nome di "memoria".
Queste memorie sono generalmente realizzate con elementi a semiconduttore.
La MEMORIA e` suddivisa in locazioni di uguale lunghezza (stesso numero di bit) e le
operazioni di lettura o scrittura sono generalmente relative ad una singola locazione alla
volta.
Ad ogni locazione di memoria è associato un INDIRIZZO, espresso da un numero
binario. Per individuare ed accedere ad una locazione di memoria è necessario fornire il
suo INDIRIZZO
Schema di una MEMORIA:
DATI : canale di collegamento
al bus dati, in cui transitano le
informazioni da leggere e da
scrivere.
DATI
INDIRIZZO
UNITÀ
DI
MEMORIA
INDIRIZZO : canale collegato
all’address bus, in cui transita
l’indirizzo della locazione su cui
scrivere o leggere.
ENABLE : attiva o disattiva
l’unità di memoria.
ENABLE
RD/WR: segnale di controllo
che stabilisce se l’ operazione
da svolgere è di lettura o di
scrittura.
RD/WR
Quando ENABLE e RD sono attivi, sul bus dati viene inviato il contenuto della locazione
di memoria indirizzata.
Quando ENABLE e WR sono attivi, nella locazione di memoria indirizzata viene
memorizzata l' informazione binaria presente sul bus dati.
1
SCHEMA A BLOCCHI DI UNA MEMORIA
INDIRIZZO
MATRICE
DELLE
LOCAZIONI
DI MEMORIA
SISTEMA DI
DECODIFICA
DEGLI
INDIRIZZI
CONTROLLO
DI
INPUT-OUTPUT
DEI DATI
DATI
WR/RD
CS
PARAMETRI CARATTERISTICI DI UNA MEMORIA :
. Grado di parallelismo : numero di bit di cui e` composta la parola di memoria
(valori tipici : 1, 4, 8, 16 bit)
Coincide col numero di bit del canale DATI.
. Indirizzabilità : numero di locazioni presenti nella memoria
(è uguale a 2^N, con N = numero di bit del canale INDIRIZZO)
. Capacità: numero di locazioni * grado di parallelismo
Ad esempio una memoria con un bus degli indirizzi di 10 bit e un bus dei dati di 4 bit
ha una CAPACITÀ di 1024 * 4 = 4096 BIT.
CARATTERISTICHE ELETTRICHE DI UNA MEMORIA
Le caratteristiche statiche fondamentali sono :





valori ammessi per la tensione di alimentazione
valori di tensione di ingresso considerati a livello logico alto o basso
correnti assorbite o erogate dagli ingressi a tali livelli di tensione
analoghi valori per le tensioni di uscita
valori di corrente erogati o assorbiti con l’uscita nello stato di alta impedenza
Le caratteristiche dinamiche indicano i legami temporali fra i diversi segnali in gioco e
forniscono informazioni sulla sequenza con cui gli ingressi della memoria devono essere
attivati per effettuare operazioni richieste.
Tali caratteristiche si desumono dai diagrammi temporali che descrivono i cicli di lettura
e scrittura delle memorie.
Per informazioni più dettagliate esaminare il Data Sheet di una memoria.
2
LE MEMORIE SI SUDDIVIDONO IN DUE CATEGORIE FONDAMENTALI :
RAM
Memorie che permettono di eseguire sia l'operazione di lettura che quella di
scrittura : in esse vengono memorizzati i dati, i risultati e i programmi in fase
di messa a punto.
Sono memorie di tipo volatile, cioè per conservare l'informazione hanno
bisogno di energia elettrica.
A seconda di come viene conservata l'informazione, le RAM vengono classificate in :
 STATICHE : RAM costituite di flip-flop; in esse l'informazione è mantenuta finché è
presente la tensione di alimentazione.
 DINAMICHE : RAM costituite di condensatori la cui carica tende progressivamente a
disperdersi. In questo caso per conservare l'informazione è necessario ripristinare
periodicamente le cariche sui condensatori.
Questa operazione e` chiamata di rinfresco e viene svolta dal microprocessore.
ROM
Memorie che permettono solo la lettura della informazione.
Queste memorie sono di tipo non volatile e vengono utilizzate per
memorizzare programmi o dati che non devono subire modificazioni.
Le ROM si suddividono in :
 ROM vere e proprie : ROM il cui contenuto viene fissato all' atto della costruzione,
dopo di ché non possono più subire modifiche.
 PROM (ROM Programmabili) : ROM il cui contenuto può essere programmato
dall'utilizzatore con opportune tecniche.
Le PROM sono però programmabili una volta sola; perciò dopo essere state
programmate la prima volta non possono più subire modifiche.
 EPROM (ROM Programmabili e Cancellabili) : ROM il cui contenuto può essere
programmato più volte dall' utilizzatore, previa precedente operazione di cancellazione
(con radiazioni ultraviolette).
La modifica anche di una sola parola comporta però la cancellazione e la
riprogrammazione dell' intera memoria.
L' operazione di programmazione delle EPROM si attua mediante l' impiego di appositi
strumenti chiamati : programmatori di eprom.
 EEPROM : vengono programmate dallo stesso microcomputer, con l' aggiunta di uno
specifico circuito.
In questo caso è possibile la modifica anche di una sola parola alla volta (non vanno
però confuse con le RAM).
3
DECODIFICA DI UN BANCO DI MEMORIA
Generalmente le linee di indirizzamento delle singole unità di memoria (RAM o ROM)
sono in numero inferiore a quelle dell' Address Bus del Microprocessore.
Pertanto la memoria centrale di un sistema a microprocessore può essere costituita da varie
RAM e ROM. L'insieme delle RAM e delle ROM del sistema prende il nome di BANCO
DI MEMORIA.
L’indirizzamento delle locazioni di un banco di memoria avviene nel seguente modo :
. le linee di maggior peso dell' Address bus, opportunamente decodificate, vengono
utilizzate per selezionare le varie unità di memorie (RAM o ROM) presenti nel banco;
. le linee di peso inferiore dell' Address bus vengono collegate alle linee di indirizzo di
ciascuna RAM o ROM e servono a selezionare le singole locazioni.
ESEMPIO N. 1
A15
A14
A13
BANCO DI MEMORIA CON UNA SOLA RAM
(locazioni con indirizzo 0000H - 1FFFH)
OR
CE
A12
BUS DATI
RAM
A0
R/W
ESEMPIO N. 2
R/W
BANCO DI MEMORIA CON 7 RAM E 1 ROM
DI CAPACITÀ 8K * 8 BIT
(locazioni con indirizzo 0000H - FFFFH)
Da disegnare per esercizio.
MICROP.03
4