Algebra_Boole_operatori_mappe_porte logiche_pag_1-6

ALGEBRA DI BOOLE
L'algebra di Boole è un insieme di regole matematiche; per rappresentare queste regole si utilizzano
variabili logiche, funzioni logiche, operatori logici.
variabili logiche: si indicano solitamente con lettere maiuscole e possono assumere solo due valori 0 o 1,
questi due valori corrispondono, in un circuito elettronico, ad un livello di tensione basso (low – L) o alto
(high -H).
In una proposizione logica corrispondono al Vero o Falso.
funzioni logiche: esprimono il legame tra le variabili
operatori logici: sono ciò che permette di legare le variabili logiche per costruire le funzioni.
Ci sono tre operatori logici fondamentali: NOT = negazione, OR = somma logica, AND = prodotto logico
A
̅
L'operatore NOT si scrive con una linea sopra la lettera indicante la variabile logica A ;
0
1
NOT di A = ̅
1
0
̿ = input
AND
A B C
A*B*C
NAND
A∗B∗C
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
0
∗ = A B C
AND
NAND
Basta che un ingresso sia zero
perché l'uscita sia zero
Basta che un ingresso sia zero
perché l'uscita sia uno
Solo se tutti gli ingressi sono a
uno l'uscita è uno
Solo se tutti gli ingressi sono
a uno l'uscita è zero
∗1=
∗0=0
∗ ̅ = 0
A+B+C
++
OR
NOR
Basta che un ingresso sia uno
perché l'uscita sia uno
Basta che un ingresso sia uno
perché l'uscita sia zero
Solo se tutti gli ingressi sono a
zero l'uscita è zero
Solo se tutti gli ingressi sono
a zero l'uscita è uno
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
+ =
+1=1
+ 0 =
+ ̅ = 1
1
A
B
A+ B
+ EX-OR
EX-NOR
0
0
0
1
0
1
1
0
Se gli ingressi sono uguali l'uscita
è zero
Se gli ingressi sono uguali
l'uscita è uno
1
0
1
0
1
1
0
1
Se gli ingressi sono diversi
l'uscita è uno
Se gli ingressi sono diversi
l'uscita è zero
A + B= + ̅B
∗ = ∗
∗ ( ∗ ) = ( ∗ ) ∗ ∗ ( + ) = ∗ + ∗ ∗ = ̅ + proprietà commutativa
proprietà associativa
proprietà distributiva
teorema di De Morgan
+ =+
( + ) + = + ( + )
+ ( ∗ ) = ( + ) ∗ ( + )
+ = ̅ ∗ Tabelle della verità e Funzioni canoniche
Out La funzione definita in questa tabella della verità può essere scritta nella forma di funzione canonica
in
somma di prodotti (somma di mintermini)
A
B
C
0
0
0
0
0
1
U U è una variabile dipendente dalle variabili A,B e C. nella realizzazione di un circuito elettronico U
sarà l'uscita; A,B e C saranno gli ingressi.
0
0
= ̅ ∗ ∗ + ∗ ∗ + ∗ ∗ ̅ + ∗ ∗ 0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
input
C'è un mintermine per ogni uno di U ( nell'esempio 4 ), i termini del prodotto A B C devono essere
negati se nella combinazione in ingresso c'è uno zero.
La funzione U definita in questa tabella della verità può essere scritta nella forma di funzione
canonica prodotto di somme (prodotto di max termini)
= ( + + ) ∗ ( + + ̅ ) ∗ ( + + ) ∗ (̅ + + )
C'è un maxtermine per ogni zero di U ( nell'esempio 4 ), i termini della somma A B C devono essere
negati se nella combinazione in ingresso c'è uno
Out
A
B
C
V Un altro esempio
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
somma di mintermini
= ̅ ∗ ∗ ̅ + ̅ ∗ ∗ + ̅ ∗ ∗ ̅ + ∗ ∗ ̅
prodotto di maxtermini
= ( + + ̅ ) ∗ (̅ + + ̅ ) ∗ (̅ + + ) ∗ (̅ + + ̅ )
2
Minimizzazione
Prendiamo la funzione canonica calcolata prima
= ̅ ∗ ∗ + ∗ ∗ + ∗ ∗ ̅ + ∗ ∗ può essere semplificata utilizzando l'algebra di Boole
= ̅ ∗ ∗ + ∗ ∗ + ∗ ∗ (̅ + )
ma ̅ + = 1 e ∗ ∗ 1 = ∗ ̅
= ∗∗+∗∗+∗
= ̅ ∗ ∗ + ∗ ( ∗ + )
+ =1
= ̅ ∗ ∗ + ∗ ( + ) ∗ ( + )
ma = ̅ ∗ ∗ + ∗ ( + )
= ̅ ∗ ∗ + ∗ + = ( ̅ ∗ + ) ∗ + ma ̅ ∗ + = (̅ + ) ∗ ( + ) = + = ( + ) ∗ + = + + Questa è la forma MINIMA così chiamata perché non più semplificabile, risulta evidente che nel realizzare un circuito la forma
minima riduce il numero delle porte necessarie e del numero degli ingressi.
La minimizzazione così effettuata è lunga e complicata, ovviamente ci sono metodi per arrivare più velocemente alla forma
minima.
Mappe di Karnaugh – minimizzazione con i mintermini o somma di prodotti
input
A B C
0 0 0
Out In questa 'mappa' sono riportati i valori di U nelle 8 caselle
U
0
in corrispondenza dei valori di ABC riportati sui bordi
della mappa e in piccolo vicino ai valori di U.
tra una casella e la vicina la combinazione di ABC varia
sempre e solo di un bit.
Se ci sono due uno vicini la mappa ci indica una possibile
semplificazione
la semplificazione si può fare utilizzando la mappa, si
raggruppano i due uno perché sono vicini, invece di due
prodotti di tre termini si scrive un prodotto con solo i due
termini delle combinazioni degli ingressi ABC, che sono
uguali nelle due caselle,se sono zero devono essere negati
0 0 1
0
0 1 0
0
0 1 1
0
U= A*C
1 0 0
0
1 0 1
1
1 1 0
0
perché nelle due caselle segnate A e C non variano e sono
entrambi uguali a uno, B non comparirà perché in una
casella è zero nell'altra è uno
Utilizzando l'algebra si ottiene lo stesso risultato
1 1 1
1
AB
00
C
0
1
01
11
10
0
0
0
0
000
010
110
100
0
0
1
1
001
011
111
101
Le combinazioni ABC sono di solito scritte solo
sui bordi, qui sono riportate in piccolo anche
all'interno delle caselle per meglio capire il
funzionamento della mappa
Utilizzando l'algebra si ottiene lo stesso risultato
= ∗ ∗ + ∗ ∗ = ∗ ∗ ( + ) = ∗ 3
input
A B C
Out Se ci sono quattro uno vicini la mappa ci indica una
U
semplificazione ancora maggiore
invece di quattro prodotti di tre termini si scrive solo un
termine che è uguale nelle 4 caselle, in questo caso è A=1
in tutte e quattro le caselle
AB
00
C
0
U= A
0 0 0
0
0 0 1
0
0 1 0
0
0 1 1
0
1 0 0
1
1 0 1
1
1 1 0
1
1 1 1
1
perché nelle due caselle segnate A non varia, B e C non
compariranno perché in due caselle c'è zero nelle altre due
c'è uno
1
01
11
10
0
0
1
1
000
010
110
100
0
0
1
1
001
011
111
101
Le combinazioni ABC sono di solito scritte
solo sui bordi, qui sono riportate in piccolo
anche all'interno delle caselle per meglio capire
il funzionamento della mappa
Utilizzando l'algebra si ottiene lo stesso risultato
= ∗ ∗ + ∗ ∗ + ∗ ∗ ̅ + ∗ ∗ ̅ = qui è molto più evidente l'utilità della mappa
I gruppi di uno da raccogliere possono essere da 2, da 4 da 8
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Le mappe possono essere per circuiti a due ingressi( 4 caselle), a tre ingressi( 8 caselle), a quattro ingressi
( 16 caselle),
4
Mappa per tabella della verità a quattro ingressi
AB
00 01 11 10
CD
00 0
0
0
0
01 0
0
0
0
11 1
1
1
1
10 1
1
1
1
U=C
La mappa di Karnaugh va intesa come fosse un mappamondo, le caselle opposte sulla stessa riga o sulla stessa colonna sono da
considerarsi vicine, le quattro caselle sugli spigoli sono quindi raggruppabili in un gruppo unico da quattro.
Vediamo degli esempi per capire meglio:
AB
CD
AB
00
01
11
10
00
1
0
0
1
01
0
0
0
11
0
0
10
1
0
CD
00
01
11
10
00
0
0
1
0
0
01
1
0
0
0
0
11
0
0
0
1
10
0
0
CD
00
01
11
10
00
0
1
1
0
1
01
0
0
0
0
0
0
11
1
1
1
1
1
0
10
0
1
1
0
+ ∗ ̅ ∗ =∗∗
= ∗ AB
CD
AB
= ∗+∗
AB
00
01
11
10
00
1
0
0
1
01
1
0
1
11
1
0
10
1
0
CD
AB
00
01
11
10
00
0
0
1
0
0
01
1
1
1
0
0
11
0
0
0
1
10
0
0
+ ∗ ∗ ̅ ∗ = ̅ ∗ + ∗ CD
00
01
11
10
00
1
1
1
0
1
01
0
0
0
0
1
0
11
1
1
1
1
1
0
10
1
1
1
0
= ∗ + ̅ ∗ +∗
= ∗ + ̅ ∗ Mappa per tabella della verità a due ingressi non semplificabile
A
0
1
0
0
1
1
1
0
B
= ̅ ∗ + ∗ 5
Porte Logiche Hardware
Il funzionamento del computer si basa tutto sulla presenza/assenza di segnali elettrici all’interno dei milioni e milioni di circuiti
che lo compongono.
I due BIT ovvero i valori “0” e “1” di cui abbiamo parlato finora corrispondono alla presenza o assenza di segnali.
L’attività del computer consiste essenzialmente nella continua rapidissima combinazione e propagazione di tutti questi segnali
al proprio interno, al ritmo di un orologio interno, che “batte” fino e oltre i 3 miliardi di volte ogni secondo ( il clock )
e sotto il controllo del microprocessore.
Tutti i dispositivi di memoria funzionano in due possibili stati fisici
(presente/assente, riflettente/opaco, orario/antiorario ...);
insomma, l'elemento minimo di memoria è sempre un micro-dispositivo che può trovarsi in uno solo tra due stati fisici distinti.
memorie
a
semiconduttore
RAM, ROM, chiavette USB,
memorie FLASH, elementi di memoria
presenti nella CPU (=registri)
BIT = presenza o assenza
di una debole tensione elettrica
memorie
magnetiche
Hard Disk
Floppy Disk
BIT = microarea orientata magneticamente
in senso orario oppure antiorario
memorie
ottiche
CD
DVD
BIT = microarea che riflette un raggio laser
oppure al contrario non lo riflette
I bit sono organizzati in gruppi di 8. Una sequenza di 8 bit prende il nome di BYTE (leggi bàit).
Noi scriveremo Byte sempre con la maiuscola, per abituarci al fatto che le abbreviazioni sono B=Byte, b=bit
Un Byte, ad esempio 01100010, potrà, a seconda del contesto, indicare:
·
un dato numerico, ad esempio il numero "98"
·
un dato non numerico, ad es. la lettera "b minuscola", oppure il codice di un colore
il codice di un'istruzione, ad es. l'istruzione di "somma", o l'istruz. di attivazione della stampante
·
·
l'indirizzo (=il numero d'ordine) della cella di memoria dove risiede un certo dato, o istruzione.
Allora, ricapitoliamo:
in un computer, le istruzioni di un programma, e i dati su cui il programma è chiamato a operare,
sono codificati come sequenze di “0” e di “1” (bit), organizzate in gruppi di otto (Byte) e
fisicamente realizzate, nella RAM (memoria di lavoro) o sulle “memorie di massa” (HD, CD, DVD, …),
da dispositivi di natura diversa ma accomunati dal fatto che ciascuno di essi può,
istante per istante, trovarsi in uno e uno solo fra due stati fisici ben distinti.
ll microprocessore è in grado di “MANIPOLARE” queste sequenze di 0 e di 1, seguendo le istruzioni contenute nei programmi,
in modo da realizzare operazioni logiche e aritmetiche, la selezione della cella di RAM dalla quale prelevare l’istruzione che è
corretto eseguire, in una data fase di un processo, o dalla quale/nella quale prelevare/riversare un dato, comandi vari (es.
illuminazione con un colore piuttosto che un altro di un dato puntino sullo schermo, attivazione della stampante, ecc. ecc. ecc.)
I multipli del Byte, usati per misurare la capienza o “capacità” delle varie memorie, sono:
il KiloByte (KB), il MegaByte (MB), il GigaByte (GB), il TeraByte (TB).
Fuori dall’ Inform.
Kilo
Mega
1000 = 10
A volte, in Inform.
3
1.000.000 = 10
k
6
M
9
Giga
1.000.000.000 = 10
Tera
1.000.000.000.000=1012
G
T
1024 = 210
1.048.576 = 2
20
30
1.073.741.824 = 2
1.099.511.627.776=
240
Kilobinary=kibi
ki
Megabinary=Mibi
Mi
Gigabinary=Gibi
Gi
Terabinary=Tebi
Ti
Ogni multiplo è 1024=210 volte il precedente; la scelta di questo numero (anziché 1000=103) si deve al fatto che in logica
binaria, è 2 la base e non il 10.
6
Attualmente, le capacità “tipiche” delle varie memorie sono:
RAM
4 GB
HARD DISK (HD)
Da 250 o 500 GB a 1 TB
CHIAVETTA USB
Da 4 a 32 GB e più
650
CD
700 800
MB
DVD
870
Da 4,7 GB in su
Per realizzare tutte le sue funzioni il PC deve poter utilizzare le funzioni logiche che abbiamo descritto.
Le funzioni logiche vengono realizzate con le Porte logiche che sono circuiti elettronici realizzati con semiconduttori.
Nella prima colonna ci sono i simboli IEEE (Institute of Electrical and Electronics
Engineers) ripresi dal CEI (comitato elettrotecnico italiano)
Nella seconda colonna ci sono i simboli americani
Le tabelle della verità di queste porte riportano su ingressi e uscite 0 o 1oppure
L o H (Low – High)
7