Struttura logica di un elaboratore elettronico
F.Petrossi


AREA

  • Informatica

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


wpe1.jpg (78239 bytes)
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:

  • 6 1 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