Struttura logica di un elaboratore elettronico
F.Petrossi
AREA |
|
TEMA |
- Architettura, struttura ed evoluzione: modello logico funzionale di un elaboratore
|
OBIETTIVI |
- distinguere le parti di cui e' composto un elaboratore elettronico (a C.P.U)
- prevedere il percorso dei flussi di informazione nel caso dell'esecuzione di istruzioni
- progettare un programma funzionante scritto su di un simulatore riconoscendo il succedersi dei cicli di acquisizione, decodifica ed esecuzione
|
CONTENUTI |
- celle di memoria, registri
- memoria, unita' di controllo, unita' logico aritmetica, unita' di input e output, bus
- codici operativi
- dati e programma residenti in memoria
- RAM, ROM, microprocessori
|
FASI E TEMPI |
- Presentazione 30 min
- Laboratorio 1 h
|
MATERIALE |
- programma di simulazione in Excel (Macro di Lotus 1-2-3) elab.xls (
elab.zip)
|
BIBLIOGRAFIA |
|
DESCRIZIONE |
Un esecutore umano deve eseguire una serie di "calcoli" su di un abaco seguendo delle istruzioni: di quale materiale ha bisogno, come lo organizza ? Dalla risposta a questa domanda nasce un parallelismo tra organizzazione del lavoro e organizzazione logica di un sistema di calcolo quale l'elaboratore.
Tramite un simulatore in ambiente Excel (Macro di Lotus 1-2-3) si identificano le fasi operative (leggo-interpreto-eseguo) attraverso cui il singolo comando codificato porta al risultato voluto.
I comandi codificati sono anch'essi dati che possono essere memorizzati internamente all'elaboratore. Il comando di esecuzione di un programma fa utilizzare tali dati (il programma) in modo diverso passando il controllo dall'utente all'esecutore, tramite anche un contatore di programma.
Programmi possono essere memorizzati permanentemente in memorie di sola lettura. |
|
|
Un esecutore umano deve eseguire una serie di "calcoli" su di un abaco
|
L'abaco
(unità aritmetica, in azzurro) è il luogo in cui vengono eseguiti i
calcoli, secondo regole date.
I dati iniziali ed i risultati, però, devono
essere depositati da qualche parte (celle di memoria, in arancione).
Le istruzioni devono
essere lette una a una dall'operatore umano.
Oltre ciò deve esistere una regola generale che
alterni la lettura delle istruzioni alla loro esecuzione |
Note operative per il simulatore "elab"
"ELAB.XLS" e' un foglio per Excel in cui sono presenti delle "macro" (programmi nel linguaggio di 123) che permettono di simulare il comportamento di un elaboratore elettronico.
L'utilizzo del simulatore deve essere preceduto da una spiegazione generale sulla struttura logica dell'elaboratore.
Si carichi il foglio ELAB.XLS: alla comparsa del pannello che simula la struttura logica del computer si notino le seguenti parti:
- Memoria centrale
- Unita' logico aritmetica
- Unita' di controllo
- Input
- Output
- I registri
- R. L/s (di lettura / scrittura)
- R. Ind (di indirizzo di memoria)
ESEGUE: Ctrl-R INIZIO Ctrl-Z |
|
|
|
|
|
|
|
|
|
R. IND |
|
|
|
|
|
|
R.Con.Pr |
|
|
|
|
0 |
|
|
|
|
|
|
|
0 |
|
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
1 |
34 |
|
|
|
|
|
|
R.Istr. |
|
|
|
E |
2 |
0 |
|
|
|
|
|
|
0 |
0 |
|
|
|
M |
3 |
0 |
|
|
|
|
|
|
|
|
|
|
|
O |
4 |
0 |
|
|
|
|
|
Controllo |
|
|
|
|
R |
5 |
0 |
|
|
|
|
|
|
|
|
|
|
|
I |
6 |
0 |
|
|
|
|
|
|
|
|
|
|
|
A |
7 |
0 |
|
R.L/S |
|
|
|
|
Reg |
|
ACC |
|
|
|
8 |
0 |
|
0 |
0 |
|
|
|
0 |
|
0 |
|
|
C |
9 |
0 |
|
|
|
|
|
|
|
|
|
|
|
E |
10 |
0 |
|
|
|
|
|
Unità Logico Aritmetica |
|
|
N |
11 |
6 |
|
|
|
|
|
|
|
|
|
|
|
T |
12 |
1 |
|
|
|
|
|
|
|
|
|
|
|
R |
13 |
7 |
|
|
|
|
|
|
|
|
|
|
|
A |
14 |
1 |
|
|
|
|
|
--INPUT-- |
|
OUTPUT |
|
|
L |
15 |
0 |
|
|
|
|
|
0 |
0 |
|
0 |
|
|
E |
16 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
17 |
0 |
|
|
|
Dr. Furio Petrossi _ Udine |
|
|
|
|
18 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
Utilizzo Del Simulatore
Nell'unita' di INPUT - caselle I19 e J19 - dovranno essere scritti due numeri: il primo (numero a sinistra) riguarda quello che l'elaboratore dovra' fare (CODICE OPERATIVO), il secondo numero (l'indirizzo) della memoria che sara' interessata all'azione; nel caso non vi siano memorie interessate si scriva 0 (zero).
Per far eseguire quanto scritto nell’unità di INPUT si prema il tasto Ctrl e contemporaneamente il tasto R (sarà il segnale di Invio del comando)
I Codici Operativi sono i seguenti:
Codice Operativo |
Sigla mnemonica
|
Descrizione |
0 |
stop |
Azzera i registri, ferma l'esecuzione di un programma |
1 |
car |
Carica il contenuto della memoria indicata in Reg |
2 |
cara |
Carica il contenuto della memoria in ACC |
3 |
sca |
Scarica (duplica) il contenuto di ACC nella memoria indicata |
4 |
add |
Addiziona Reg ad ACC e mette il risultato in ACC |
5 |
sott |
Sottrae Reg ad AC e mette il risultato in ACC |
6 |
legg |
Attende la scrittura di un numero in INPUT e lo memorizza nella memoria indicata |
7 |
scri |
scrive il contenuto della memoria indicata in OUTPUT |
8 |
sltnz |
se ACC e' diverso da zero salta ad eseguire il programma scritto in memoria a partire dalla locazione indicata |
9 |
run |
Esegue il programma scritto in memoria a partire dalla locazione indicata |
Esempi:
CASELLA I19 |
CASELLA J19 |
INTERPRETAZIONE |
2 |
9 |
carica il contenuto della memoria "9" nell'accumulatore ACC |
6 |
4 |
legge da INPUT un numero e - dopo la pressione di Invio - lo memorizza nella memoria "4" |
9 |
9 |
esegue come programma" la sequenza di numeri (interpretati come coppie codice operativo + indirizzo di memoria) scritti a partire
dalla memoria "9", finche' non incontri una coppia "0 0" (Stop)
|
(Far sempre seguire da Ctrl-R)
(Far sempre seguire da Ctrl-R)
Si notino le seguenti fasi nell'esecuzione:
- Lettura dell'istruzione, trasportata nel Registro Istruzioni (R. Istr.)
- Preparazione all'apertura delle "porte" di comunicazione tra le varie memorie dopo aver depositato nel Registro Indirizzi (R.IND) il numero della memori interessata
- Esecuzione dell'istruzione descritta dal Codice Operativo.
Esecuzione di un programma
Siano scritti, a partire dalla memoria "11" i seguenti numeri:
N° Memoria |
Contenuto |
11 |
6 |
12 |
1 |
13 |
7 |
14 |
1 |
15 |
0 |
16 |
0 |
Essi , all'attivazione del comando
(I19) (J19)
- 9 11 Esegui partire dalla memoria "11"
verranno interpretati nel seguente modo:
leggi e memorizza in "1"
7 1 scrivi il contenuto di "1"
0 0 ferma l'esecuzione e ritorna il controllo a INPUT
Si nota che dopo il comando di esecuzione "9 11" il controllo passa da INPUT al simulatore; sono individuabili diverse fasi:
- il contatore del programma (R. Con. Pr.) assume un valore che indica da quale memoria verranno prelevate le istruzioni
- l'istruzione viene prelevata dalla memoria, interpretata
- l'istruzione viene eseguita eseguita
|