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 o, 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 ; NOT di A = = input AND NAND AND NAND A B C A*B*C A B C Basta che un ingresso sia zero perché l'uscita sia zero Solo se tutti gli ingressi sono a uno l'uscita è uno = = = = Basta che un ingresso sia zero perché l'uscita sia uno Solo se tutti gli ingressi sono a uno l'uscita è zero A B C A+B+C + + OR NOR Basta che un ingresso sia uno perché l'uscita sia uno Solo se tutti gli ingressi sono a zero l'uscita è zero + = += + = + = Basta che un ingresso sia uno perché l'uscita sia zero Solo se tutti gli ingressi sono a zero l'uscita è uno
A B A + B + EX-OR EX-NOR Se gli ingressi sono uguali l'uscita è zero A + B= + B Se gli ingressi sono diversi l'uscita è uno Se gli ingressi sono uguali l'uscita è uno Se gli ingressi sono diversi l'uscita è zero = proprietà commutativa + = + ( )=( ) proprietà associativa ( + )+ = +( + ) ( + )= + proprietà distributiva +( )=( + ) ( + ) = + teorema di De Morgan + = Tabelle della verità e Funzioni canoniche in A B C U Out La funzione definita in questa tabella della verità può essere scritta nella forma di funzione canonica somma di prodotti (somma di mintermini) 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. = + + + 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 input Out A B C V Un altro esempio somma di mintermini = + + + prodotto di maxtermini =( + + ) ( + + ) ( + + ) ( + + ) 2
Minimizzazione Prendiamo la funzione canonica calcolata prima = + + + può essere semplificata utilizzando l'algebra di Boole = + + ( + ) ma + = e = = + + = + ( + ) = + ( + ) ( + ) 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 Out In questa 'mappa' sono riportati i valori di U nelle 8 caselle in corrispondenza dei valori di C riportati sui bordi della mappa e in piccolo vicino ai valori di U. tra una casella e la vicina la combinazione di C varia sempre e solo di un bit. Se ci sono due uno vicini la mappa ci indica una possibile semplificazione A B C U la semplificazione si può fare utilizzando la mappa, si raggruppano i due uno perché sono vicini, invece di due Le combinazioni C sono di solito scritte solo prodotti di tre termini si scrive un prodotto con solo i due sui bordi, qui sono riportate in piccolo anche termini delle combinazioni degli ingressi C, che sono all'interno delle caselle per meglio capire il uguali nelle due caselle,se sono zero devono essere negati funzionamento della mappa U= A*C 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 Utilizzando l'algebra si ottiene lo stesso risultato = + = ( + )= C 3
input Out Se ci sono quattro uno vicini la mappa ci indica una semplificazione ancora maggiore invece di quattro prodotti di tre termini si scrive solo un termine che è uguale nelle 4 caselle, in questo caso è A= in tutte e quattro le caselle A B C U U= A perché nelle due caselle segnate A non varia, B e C non compariranno perché in due caselle c'è zero nelle altre due c'è uno C Le combinazioni C sono di solito scritte Utilizzando l'algebra si ottiene lo stesso risultato qui è molto più evidente l'utilità della mappa = + + + = solo sui bordi, qui sono riportate in piccolo anche all'interno delle caselle per meglio capire il funzionamento della mappa I gruppi di uno da raccogliere possono essere da 2, da 4 da 8 Le mappe possono essere per circuiti a due ingressi( 4 caselle), a tre ingressi( 8 caselle), a quattro ingressi ( 6 caselle), 4
Mappa per tabella della verità a quattro ingressi 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: = = + = + = + + = + = + + Mappa per tabella della verità a due ingressi non semplificabile A 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 e 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 memorie magnetiche memorie ottiche RAM, ROM, chiavette USB, memorie FLASH, elementi di memoria presenti nella CPU (=registri) Hard Disk Floppy Disk DVD BIT = presenza o assenza di una debole tensione elettrica BIT = microarea orientata magneticamente in senso orario oppure antiorario 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, 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 e di (bit), organizzate in gruppi di otto (Byte) e fisicamente realizzate, nella RAM (memoria di lavoro) o sulle memorie di massa (HD,, 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 e di, 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. A volte, in Inform. Kilo = 3 k 24 = 2 Kilobinary=kibi ki Mega.. = 6 M.48.576 = 2 2 Megabinary=Mibi Mi Giga... = 9 G.73.74.824 = 2 3 Gigabinary=Gibi Gi Tera...= 2 T.99.5.627.776= 2 4 Terabinary=Tebi Ti Ogni multiplo è 24=2 volte il precedente; la scelta di questo numero (anziché = 3 ) si deve al fatto che in logica binaria, è 2 la base e non il. 6
Attualmente, le capacità tipiche delle varie memorie sono: RAM HARD DISK (HD) CHIAVETTA USB DVD 4 GB Da 25 o 5 GB a TB Da 4 a 32 GB e più 65 7 8 87 MB 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 o oppure L o H (Low High) 7