circuiti e reti logiche - Il Ciclo dell`Informazione

CIRCUITI
E RETI LOGICHE
Abbiamo finora esaminato codici binari e
artefatti meccanici di tipo binario attraverso i
quali trasmettere essenzialmente comandi.
Con l’avvento dell’energia elettrica si verifica
un salto di qualità: non più ingranaggi ma
impulsi elettrici.
Ma come funziona una macchina elettrica? A volte sembra che ragioni: come mai? E come la si
potrà costruire per poter immagazzinare ed elaborare dati? Vista l’età ed i possibili
prerequisiti degli studenti destinatari non si intende certo proporre un corso di elettrotecnica
e/o di elettronica ma si ritiene utile presentare, anche se in maniera alquanto semplificata,
alcune nozioni che possono fornire l’idea di come e perché le macchine elettroniche funzionino
in un certo modo e, quindi, quali siano le prestazioni che si può sperare di ottenere da esse.
Prerequisiti
Principi di logica formale
Operazioni e loro proprietà
Concetti di base sull’energia elettrica
Modulo precedente
Obiettivi formativi
Trovare il collegamento tra logica e computer, di cui tutti parlano, per scoprire che non
significa che il computer “pensa” e perciò ha un comportamento “logico”
Ricordare che dietro alla “magia” di ogni macchina elettronica c’è un progetto umano con tutti i
limiti che tale “umanità” comporta
Essere consapevoli che comunque le idee risolutive e l’interpretazione dei risultati ( anche se
apparentemente scontate) risiedono esclusivamente nella mente umana ad un elevato livello di
astrazione e sofisticazione.
Obiettivi specifici
Motivare in parte lo studio della logica e del calcolo proposizionale
Saper tradurre alcune asserzioni espresse nel linguaggio italiano nella corrispondente rete logica
Stimolare la creatività degli allievi nell’analizzare e/o progettare semplici macchine
Usare le proprietà delle operazioni logiche per semplificare una rete
Acquisire manualità e abilità pratiche
Prendere le distanze dalla fantascienza osservando le caratteristiche ma anche alcuni limiti delle
macchine elettroniche
Rivalutare il ruolo dello studio dell’hardware per rilevare l’elementarietà dei suoi principi
fondanti piuttosto che la sua complessità.
1
Descrizione delle fasi di lavoro
Contenuti
Sapere
Saper fare
Metodologie
Collegamenti
Prima
lezione
Le macchine
elettriche
Saper individuare le
componenti di una
macchina
Saper attuare una
comunicazione
verso una macchina
Conversazione
clinica.
Lezione frontale
Primo
modulo
Automi
Seconda
lezione
I circuiti elettrici
Prevedere il
comportamento di in un
circuito elettrico
Progettare e costruire un Conversazione
circuito elettrico
clinica.
Laboratorio
Logica
Fisica
Terza
lezione
Le porte logiche
Riflettere sul ruolo delle
reti logiche in relazione
all’apparente intelligenza
delle macchine
elettroniche
Usare una rete logica
per ottenere determinati
comportamenti da una
macchina
Lezione frontale.
Laboratorio
Logica
Fisica
Modulo
precedente
Quarta
lezione
Semplificazione di
reti logiche
Le reti come insieme di
classi di equivalenza
Il significato della
semplificazione di una
qualsiasi espressione
Usare il calcolo
proposizionale.
Costruire una rete a
partire dal risultato
atteso
Lezione frontale.
Laboratorio.
Dibattito
Fisica
Semplificazio
ne di
espressioni
Quinta
lezione
Le unità ingresso e
uscita
Comprendere alcune delle Scegliere i collegamenti Lavoro di gruppo
modalità con le quali i
necessari alla codifica di Laboratorio
dati in ingresso e/o uscita una data cifra
vengono elaborati dalle
interfacce
Numerazione
binaria e
codici BCD e
ASCII
Sesta
lezione
Semisommatore e
sommatore
Essere consapevoli che
anche i calcoli vengono
realizzati mediante una
rete logica
Operazioni
binarie
Saper seguire il percorso Lavoro di gruppo
delle variabili in una
rete complessa
Materiali
Per ogni singola lezione si possono trovare esempi di esercizi, schede esplicative per gli alunni,
complementi per gli insegnanti.
Gli oggetti usati nel corso delle lezioni sono invece presentati e illustrati nell’appendice.
Per illustrare il funzionamento delle reti logiche e la dinamica della relativa evoluzione è
disponibile l’applicazione interattiva LogicNets, accessibile attraverso le pagine ipertestuali di
questa unità. Un simile strumento permette, in particolare, di capire come le porte logiche possano
essere impiegate per realizzare dispositivi come i flip-flop.
2
Prima lezione
Le macchine elettriche
Conversazione clinica
Si chiederà agli alunni di pensare a quelle macchine elettriche con le quali interagiscono nella vita
di tutti i giorni e delle quali hanno già esaminato, nel precedente modulo, il linguaggio e il canale di
comunicazione. Si osserverà che noi ne parliamo come di un essere umano e quasi ci aspettiamo
che si comportino come tali.
Durante la discussione si cercherà di puntare sull’analisi del comportamento di alcune di esse per
arrivare a distinguete fra una parte “esterna” che serve per introdurre i dati o per rispondere alle
richieste ( interfaccia ) e una parte “interna” nella quale, in modo alquanto misterioso, la macchina
prende decisioni e sceglie comportamenti (parte algoritmica).
Lezione frontale
È il momento di presentare la struttura generale di una macchina elettrica.
Nel desiderio di instaurare un rapporto “amichevole” con le macchine si è cercato di progettarle in
modo che, come se fosse una persona, la macchina:
Acquisisca il dato
Decida cosa fare
Risponda con un lavoro
Quindi se ne può schematizzare il comportamento come segue
Si possono proporre alcuni esempi come il termostato per il riscaldamento invernale, il cancello
elettrico azionato dal telecomando, il giradischi, il lettore di CD, il distributore di bevande…che
serviranno ad evidenziare l’estrema varietà riguardo al tipo di “dati” in ingresso e di “lavoro”
prodotto in uscita. In alcuni casi inoltre il lavoro in uscita può consistere nel reinserimento nella
macchina del risultato dell’elaborazione dei dati.
Ma attraverso cosa la macchina “sente” o “agisce”?
3
Per meglio esemplificare la sua struttura può risultare utile la seguente analogia.
Un ragazzo sta sciando. All’improvviso gli si para davanti un ostacolo e il ragazzo, memore di
precedenti cadute, muove gli sci in modo da frenare.
Possiamo schematizzare il suo comportamento come segue
Se analizziamo più da vicino la “macchina” uomo-sci potremo perfezionare lo schema
Generalizzando potremo osservare l’analogia con una macchina elettrica
Nella quale input come temperatura, pressione di un tasto, fumo, raggi infrarossi,….vengono
tradotti in segnali elettrici e viceversa da segnali elettrici si ottengono output luminosi, sonori,….
Esercizi proposti:
nel racconto della prima lezione del primo modulo riesamina le macchine
coinvolte negli atti comunicativi, cerca di individuarne le interfacce e
descrivi il loro comportamento.
Note per l’insegnante
Se nel contempo si è fatto uno studio sulla classificazione dei problemi, si può parlare del centro
decisionale analizzando il comportamento di alcuni piccoli automi come, per esempio, un
distributore di bevande e ritrovare il grafo degli stati.
4
Seconda lezione
I circuiti elettrici
Visto che si suggerisce di attuare la presente unità usando un’ora settimanale si ritiene che a
questo punto (ottava settimana) l’insegnante abbia già affrontato la logica o per lo meno i
connettivi et, not, vel e le relative regole di calcolo proposizionale.
Si suggerisce di effettuare questa lezione nel laboratorio di fisica o per lo meno di portare in classe
il materiale elettrico necessario in quanto esso costituisce uno dei mediatori attivi più accattivanti e
motivanti lo studio.
Conversazione clinica
Nella lezione precedente abbiamo parlato di elettricità: quali idee si sono fatti in proposito gli
allievi? In mancanza di un corso parallelo di fisica nel quale si potrebbero anticipare alcuni concetti
elementari sull’energia elettrica, si potranno sondare le loro conoscenze anche a livello ingenuo
invitandoli ad immaginare e/o disegnare un circuito elettrico con un interruttore e una lampadina
Intervista guidata
Concentriamo ora l’attenzione su macchine che presentino una interfaccia costituita da più
interruttori ( o sensori). Perché si comportano in modo diverso le une dalle altre?
Si potranno inizialmente presentare due circuiti, con interruttori rispettivamente in serie e in
parallelo, dei quali per il momento si vedano solo due interruttori e una lampadina che si accende o
si spegne. Dopo aver fatto alcune prove con l’uno e con l’altro si accetteranno congetture sulla
composizione interna del congegno.
Questa situazione a scatola chiusa fa sì che, per quanto i circuiti in questione siano elementari,
anche gli alunni che li hanno già incontrati alle medie abbiano difficoltà a riconoscerli, ma, alla
fine, essere riusciti a scoprire il tracciato interno li incoraggerà, nelle lezioni seguenti, a cercare di
scoprire cosa contengono altre “scatole nere” molto più misteriose. Dopo aver aperto i contenitori
ed osservato la posizione dei fili e degli interruttori, sarà facile immaginare e disegnare altri circuiti
più complessi oppure interpretarne alcuni già disegnati descrivendoli a parole.
Questa descrizione ( “… la lampadina si accende quando chiudo A ma non B oppure….) offre la
possibilità di riflettere sulla parte strettamente linguistica e sui i connettivi che spontaneamente
vengono usati.
Ne emerge l’analogia fra lo stato degli interruttori e il valore di verità delle proposizioni, fra le
posizioni degli interruttori e gli operatori logici.
Esercizi proposti
circuiti elettrici
5
Note per l’insegnante
ƒ
I soliti disegni di circuiti in parallelo o in serie fanno pensare “se gli interruttori…. allora la
lampadina si accende” e quindi ad una implicazione o, come minimo, ad una relazione causaeffetto. Ne deriva una misconoscenza dell’isomorfismo tra i circuiti e le espressioni di logica.
Forse sarebbe meglio utilizzare come primo esempio l’acqua, che scorre o non scorre, o per lo
meno non scegliere due fenomeni diversi diversi in quanto è sul valore di verità associata al
fenomeno che si manifesta il problema.
ƒ
Attraverso l’osservazione dei circuiti sarà più facile arrivare a disegnare il circuito che
corrisponda ad alcune consegne contenenti come connettivi un et o un vel. Più difficile è
disegnare lo schema di un dispositivo che preveda un non; infatti per il corrispondente circuito
è necessario ricorrere ad una elettrocalamita che non è facile rappresentare nel disegno e per
gli alunni la presenza nello stesso disegno di un interruttore e del suo negato viene vissuta
prevalentemente come un atto di fede su quanto dichiara l’insegnante.
Anche per questo motivo si suggerisce di passare velocemente alla presentazione delle reti
logiche ( prossima lezione) in quanto, dal punto di vista grafico, non presentano questa
difficoltà.
6
Terza lezione
Le reti logiche
Vengono ora abbandonati i circuiti elettrici e preferite le porte logiche.
La scelta è dovuta essenzialmente a quattro motivi:
il loro studio è fondamentale per seguire il nostro percorso all’interno della macchina,
la presenza nello stesso circuito di un valore e del suo negato non dà i problemi di disegno,
se nelle lezioni di aritmetica, che si intendono svolte in parallelo, è già stata presentata la
rappresentazione ad albero delle espressioni, la lettura e il disegno di una rete risulterà molto più
facile e comprensibile rispetto al circuito elettrico,
interpretando la rete di un semplice dispositivo nella sua versione di proposizione logica è molto
più facile comprendere e giustificare la sensazione di “umanità “ nel nostro rapporto con le
macchine.
Lezione frontale
Dopo aver presentato le porte logiche e sottolineato l’analogia fra circuiti elettrici e connettivi
logici, si deve richiamare il discorso fatto nella prima lezione del modulo.
Le macchine con le quali interagiamo quotidianamente sono state progettate in modo da proporsi
come un interlocutore umano al quale noi, attraverso manipolazioni di cursori, pulsanti e quant’altro
abbiamo l’impressione di fare dei discorsi. Chi non ha mai esclamato davanti ad una macchina che
non funziona “ Su! Accenditi ! Perché non ti muovi?” mentre preme per l’ennesima volta il pulsante
di avvio?
Nella illusione di un contatto “umano” dimentichiamo che la comunicazione ad una macchina,
come già osservato nel primo modulo ( terza lezione) si riduce quasi sempre alla chiusura di un
circuito o ad una variazione di tensione e l’impressione che un dispositivo voglia o non voglia
obbedire a delle direttive è dovuta alla struttura della rete logica che costituisce la parte decisionale,
il cuore della macchina stessa.
Esaminiamo quindi questa parte decisionale.
Nel progettare questa parte si deve tenere conto del lavoro che si vuole ottenere ma anche delle
variabili ( dati) in base alle quali si determina il comportamento della macchina.
Supponiamo per esempio di voler programmare il sistema di irrigazione del nostro giardino in modo
che la pompa dello spruzzo di irrigazione si metta in moto se la temperatura supera i 30 gradi,
oppure se sono passate le ore 20 e viene premuto il tasto di avvio.
In questo caso il lavoro richiesto è l’irrigazione e si può ottenere mediante l’invio di un apposito
impulso elettrico al dispositivo di accensione della pompa.
7
Le variabili coinvolte (dati in ingresso) sono la temperatura, l’ora e la posizione del tasto di avvio
ed il loro valore viene rilevato da apposite interfacce.
Posto
I = irrigare
O= sono passate le ore 20
T = la temperatura supera i 30 gradi
P = il tasto è stato premuto
Il programma di lavoro che abbiamo richiesto può essere tradotto nella seguente espressione
I = T ∨ ( O ∧ P)
Che corrisponde alla seguente rete logica
T
I
O
P
Dove T, O, P saranno i collegamenti rispettivamente a un sensore di temperatura, a un orologio e
all’interruttore, mentre I rappresenta il collegamento a un dispositivo di accensione della pompa.
Si può quindi concludere che, realizzando tale rete, si ottiene una “macchina” che esaudisce le
nostre richieste ed effettivamente, esaminando la corrispondente tabella
T
0
0
0
0
1
1
1
1
O
0
0
1
1
0
0
1
1
P
0
1
0
1
0
1
0
1
I
0
0
0
1
1
1
1
1
possiamo verificare che la macchina irrigatrice entrerà in funzione solo nelle circostanze prescritte.
La parte decisionale risulta quindi essere una rete logica costruita dal progettista in modo da
soddisfare tutte le esigenze che un ipotetico cliente potrebbe esprimere attraverso proposizioni e
connettivi logici.
Es. “ voglio che il cancello di ingresso si apra se ho disattivato l’allarme e uso il telecomando o la
scheda magnetica”
Il lavoro richiesto è l’apertura del cancello. Il comportamento della macchina ( il suo programma di
lavoro) viene condizionato attraverso: disattivazione dell’allarme (A) AND ( uso del telecomando
(T) OR della scheda magnetica (M)).
8
Costruita la rete logica corrispondente, ci accorgiamo che la macchina e la sua presunta “umanità” è
tutta lì: i tre sensori in ingresso, il filo in uscita, (che manda l’impulso per l’apertura ad un’altra
macchina) e, nel mezzo, la rete, che è in effetti la vera macchina.
E il colloquio che noi pensiamo di avere con essa (apriti cancello!) lo ha avuto in effetti il
committente con il progettista che lo ha poi tradotto nella rete.
Esercizi proposti
problemi da risolvere attraverso reti logiche.
Note per l’insegnante
Informazioni dettagliate sulle reti logiche si possono leggere su numerosi siti, per es.
http://users.unimi.it/metis/METIS-MKB/courseware/algebra_booleana/
ƒ
ƒ
Le operazioni et e vel vengono fisicamente realizzate da due tipi di circuiti elettronici, detti
porta AND e porta OR. Come già osservato all’inizio di questo modulo, anche se sarebbe
interessante approfondire il discorso del passaggio dagli interruttori ai relè ai transistor ed
infine alle porte, non è questa la sede per un approfondimento di come esse siano costruite:
verranno trattate come “scatole nere” definendo semplicemente porta logica un circuito
elettronico che opera con uno o più segnali di input per produrre un segnale di output e le cui
tabelle sono isomorfe a quelle delle operazioni logiche elementari. Un discorso analogo si fa
per il NOT.
ƒ
Per questa lezione sono state preparate alcune porte AND, OR e NOT (secondo le istruzioni
allegate) per far realizzare fisicamente le reti degli esempi proposti in modo che gli allievi
possano vedere che effettivamente la macchina da loro progettata reagisce come previsto.
ƒ
Va osservato che comunque il tipo di macchina di cui si sta parlando è ancora cablata e che
per ottenere un comportamento diverso si deve cambiare di volta in volta la rete logica (che è
quanto si doveva fare con i primi computer che richiedevano giorni di lavoro per spostare e
reinserire cavi).
ƒ
Per poter seguire le illustrazioni del modulo seguente, oltre ai due operatori binari richiamati
sopra e l’operatore unario NOT che corrisponde alla negazione, si deve introdurre anche la
porta che risulta dalla fusione di un AND con un NOT detta NAND.
9
Quarta lezione
Reti equivalenti
Lezione frontale
Nella precedente lezione sono stati esaminati esempi e proposti per casa esercizi elementari dove la
richiesta si poteva facilmente tradurre in una proposizione logica abbastanza semplice e facilmente
riconducibile ad una rete logica di immediata stesura. Quando il problema si fa complesso
coinvolgendo numerose variabili tutto ciò risulta alquanto laborioso e perciò, invece di cercare di
tradurre il discorso in espressione logica, si preferisce partire dalla tabella dei risultati previsti
costruendo reti logiche con tabella assegnata.
Anche in questo caso l’espressione e la relativa rete possono presentarsi alquanto complesse. È in
questa occasione che il calcolo proposizionale ha nella semplificazione di reti logiche una delle sue
applicazioni più interessanti.
Può essere infatti l’occasione giusta per far notare il vero scopo di tanti calcoli, scomposizioni e
semplificazioni delle espressioni algebriche che spesso vengono vissute dagli allievi come un puro
gioco di precisione senza alcun apporto pratico.
Come ci sono infinite espressioni numeriche che portano allo stesso risultato e che quindi si
possono dire tra loro equivalenti, così circuiti che portano ad una stessa combinazione in uscita
formano classi di equivalenza entro le quali conviene scegliere il circuito più semplice.
Esercizi proposti
semplificazione di reti
Nota per l’insegnante
A proposito di reti equivalenti si può far dimostrare che ogni connettivo si può tradurre in una
opportuna composizione di NAND che, quanto a costo di produzione, risulta essere il circuito più
economico e quindi il più usato (lo ritroveremo nel terzo modulo).
A
B
A
B
A
B
A
B
A
A
10
Quinta lezione
Unità di ingresso e uscita
Intervista guidata
Si è trovato come costruire una macchina che si comporti secondo i nostri desideri usando alcuni
interruttori per comunicare con esse. Ogni richiesta corrisponde ad una combinazione diversa e
quindi ad una risposta ( un lavoro) diversa. Ma se il lavoro che desidero ottenere da una macchina
non è determinato semplicemente dall’accensione e dallo spegnimento di un unico dispositivo, ma
dall’attivazione e disattivazione di una serie di componenti, come avviene quando si vuole
codificare? si presentano due problemi: uno è come introdurli, l’altro è dove custodirli.
Tralasciamo per il momento il secondo e osserviamo l’unità di input di una calcolatrice.
I dati che vi si inseriscono sono di due tipi: numerici o funzionali.
(Noi tendiamo a considerare dati esclusivamente quelli numerici ma, dal punto di vista dello
strumento, anche il segno di operazione è un dato).
Questi dati vengono introdotti attraverso la pressione dei tasti, uno per ogni cifra o operatore.
In effetti un tasto non è altro che un interruttore che chiude un circuito: quando la calcolatrice è
accesa, e quindi tutti i suoi componenti sono sotto tensione, la pressione del tasto crea una
variazione della tensione stessa inviando il segnale corrispondente lungo un filo.
Per ogni tasto vi è quindi un solo filo che porta il dato: un solo bit. Come si può trasmettere un
segno di operazione o addirittura un numero composto da più cifre?
Per quanto riguarda il numero, osserviamo esso viene inviato non in blocco ma cifra per cifra e
questa potrebbe sembrare già una semplificazione.
Per un osservatore esterno però il nocciolo del problema rimane irrisolto in quanto ci si chiede come
la tensione su un unico filo possa differenziare 10 situazioni diverse ( le 10 cifre): forse con 10
livelli di tensione diverse?
È una alternativa che appare abbastanza improponibile.
Dalla discussione che segue si dovrebbe far notare che il fatto che la calcolatrice accetti una cifra
per volta fa pensare ad una codifica di tipo BCD.
Ma una codifica di quel genere prevede l’uso di 4 bit (24 > 10) e quindi di quattro tensioni o di
quattro fili: allora sotto il tasto c’è un filo? ce ne sono quattro? ce ne sono di più?
Si porta gli allievi a concludere che serve una interfaccia, nel nostro caso un codificatore, che
trasformi la variazione di tensione su un filo in una combinazione di tensioni su quattro fili.
11
Lezione frontale
Questa componente elettronica, senza entrare nei dettagli, si può immaginare come una ”scatola
nera” con dei fili provenienti dalla tastiera in entrata e, per ora, con 4 fili in uscita.
In questi fili i livelli di tensione sono due e vengono, come sempre, denominati con “0” e “1”
Quando la calcolatrice è accesa e quindi tutti i suoi componenti sono sotto tensione, la pressione del
tasto crea una variazione della tensione stessa come indicato nella figura (il tasto non è premuto =>
uscita 1; il tasto è premuto => uscita 0) e invia il segnale corrispondente lungo il filo che lo collega
al codificatore.
Guardando più in dettaglio possiamo vedere che tale codificatore può essere composto da una rete
logica di cui la parte principale è schematizzata nella seguente figura dove,come succede nella
realtà, sono state usate porte a più ingressi ( che negli esercizi delle lezioni precedenti erano state
escluse per motivi didattici) e di tipo NAND in quanto, come detto sopra, sono le più convenienti
dal punto di vista della produzione.
U4
U3
U2
U1
1
9
8
7
6
5
4
3
2
1
0
0
12
Come si può notare questa sezione del codificatore interessa i tasti dall’1 al 9 (tralasciamo per il
momento il discorso sullo zero).
Inizialmente tutti gli interruttori sono posizionati a 1 e ciò produce uno 0 in tutte le uscite.
La pressione di un tasto porta a 0 la tensione sul filo sottostante mentre gli altri fili che pervengono
alle porte NAND ad esso collegate, non essendo premuto il tasto corrispondente, hanno ancora
tensione1.La tensione all’uscita da tali porte vale perciò 1.
0
1
1
0
1
9
8
7
6
5
4
3
2
1
Per maggiore chiarezza
nella figura è stato evidenziato
solo il filo del tasto 6 che è
posto a “0” e sottintesi quelli
che dagli altri tasti (4, 5, 7)
portano tensione “1”
0
0
Va notato che quando non è premuto alcun tasto, questa parte del codificatore dà come uscita 0000
Per questo motivo non c’è un collegamento delle porte con il tasto 0 ma da esso esce comunque un
filo che va a confluire in una ulteriore rete che serve a far distinguere alla macchina se è stato
premuto un tasto numerico o uno funzionale e a far visualizzare il simbolo dello zero quando esso
fa parte della rappresentazione del numero che si sta componendo.
Si può notare in particolare che in questo modo vengono utilizzate solo 10 tra le 16 combinazioni di
0 e 1 che si possono ottenere con 4 bit.
In effetti tali possibilità in eccesso ( 1010, 1011, 1100,….) potrebbero venire associate dal
progettista a segni di operazione o ad altro e come tali venire riconosciute dal codificatore
attraverso una ulteriore rete logica.
Anche la tastiera di un qualsiasi computer presenta un funzionamento analogo. La differenza
principale sta nel fatto che attraverso tale tastiera noi vogliamo comunicare anche lettere
dell’alfabeto, simboli, ecc., per cui non sarà possibile usare solo 4 bit ma ne serviranno almeno 7 e
una nuova codifica, concordata a livello internazionale, per esempio il codice ASCII.
Esercizi proposti
le reti logiche della lezione precedente
13
Note per l’insegnante
ƒ
È importante far osservare agli allievi come la codifica interna del simbolo corrispondente al
tasto premuto, dal punto di vista della calcolatrice, non sia altro che un dato. Si pensa sempre
a un dato numerico quando si parla di memorizzare ed elaborare ma è di fondamentale
importanza sottolineare che è un dato anche il segno di operazione. L’operazione verrà poi
realizzata da una routine, ma la routine associata all’operatore non viene attivata dal tasto
premuto: la rappresentazione del segno di operazione viene anch’essa memorizzata come dato
per essere poi interpretata più tardi.
ƒ
Per le classi sperimentali non si deve dimenticare di evidenziare che anche i programmi che
vengono sottoposti al computer vengono visti dal compilatore come dati in ingresso.
ƒ
Tempo permettendo, sarebbe forse questo il momento giusto per riprendere e sottolineare la
differenza fra dato e informazione.
ƒ
Dopo aver esaminato il progetto di un codificatore a quattro uscite ( codifica BCD) si potrà
facilmente prevedere il tipo di hardware quando si debbano codificare anche lettere e caratteri
vari (richiamo del codice ASCII) e si potrà accennare a come con un metodo analogo, anche se
più complesso, si potrebbe costruire un decodificatore.
14
Sesta lezione
Progettiamo un sommatore
Questa lezione assieme alla precedente serve da preparazione al terzo modulo. Manca, all’interno di
tutto il discorso, una componente essenziale: dove si conserva l’informazione? Per il momento si
parlerà genericamente di un deposito o zona di memoria.
Lavoro di gruppo
Dopo aver introdotto i numeri, li posso elaborare? Quali operazioni potrò fare?
Utilizzando quanto appreso nella terza e quarta lezione gli allievi dovrebbero essere in grado di
progettare almeno un semisommatore e, con l’aiuto dell’insegnante, un sommatore.
Esaminiamo la tabella del semisommatore
A
0
0
1
1
B
0
1
0
1
S
0
1
1
0
R
0
0
0
1
Si ottiene per S : ( A ∧ B ) ∨ ( A ∧ B )
e per R: A ∧ B
da cui, a seconda delle semplificazioni, si ottengono le seguenti reti logiche:
A
B
S
R
oppure
A
oppure
S
B
A
S
B
R
R
15
poi il sommatore per un bit
R1
A
S
B
R3
R=R2+R3
R2
e quindi n sommatori in cascata per sommare numeri con n bit
A0
B0
A1
B1
A2
B2
A3
B3
R
S3 S2 S1 S0
16
Note per l’insegnante
ƒ
Agli allievi dà molta soddisfazione arrivare da soli ad uno dei semisommatori. È invece inutile
perdere tempo nella progettazione del sommatore in quanto lo scopo della presente lezione e
del modulo in generale è di far vedere che, con opportuni calcoli, ( e molta pazienza) si può
arrivare a progettare anche un automa che esegua calcoli, attività che agli allievi appare molto
più astratta e “intelligente” che avviare motorini o accendere luci.
ƒ
La propagazione dei segnali che rappresentano i livelli logici nel sommatore può essere
illustrata attraverso l’applicazione interattiva LogicNets, accessibile attraverso le pagine
ipertestuali. Questo strumento permetterà di divenire consapevoli del ruolo dei tempi di
propagazione dei segnali elettrici.
ƒ
Sarà utile mettere in evidenza come da una interpretazione di 0/1 come di valori di verità F/V
si passa in questa fase di progettazione alla interpretazione dei valori 0/1 come cifre binarie.
La logica diventa quindi un fatto puramente formale. Le sue regole sintattiche vengono usate
per eseguire le stesse operazioni ma con diversi modelli interpretativi.
ƒ
Quanto ai rimanenti tipi di operazione sarà l’occasione per analizzare quelle aritmetiche e in
special modo ripassare l’uso del complemento nelle sottrazioni (vedi Appendici).
17