# Algebre booleane e progetto logico dei calcolatori digitali/Teoria della commutazione

Algebre booleane e progetto logico dei calcolatori digitali
Copertina Tutti i moduli · Sviluppo
Parte prima: Algebre booleane
    1.1 IntroduzioneAlgebre booleane e progetto logico dei calcolatori digitali/Introduzione
    1.2 Sistemi di numerazione, aritmetica binariaAlgebre booleane e progetto logico dei calcolatori digitali/Sistemi di numerazione, aritmetica binaria
    1.3 CodiciAlgebre booleane e progetto logico dei calcolatori digitali/Codici
    1.4 Teoria della commutazioneAlgebre booleane e progetto logico dei calcolatori digitali/Teoria della commutazione
    1.5 Algebra delle classi - Algebra della logicaAlgebre booleane e progetto logico dei calcolatori digitali/Algebra delle classi - Algebra della logica
    1.6 Algebre booleaneAlgebre booleane e progetto logico dei calcolatori digitali/Algebre booleane
    1.7 Funzioni booleaneAlgebre booleane e progetto logico dei calcolatori digitali/Funzioni booleane
    1.8 Rappresentazione geometrica delle funzioni booleane e loro minimizzazioneAlgebre booleane e progetto logico dei calcolatori digitali/Rappresentazione geometrica delle funzioni booleane e loro minimizzazione
Parte seconda: Circuiti logici e calcolatori digitali
    2.1 Circuiti logici e di memoriaAlgebre booleane e progetto logico dei calcolatori digitali/Circuiti logici e di memoria
    2.2 Circuiti di un calcolatore digitale (a)Algebre booleane e progetto logico dei calcolatori digitali/Circuiti di un calcolatore digitale (a)
    2.3 Circuiti di un calcolatore digitale (b)Algebre booleane e progetto logico dei calcolatori digitali/Circuiti di un calcolatore digitale (b)
    2.4 Progetto logico di un calcolatore digitaleAlgebre booleane e progetto logico dei calcolatori digitali/Progetto logico di un calcolatore digitale
Modifica il sommario
chiudi indice

## Relais elettromagnetici con interruttori

Numerosi sistemi elettrici hanno nei loro circuiti di comando e di controllo dei relais elettromagnetici. Un tale relais è composto essenzialmente da un elettromagnete e da una armatura mobile, portante delle lamine metalliche.
Ogni lamina è fissata all'armatura da una estremità mentre l'altra estremità è libera e può, a seconda della posizione dell'armatura, chiudere o no un contatto. L'insieme della lamina e del punto di contatto associato, costituisce ciò che si chiama interruttore: esso può essere aperto o chiuso. A seconda che la bobina di eccitazione della elettrocalamita sia eccitata o no da una corrente, l'armatura portante si trova in una o nell'altra di due posizioni: quando non passa corrente d'eccitazione, essa si trova nella posizione detta di riposo mentre de la bobina è eccitata, l'armatura si trova in una seconda posizione.
Si può allora distinguere nella maggior parte dei relè due tipi principali di interruttori: interruttori normalmente aperti e interruttori normalmente chiusi. Gli interruttori normalmente aperti sono aperti quando l'armatura è nella posizione di riposo e chiusi quando questa è attirata dalla elettrocalamita. Gli interruttori normalmente chiusi sono chiusi quando l'armatura è nella posizione di riposo e aperti quando essa è attirata dalla elettrocalamita.
Riassumendo quindi, il relè descritto possiede le caratteristiche seguenti:
* c'è un valore di ingresso costituito dallo stato della bobina di eccitazione: essa può essere eccitata o no;
* vi è un certo numero di uscite, ciascuna delle quali è costituita dallo stato di chiusura o di apertura degli interruttori.
Il rapporto ingresso-uscita (cioè la relazione tramite la quale il relè apre o chiude un contatto in funzione del valore in ingresso) dipende dalla natura degli interruttori: essa può essere riassunta nella tabella seguente:

## Variazioni binarie associate a un relè. Complemento di una variabile

L'esame della tabella rivela che il comportamento di un relè può essere descritto mediante delle variabili che possono assumere 2 valori, cioè delle variabili binarie.
È comodo fare astrazione dal nome delle variabili e utilizzare al posto delle coppie di simboli A$_0$, A$_1$, ecc., 2 simboli solamente (gli stessi per tutte le variabili). Si possono prendere per questo le cifre 0 e 1 e attribuirle in maniera arbitraria ai due stati di ogni variabile:
Si può osservare che quando la variabile X ha un dato valore, la variabile Y ha l'altro. Si può allora porre:
                   $Y={\bar {X}}$
