Claudio Fratto
Laboratorio Sistemi
Esercitazione N°1
08-10-2007
LABORATORIO DI SISTEMI
ALUNNO: Fratto Claudio
CLASSE: IV B Informatico
ESERCITAZIONE N°: 1
OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le
informazioni di una memoria PROM in una memoria RAM, attraverso
l’utilizzo di Circuit Maker
SCHEMA:
2) Memoria PROM32
1) Memoria RAM1k
3) Buffer 3-S
4) Switch
5) LED
1
Claudio Fratto
Laboratorio Sistemi
Esercitazione N°1
08-10-2007
6) Schema elettrico
2
Claudio Fratto
Laboratorio Sistemi
Esercitazione N°1
08-10-2007
RELAZIONE
L’esperienza effettuata in laboratorio si è articolata in due fasi:
1) la prima fase consisteva nel progettare e realizzare un circuito digitale capace di copiare il
contenuto di ogni singola locazione di memoria di un dispositivo PROM nelle rispettive
locazioni di memoria di un dispositivo RAM;
2) la seconda fase consisteva nel collaudare, per verificarne il corretto funzionamento, il
circuito progettato e realizzato nella prima fase.
•
TEORIA SULLE MEMORIE:
Le memorie sono dei dispositivi capaci di immagazzinare delle grandi quantità di dati in
formato digitale. Esse sono costituite da strutture, chiamate locazioni (ognuna delle quali è
contraddistinta da un proprio indirizzo sottoforma di un numero binario), che possono
contenere un numero finito di celle di memoria, ognuna delle quali è in grado di
memorizzare un singolo BIT (Binary digIT). Generalmente, nelle memorie che sono
attualmente in commercio, sono presenti delle locazioni che contengono 8 celle di memoria;
ogni singola locazione ci permette, quindi, di memorizzare un “parola”, cioè un’unità
informativa elementare (1 Byte).
Sulle memorie possono essere effettuate due operazioni, che sono di fondamentale
importanza per il loro utilizzo:
1) l’operazione di scrittura, cioè quella operazione che ci consente di memorizzare un
determinato dato in una determinata locazione di memoria;
2) l’operazione di lettura, cioè quella operazione che ci consente di recuperare, e quindi di
porle in uscita, le informazioni contenute in determinate locazioni.
Le memorie differiscono l’una dall’altra per la loro architettura, cioè differiscono nel modo
di accedere, tramite un indirizzo, ad una locazione di memoria. Per questo motivo esse
vengono classificate in:
a) memorie ad accesso sequenziale;
b) memorie ad accesso diretto;
c) memorie ad accesso ad indirizzo implicito.
Memorie Ad Accesso Sequenziale
Si ha una memoria ad accesso sequenziale, quando sia l’operazione di lettura che quella di
scrittura agiscono su un singolo dato alla volta. Nella fase di lettura viene messo in uscita il
dato contenuto nella locazione di memoria corrispondente all’indirizzo successivo a quello
dell’ultima locazione alla quale si ha avuto accesso; nella fase di scrittura l’informazione
viene immagazzinata nella locazione corrispondente all’indirizzo successivo a quello
dell’ultima locazione alla quale si ha avuto accesso.
Memorie Ad Accesso Diretto
Si ha una memoria ad accesso diretto, quando è possibile prelevare o immettere dati in
diverse locazioni di memoria, senza tener conto dell’indirizzo dell’ultima locazione alla
quale si ha avuto accesso. Questo tipo di memorie sono anche chiamate memoria ad
accesso casuale, perché esse non sono in grado di prevedere il futuro indirizzo a cui l’utente
vorrà accedere o per leggere o per scrivere.
3
Claudio Fratto
Laboratorio Sistemi
Esercitazione N°1
08-10-2007
Memorie Ad Accesso Ad Indirizzo Implicito
Si ha una memoria ad accesso ad indirizzo implicito, quando l’accesso viene effettuato
sempre alla stessa locazione di memoria; ciò fa si che soltanto una locazione di memoria sia
in collegamento con l’esterno. In questo tipo di memorie, nella fase di scrittura il dato
immesso dall’utente viene memorizzato nella locazione alla quale si può avere accesso;
contemporaneamente a questa operazione il dato contenuto nella locazione stessa viene fatto
scorrere, quindi memorizzato, nella locazione immediatamente successiva; nella fase di
lettura l’informazione viene prelevata dalla locazione alla quale si può avere accesso che,
una volta effettuata la lettura, viene occupata dall’informazione contenuta nella locazione di
memoria più prossima.
LE MEMORIE AD ACCESSO CASUALE
Le memorie ad accesso casuale si dividono, in base alle operazioni che si possono effettuare
con esse, in due categorie:
1) le memorie di sola lettura: ROM (Read Only Memory);
2) le memorie di lettura \ scrittura: RAM (Random Access Memory).
Nelle memorie di sola lettura, le informazioni sono inserite direttamente nella fase di
realizzazione del dispositivo. Esistono tuttavia dei dispositivi, appartenenti a questa
categoria di memorie, che possono essere programmati direttamente dall’utente. Questi
dispositivi vengono chiamati PROM (Programmable Read Only Memory).
Una caratteristica delle memorie di sola lettura è quella che le informazioni, una volta
scritte, non possono essere più rimosse. Esistono, in ogni modo, dei dispositivi ROM i cui
dati possono essere rimossi; questo tipo di memorie possono essere quindi riprogrammate.
Due memorie riprogrammabili sono:
a) le memorie EPROM (Erasable Programmable Read Only Memory), la cui fase di
cancellazione avviene proiettando, sulla superficie di silicio del dispositivo, raggi
ultravioletti. Una caratteristica di questo genere di memoria è quella che, per essere
riprogrammate, devono essere rimosse dalla scheda sulla quale si trovano;
b) le memorie EEPROM (Erasable Electrically Programmable Read Only Memory), la
cui fase di cancellazione avviene attraverso l’utilizzo di impulsi di tensione di valore e
durata prestabiliti. Questo genere di memorie possono essere riprogrammate
direttamente sulla scheda sulla quale si trovano.
Nelle memorie di lettura \ scrittura è possibile accedere ad una qualsiasi locazione, sempre
utilizzando un indirizzo binario, o per prelevare un dato (lettura) o per memorizzarne uno
(scrittura). La caratteristica di questo tipo di dispositivi è quella che, in fase di scrittura, il
nuovo dato che si va a memorizzare, si va a sovrascrivere a quello già presente nella
locazione.
4
Claudio Fratto
•
Laboratorio Sistemi
Esercitazione N°1
08-10-2007
MEMORIE E DISPOSITIVI UTILIZZATI NELL’ESPERIENZA
Le memorie utilizzate nell’esperienza sono state:
1) una memoria PROM 32 composta da:
a) un bus indirizzi ( cioè l’insieme delle linee sulle quali bisogna porre l’indirizzo,
sottoforma di numero binario, della locazione di memoria alla quale si vuole
accedere) formato da cinque pin (N° locazioni = 2^N° pin => 2^5 = 32 locazioni
disponibili);
b) un pin rappresentante il Chip Select (CS), cioè quel chip in grado di abilitare o
meno tutto il dispositivo;
c) un bus dati (cioè l’insieme delle linee sulle quali viaggiano, in binario, le
informazioni) formato da otto pin (N° massimo che la memoria poteva contenere
= 1111 1111(2) = 255(10) = FF(16));
2) una memoria RAM 1k formata da:
a) un bus indirizzi formato da dieci pin (N° locazioni = 2^10 = 1024 locazioni
disponibili);
b) un pin rappresentante il Chip Select (CS);
c) un bus dati formato da otto pin;
d) un bus di controllo (cioè l’insieme delle linee che permettono di regolare il
trasferimento dei dati) formato dal pin WE (Write Enable). Esso, secondo il suo
stato, consente di stabilire il tipo di operazione che si vuole effettuare sulla
memoria: se il suo stato è a livello basso, si abilita l’operazione di scrittura; se il
suo stato è a livello alto, si abilita l’operazione di lettura.
I dispositivi utilizzati nell’esperienza sono stati:
1) nove switch, cioè degli interruttori logici che ci consento di stabilire lo stato logico di un
pin; essi possono assumere due livelli logici: il livello alto (1), che corrisponde ad una
tensione pari a 5V, ed il livello basso (0), che corrisponde ad una tensione pari a 0V;
2) otto LED, cioè dei dispositivi capaci di convertire degli impulsi elettrici in impulsi
luminosi. Ognuno di essi, quando ricevono in ingresso un dato a livello alto, si
accendono; quando ricevono in ingresso un dato a livello basso, rimangono spenti;
3) otto Buffer 3-State, cioè dei dispositivi in grado di scollegare virtualmente alcune linee
di collegamento.
Il buffer 3-S è un sistema digitale che in uscita, oltre ai due livelli logici consueti (0 e 1),
può assumere un terzo stato: lo stato di alta impedenza. Esso è costituito da un ingresso,
da un’uscita e da un gate, che funziona in logica negativa. Se il gate è attivo,
l’informazione presente in ingresso è la stessa di quella presente in uscita; se il gate è
disattivato, il dispositivo si scollega virtualmente dal circuito facendo si che il dato in
ingresso non agisca più sull’uscita.
Sono stati utilizzati questi tipi di dispositivi per non far andare in conflitto l’uscita della
memoria PROM con l’ingresso \ uscita della memoria RAM.
5
Claudio Fratto
•
Laboratorio Sistemi
Esercitazione N°1
08-10-2007
FASE 1: PROGETTAZIONE E REALIZZAZIONE
Nella fase di progettazione si è valutato a priori le memorie ed i dispositivi da utilizzare per
arrivare a compimento dell’oggetto dell’esperienza. Una volta terminata la fase di
progettazione si è stati in grado di passare alla fase di realizzazione al PC, attraverso il
software di simulazione Circuit Maker. Per fare ciò si è messo sul banco di lavoro virtuale
tutto ciò che serviva per realizzare il circuito, prelevando ogni memoria ed ogni dispositivo
da una lista messa a disposizione dal software. Dopo quest’operazione, si è potuto
programmare la memoria PROM memorizzando un dato, sottoforma di numero binario, ad
ogni sua locazione di memoria.
In seguito si è collegato:
1) cinque switch ai rispettivi pin del bus indirizzi sia della PROM che della RAM (ES.
switch A0 ai pin A0 delle due memorie; switch A1 ai pin A1 delle due memorie; ecc.);
2) uno switch ai restanti pin del bus indirizzi della memoria RAM, inizializzandoli a 0;
3) uno switch al Chip Select della PROM;
4) uno switch al Chip Select della RAM;
5) uno switch al pin WE della memoria RAM;
6) le otto uscite della memoria PROM agli otto ingressi dei buffer 3-S (ES. pin O0
all’ingresso di B0; pin O1 all’ingresso di B1; ecc.);
7) le otto uscite dei buffer 3-S alle otto uscite della memoria RAM (ES. uscita di B0 al pin
I00; uscita B1 al pin I01; ecc);
8) gli otto gate dei buffer 3-S al WE;
9) le otto uscite della memoria RAM agli otto LED (ES. pin I00 a L0; pin I01a L1; ecc.).
Osservazione sul Buffer 3-S:
si è collegato il buffer 3-S in questo modo perché: se si impostava lo switch del WE allo
stato 1 (abilitando l’operazione di lettura della RAM) le linee di collegamento tra le uscite
delle due memorie dovevano essere disabilitate (per consentire ai LED di non essere
dipendenti dallo stato dei pin della PROM ma solo dallo stato dei pin della RAM). Per far
sì che ciò accadesse il gate del buffer 3-S doveva risultare disabilitato, ovvero doveva essere
allo stato 1.
Una volta finiti i collegamenti si è potuti passare alla fase di simulazione del circuito per
collaudarlo e verificare quindi il suo corretto funzionamento.
•
FASE 2: SIMULAZIONE DEL CIRCUITO E COLLAUDO
Per effettuare il collaudo con Circuit Maker, si è dovuto impostare il tipo di simulazione che
si intendeva effettuare (Digital Simulation). Dopo avere impostato la simulazione, è stato
attivato il comando RUN SIMULATION; si è potuto, così, interagire con la grafica del
software fornendo, attraverso gli interruttori collegati ai bus indirizzi delle due memorie,
tutti gli indirizzi possibili per accedere a tutte le locazioni di memoria. Ogni volta che si
combinavano gli switch, per copiare l’informazione contenuta nella PROM (corrispondente
all’indirizzo fornito dagli interruttori) nella RAM (con il medesimo indirizzo) si è dovuto
abilitare la scrittura della memoria portando l’interruttore del WE allo stato 0.
Per verificare il corretto funzionamento della fase di scrittura, dopo aver abilitato la fase di
lettura del dispositivo RAM, ponendo l’interruttore del WE allo stato 1, si è andati a
comparare il numero binario presente sul bus dati della RAM (ricavandolo attraverso la
lettura dei LED), di tutte le locazioni di memoria del dispositivo stesso, con il numero
binario immesso, nelle rispettive locazioni di memoria, durante la fase di programmazione
della PROM. Da questo controllo si è arrivati alla conclusione che tutti i dati sono stati
copiati con successo.
6