dove la variabile Y è definita in funzione di X: essa si chiama il complemento di X:
complemento di X :
| X | ${\bar {X}}$ |
| 0 | 1 |
| 1 | 0 |
Si hanno allora le relazioni:
                      ${\begin{cases}A=E\\X=A\\Y={\bar {X}}={\bar {A}}\end{cases}}$
Si vede quindi che con questa convenzione, la variabile X associata ad un interruttore normalmente aperto è uguale ad E, mentre quella associata ad un interruttore normalmente chiuso è ${\bar {E}}$, per cui è sufficiente una sola variabile E a definire il relè.
Nasce quindi la convenzione di associare ad ogni relè una lettera X. Il valore della variabile rappresenta lo stato di eccitazione del relè e si indicano con X gli interruttori normalmente aperti e con ${\bar {X}}$ gli interruttori normalmente chiusi.
Esempio: tre rappresentazioni di un circuito con interruttori:
Le differenti lettere che compaiono in uno schema corrispondono ai diversi relè, i differenti simboli X e ${\bar {X}}$ corrispondono agli interruttori di un relè e la presenza o l'assenza della sbarra sulla lettera informa della natura dell'interruttore (normalmente aperto o normalmente chiuso).

## Funzione di trasmissione di un circuito

In generale, dato un circuito a 2 terminali A e B, si definisce una variabile binaria T$_{AB}$ chiamata funzione di trasmissione tramite la seguente convenzione:
${\begin{cases}T_{AB}=1,&{\mbox{il }}cammino{\mbox{ AB}}{\mbox{ è}}{\mbox{ chiuso}}\\T_{AB}=0,&{\mbox{il }}cammino{\mbox{ AB}}{\mbox{ è}}{\mbox{ aperto}}\end{cases}}$
(a) Trasmissione di un interruttore
Dato un circuito costituito da un unico interruttore, si hanno le seguenti relazioni
* Interruttore normalmente aperto:
                      ${\begin{cases}T=1,&{\mbox{se }}{\mbox{X=1}}\\T=0,&{\mbox{se }}{\mbox{X=0}}\end{cases}}$
che permette di scrivere algebricamente:
                   $T=X$
* Interruttore normalmente chiuso:
                      ${\begin{cases}T=1,&{\mbox{se }}{\mbox{X=0}}\\T=0,&{\mbox{se }}{\mbox{X=1}}\end{cases}}$
che permette di scrivere algebricamente:
                   $T={\bar {X}}$
(b) Trasmissione in un circuito
Si consideri il circuito costituito da 2' interruttori X e Y in serie (e la cui natura è generica):
Se gli interruttori X e Y sono entrambi chiusi, il circuito è chiuso. Viceversa, se l'uno dei due interruttori è aperto, o se lo sono entrambi, il cammino tra A e B è aperto.
Si può rappresentare tutto ciò tramite una tabella (tavola della verità) che ha per ingresso le differenti combinazioni possibili di X e Y e, come uscite, il valore della trasmissione T$_{AB}$ del circuito tra A e B. Così la risposta binaria del circuito appare come una funzione T=T(X,Y) delle due variabili binarie X e Yo, ancora, come una operazione sulle variabili X ed Y.
Si porrà allora:
                      $T=X*Y=XY$
Così all'operazione di messa in serie dei 2 interruttori x ed Y è associata l'operazione (*) sui valori algebrici delle variabili X ed Y. Tale operazione si chiama prodotto.
(c) Trasmissione di un circuito con due interruttori in parallelo
Si consideri il circuito costituito da 2 interruttori X e Y (di natura qualsiasi) posti in parallelo. Se uno dei due interruttori X o Y è chiuso, o se sono entrambi chiusi, il cammino tra A e B è chiuso. Viceversa se i due interruttori sono aperti contemporaneamente, il cammino AB' è aperto.
Il funzionamento del circuito AB potrà essere riassunto:
La risposta T$_{BA}$ del circuito appare come una funzione delle due variabili X e Y oppure come una operazione su X e Y che si scriverà:
       $T=X+Y$
Così all'operazione di messa in parallelo di 2 interruttori è associata l'operazione (+) sulle risposte di X e Y, ed è chiamata somma.
Sono così definite tre operazioni sugli interruttori.
* La complementazione: essa consiste nel sostituire ad un interruttore in paralleloX' un interruttore ${\bar {X}}$ dell'altro tipo: la nuova trasmissione è $T={\bar {X}}$.
* La messa in serie: la trasmissione risultante è T=X*Y.
* La messa in parallelo: la trasmissione risultante è x*y.
Finora si sono considerati dei circuiti costituiti da interruttori elementari, e mediante le tre suddette operazioni si sono costruiti altri circuiti, ma si possono naturalmente definire le operazioni -, +, * anche per dei generici circuiti.
* Complementazione: si dice circuito complementare di un circuito di trasmissione T, un circuito che da la risposta $T_{c}={\bar {T}}$
* Messa in serie: T$_1$*T$_2$ dove T$_1$ e T$_2$ sono le risposte dei due circuiti
* Messa in parallelo: T$_p$=T$_1$+T$_2$
Quindi con le operazioni di complementazione, messa in serie e messa in parallelo si può definire un procedimento di costruzione di circuiti sempre più complessi partendo da un circuito elementare. Ad ogni passo costituito da una operazione sui circuiti, si può associare un'operazione algebrica sulla risposta dei circuiti. Al circuito finale si potrà quindi associare una risposta algebrica ed esprimerla in funzione di quella degli interruttori dei differenti relè.
Prima di dare qualche esempio di questo metodo, si esporranno alcune proprietà delle operazioni di -, *, +.
Per dimostrare queste proprietà si può procedere in due maniere:
* ragionando direttamente sui circuiti;
* utilizzando le tavole di definizione delle operazioni.

## Proprietà delle operazioni (-), (*), (+)

Prima di passare alla trattazione delle operazioni (-), (*), (+), diamo qui di seguito la definizione di circuiti equivalenti.
Due circuiti si dicono equivalenti se le variabili associate ai circuiti assumono gli stessi valori, ogni qualvolta gli interruttori, comuni ai due circuiti, si trovano nello stesso stato.
Due circuiti possono essere equivalenti anche se non tutti gli interruttori, di cui sono formati, sono in comune.
In questo caso però le variabili associate ai circuiti non devono dipendere da questi interruttori.
Si indicano le proprietà delle operazioni ($^-$), (*), (+) con i simboli da R$_1$ a R$_{20}$.
Si lascia al lettore, per esercizio, la dimostrazione di tali relazioni.
R$_1$)
R$_2$)
R$_3$)
R$_4$)
R$_5$)
R$_6$)
R$_7$)
R$_8$)
R$_9$)
R$_{13}$)
A titolo di esempio diamo qui di seguito la dimostrazione della relazione
                         $A+B*C=(A+B)*(A+C)$
* Primo metodo: ragionando sui circuiti si vede che se A è aperto, i due circuiti sono chiusi solamente se B e C sono chiusi, e aperti negli altri casi.
Se A è chiuso, i due circuiti sono chiusi qualunque sia lo stato di B e C. I due circuiti hanno quindi lo stesso funzionamento per le diverse combinazioni di A, B, C.
* Secondo metodo: uso delle tavole.
Essendo tre gli interruttori, abbiamo 2$^3$=8 combinazioni di valori per A, B, C. I termini componenti la relazione sono 6 e cioè:
$A,BC,A+BC,A+B,A+C,(A+B)(A+C)$
Calcoliamo pertanto tutte le combinazioni possibili di A, B, C e degli altri 6 termini utilizzando le regole di definizione delle operazioni (+) e (*).
Le colonne corrispondenti ad A*B*C e (A+B)*(A+C) sono identiche e quindi le due espressioni in questione hanno gli stessi valori per tutte le combinazioni delle variabili A, B e C.
Da ciò discende l'equivalenza.

## Esempi di applicazione

Esempio 1: Si consideri l'esempio in figura: esso è costituito dai tre relais A, B, C e 6 interruttori. È possibile trovare un circuito R' equivalente nel senso che esso sarà chiuso quando R è chiuso, aperto quando R è aperto e che comporta un numero minimo di interruttori.
Il circuito R possiede tre rami in parallelo ognuno dei quali è composto di due interruttori in serie.
I rami hanno per funzioni di trasmissione:
                         $A*B,{\bar {A}}*C,B*C$
per cui la trasmissione T del circuito R sarà:
                         $T=A*B+{\bar {A}}*C+B*C.$
Sostituendo ad $A,B,C,{\bar {A}}$ i loro valori numerici, per ognuna delle 2$^3$=8 combinazioni di A, B e C, si ottiene il valore della trasmissione in ogni caso.
Si possono eseguire le seguenti operazioni:
                $A*B+{\bar {A}}*C+B*C=(A*B+{\bar {A}}*C)+B*C$
                                  =$(A*B+{\bar {A}}*C)+({\bar {A}}+A)*(B*C)$
                                  =$(A*B+{\bar {A}}*C)+({\bar {A}}*B*C+A*B*C)$
                                  =$(A*C+({\bar {A}}*B*C+A*B*C))+A*B$
                                  =$A*B+({\bar {A}}*C({\bar {A}}*C*B)+A*B*C$
                                  =$A*B+({\bar {A}}*C+A*B*C)$
                                  =$A*B+(A*B*C+{\bar {A}}*C)$
                                  =$(A*B+A*B*C)+{\bar {A}}*C$
                                  =$A*B+{\bar {A}}*C$
Si ottiene quindi un nuovo circuito, equivalente al primo, ma costituito solo da 4 interruttori:
Volendo conoscere i valori della funzione T abbinata al circuito in questione, è sufficiente considerarla con l'ausilio di una tabella della verità:
Esempio 2: Si consideri il circuito in figura. Quando esso sarà aperto?
       $T={\bar {A}}*{\bar {B}}*{\bar {C}}+{\bar {C}}+{\bar {A}}*C+A*C$
          $=({\bar {A}}*{\bar {B}}*{\bar {C}}+{\bar {C}})+({\bar {A}}*C+A*C)$
          $={\bar {C}}+({\bar {A}}*C+A*C)$
          $={\bar {C}}+1*C$
          $={\bar {C}}+C=1$
       $T=1$
Il circuito è dunque sempre chiuso ed è equivalente a una semplice connessione. Con questi esempi si è messo in evidenza come si possano sostituire i ragionamenti diretti sui circuiti con delle operazioni algebriche.
Negli esempi precedenti si è visto come, dato un circuito, mediante il disegno delle disposizioni dei suoi interruttori, se ne possa trovare l'espressione logica che lo rappresenta.
Su questa espressione logica si può operare utilizzando le proprietà R$_1$...R$_{20}$ ottenendo così dei circuiti equivalenti: operando opportunamente si può pensare di ottenere circuiti con minimo numero di interruttori.
Si è visto inoltre come, volendo conoscere i valori assunti dalla funzione di trasmissione di un circuito, questi si possono dedurre utilizzando una tabella della verità.
Esiste ora il problema inverso: progettare un circuito che si comporti secondo una tabella della verità fissata a priori.
Sia allora noto il numero di interruttori necessari: tale informazione, e la tabella della verità, spiegano completamente il comportamento del circuito. Si consideri il circuito dato nell'esempio 1: di esso, in questo caso, si sa che èp fornito di tre interruttori A,B e C ed è data la sua tabella della verità.
Se si considera la funzione T, come somma delle funzioni T$_1$, T$_2$, T$_3$ e T$_4$, essa assumerà il valore 1 se, e soltanto se una delle funzioni T$_1$, T$_2$, T$_3$ e T$_4$, ha il valore 1. Così la funzione T varrà 1 sempre e soltanto in corrispondenza alle combinazioni prefissate. Se si considera ora una qualsiasi delle funzioni T$_i$ (i=1...4) si nota che essa assumerà il valore 1 se la si rappresenta come prodotto degli interruttori: questi ultimi ovviamente saranno rappresentati nella forma non complementata se valgono 1, nella forma complementata se valgono 0. Nell'esempio precedente si ottiene:
                $T={\bar {A}}*{\bar {B}}*C+{\bar {A}}*B*C+A*B*{\bar {C}}+A*B*C$
Trovata l'espressione logica, si può cercare di semplificarla con i metodi studiati e, successivamente, disegnare il diagramma del circuito trovato.
                $T={\bar {A}}*{\bar {B}}*C+{\bar {A}}*B*C+A*B*+A*B({\bar {C}}+C)$
                   $=({\bar {A}}*{\bar {B}}*C+{\bar {A}}*B*C)+A*B$
                   $={\bar {A}}*C({\bar {B}}+B)+A*B$
                   $={\bar {A}}*C+A*B$
Esempio 3: Con il seguente esempio si vuole illustrare il processo completo costituito dal prendere in considerazione un problema e trovarne le soluzioni in termini di dispositivi fisici. Un fattore ha un granaio la cui porta rimane facilmente aperta: la capra della fattoria ha la tendenza di avvicinarsi a questo deposito. Terzo elemento del problema è un lupo che circola nei pressi della fattoria. Il fattore decide allora di costruire un circuito con tre interruttori: uno che segnali se la porta del granaio è aperta o chiusa, uno per la capra in vista, uno per il lupo in vista.
Un garzone viene poi messo a controllare la situazione; se una o più delle circostanze predette si manifesta, egli deve premere il pulsante corrispondente. Se la situazione diventa pericolosa, il sistema darà l'allarme e il fattore si comporterà di conseguenza. È ovviamente il fattore, ideatore del circuito, che deve definire quando una situazione è pericolosa: egli potrà per esempio assumere che:
* la situazione tranquilla se il lupo e la capra non sono contemporaneamente visibili.
* il lupo non costituisce un pericolo per il grano.
Riassumendo queste considerazioni in una tabella della verità, si ottiene:
dove L=lupo, C=capra, P=porta.
Funzione di trasmissione:
    $T={\bar {P}}*L*C+P*C*{\bar {L}}+P*C*L$
* Disposizione 011- il lupo può mangiare la capra se non sono separati.
* Disposizione 110- la porta è aperta e la capra è nelle vicinanze
* Disposizione 111- entrambe le situazioni pericolose sono presenti.
Riducendo l'espressione della funzione di trasmissione si ottiene:
          ${\bar {P}}*C*L+P*C=C*({\bar {P}}*L+P)=C*(P+L).$
Il circuito cercato sarà quindi:

## Funzioni di due variabili

Si sono definite in precedenza le due funzioni di due variabili, chiamate X*Y e X+Y, mediante l'uso di una tavola nella quale viene rappresentato il valore della funzione per ogni combinazione dei valori delle due variabili X e Y. Si può usare questo procedimento per definire altre funzioni di 2 variabili. per fare questo si consideri ancora la lista delle combinazioni di ingresso e si consideri il fatto che, per ognuna di esse, si può scegliere di attribuire come valore di uscita il valore 1 o il valore 0. Poiché esistono 4 combinazioni di ingresso, a ciascuna delle quali si può fare corrispondere 2 valori, in conseguenza esistono 2$^4$=16 funzioni possibili di 2 variabili.
Queste diverse funzioni possono ora essere espresse mediante le operazioni * e + e l'operazione di complementazione.
1) Si consideri per esempio la funzione T$_1$:
T$_1$ vale 1 quando X e Y valgono zero tutti e due, cioè quando ${\bar {X}}$ e ${\bar {Y}}$ valgono 1 e zero in tutti gli altri casi per cui:
                $T_{1}={\bar {X}}*{\bar {Y}}$
Considerando la tavolta della verità si può verificare che effettivamente la colonna corrispondente e T$_1$ e ${\bar {X}}*{\bar {Y}}$ hanno lo stesso valore per ogni combinazione dei valori di X e Y.
In generale si otterrà:
                            $T_{0}=0\qquad \qquad \qquad \qquad T_{8}=X*Y$
                            $T_{1}={\bar {X}}*{\bar {Y}}\qquad \qquad T_{9}=X*Y+{\bar {X}}*{\bar {Y}}$
                            $T_{2}={\bar {X}}*Y\qquad \qquad \qquad T_{10}=Y$
                            $T_{3}={\bar {X}}\qquad \qquad \qquad T_{11}={\bar {X}}+Y$
                            $T_{4}=X*{\bar {Y}}\qquad \qquad \qquad T_{12}=X$
                            $T_{5}={\bar {Y}}\qquad \qquad \qquad T_{13}=X+{\bar {Y}}$
                            $T_{6}=X*{\bar {Y}}+{\bar {X}}*Y\qquad \qquad T_{14}$
                            $T_{7}={\bar {X}}+{\bar {Y}}\qquad \qquad \qquad T_{15}=1$
Si è così definita nell'insieme dei circuiti con interruttori un'algebra che viene chiamata algebra dei contatti o algebra di commutazione.
In seguito si introdurranno altri elementi di commutazione; principalmente elementi elettronici e magnetici che si possono organizzare in reti complesse e che potranno essere4 studiati grazie ad un'algebra che si rivelerà avere la stessa struttura dell'algebra dei contatti.