Fondamenti di Informatica

Documenti analoghi
Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica. Algebra di Boole

Fondamenti di Informatica

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica e Programmazione

Algebra di Boole X Y Z V. Algebra di Boole

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione).

Elementi di informatica

Fondamenti di Informatica. P r o f. R a f fa e l e P i z zo l a n t e A. A / 1 7

Algebra di Boole Algebra di Boole

Algebra di Boole e reti logiche. 6 ottobre 2017

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Circuiti digitali combinatori

Reti logiche: analisi, sintesi e minimizzazione. Giovedì 9 ottobre 2014

Circuiti Logici. Pagina web del corso:

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Operazioni logiche

Richiami di Algebra di Commutazione

CODIFICA DELLE INFORMAZIONI MODULO 5

Y = A + B e si legge A or B.

Corso di Calcolatori Elettronici I

Reti logiche: introduzione

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Minimizzazione di reti/funzioni logiche con le Mappe di Karnaugh. 12 ottobre 2015

Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile

Corso di studi in Ingegneria Elettronica A.A. 2006/2007. Calcolatori Elettronici. Esercitazione n 2

Algebra e circuiti elettronici

Algebra di commutazione

Parte IV Indice. Algebra booleana. Esercizi

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Algebra di Commutazione

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Elementi di Informatica A. A. 2016/2017

Introduzione ed elementi dell'algebra di Boole

17/10/16. Espressioni Booleane

associate ai corrispondenti valori assunti dall uscita.

Il Livello Logico-Digitale. Reti combinatorie -2015

Precedenza degli operatori

Lezione 5. Sommario. La logica booleana. I principi della logica booleana Gli operatori logici

Segnali in circuiti elettronici digitali

I circuiti binari: definizione delle funzioni logiche

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Fondamenti di Informatica B

Algebra Booleana. 13. Rif:

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

CODIFICA DELLE INFORMAZIONI MODULO 5

Algebra di Boole. Introdotta nel 1874 da George Boole per fornire una rappresentazione algebrica della logica

Informazione binaria: - rappresentazione di valori logici -

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Calcolo numerico e programmazione Elementi di logica

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Reti Logiche Combinatorie

FUNZIONI BOOLEANE. Vero Falso

Lezione2: Circuiti Logici

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

I circuiti digitali: dalle funzioni logiche ai circuiti

Informatica e Bioinformatica: Circuiti

Lezione 9 : Algebra di Boole e Codifica Binaria (p. 1) Lunedì 29 Novembre 2010

Elementi di Informatica

Cognome:, Nome: Matricola:

Logica booleana. Bogdan Maris ( )

Introduzione alla logica proposizionale

senza stato una ed una sola

Funzioni, espressioni e schemi logici

Funzioni booleane. Vitoantonio Bevilacqua.

Algebra di Boole. Da Boole a Shannon

Fondamenti di Informatica B

Rappresentazione in virgola mobile (floating-point) Rappresentazione in virgola mobile (floating-point)

Cognome:, Nome: Matricola:

Proposizioni logiche e algebra di Boole

Esercitazioni di Reti Logiche. Lezione 4

George BOOLE ( ) L algebra booleana. (logica proposizionale)

Prof. Pagani Corrado ALGEBRA BOOLEANA

Laboratorio del 10/11/ Soluzioni

13/10/16. FB ed EB associate. Forme canoniche e forme normali. Assumiamo di avere n variabili {x 1,,x n }:

Dispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano

Logica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino

Il livello logico digitale

Esercitazioni di Reti Logiche

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare:

Esercizi di sintesi - Soluzioni

ELEMENTI DI ALGEBRA BOOLEANA

Algebra di commutazione

Algebra di commutazione. Reti combinatorie

Corso di Calcolatori Elettronici I A.A Algebra di Boole Lezione 4

Che fine fanno i nostri programmi? Costrutti e strutture dati HLL. Istruzioni per la CPU e dati in memoria. Come vengono eseguite le istruzioni?

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Costruzione di. circuiti combinatori

Architettura degli elaboratori Ricapitolando (ciascuna freccia rappresenta un procedimento, che vedremo)

I circuiti digitali: dalle funzioni logiche ai circuiti

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Dalla tabella alla funzione canonica

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

anno scolastico 2009 / 2010 ELETTRONICA per Elettrotecnica ed Automazione

Transcript:

Fondamenti di Informatica Prof. Arcangelo Castiglione A.A. 2017/18

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Booleani (o Logici) Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Introduzione Un elaboratore elettronico digitale è costituito da circuiti logici (detti anche circuiti digitali) I circuiti logici sono componenti hardware che manipolano informazione binaria Per descrivere i comportamenti dei circuiti logici di solito si usa un algebra (notazione matematica), che permette di analizzare e progettare tali circuiti Algebra di Boole (o Algebra Booleana)

Algebra di Boole e Circuiti Logici: Relazione Gli elaboratori elettronici operano mediante segnali elettrici aventi due valori (o stati) di potenziale Alto oppure Basso I potenziali intermedi, che si verificano durante le transizioni di potenziale, non vengono considerati La codifica binaria è stata adottata perché i bit (!, ") permettono di codificare in maniera non ambigua i # stati di potenziale elettrico in uso negli elaboratori

Algebra di Boole e Circuiti Logici: Relazione Si studia l algebra booleana poiché le sue funzioni sono isomorfe ai circuiti digitali Il livello di potenziale Alto corrisponde al valore logico Vero (Valore binario 1) Il livello di potenziale Basso corrisponde al valore logico Falso (Valore binario 0)

Algebra di Boole: Un po di Storia Il matematico inglese George Boole tra il 1847 ed il 1854 fondò un campo della matematica e della filosofia chiamato logica simbolica Strumento per la soluzione matematica di problemi di logica «The Mathematical Analysis of Logic», pubblicato nel 1847 «An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities», George Boole, pubblicato nel 1854

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Booleani (o Logici) Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Algebra di Boole: Elementi Costitutivi Definizione (Algebra di Boole): Struttura algebrica astratta composta da Un insieme di elementi k = 0, 1, detti valori booleani (o binari) Talvolta denotati mediante: vero/falso, on/off, si/no Operazioni (o funzioni) booleane: funzioni i cui input ed output sono valori booleani Definizione (Variabile Booleana): Variabile il cui valore può essere 0 oppure 1

Algebra di Boole: Elementi Costitutivi Un operando nell algebra di Boole può essere Una variabile booleana (detta anche letterale) Un valore booleano (1 o 0) Sugli operandi si definiscono gli operatori logici elementari OR e AND: che agiscono su (almeno) due operandi (operatori binari) NOT: che agisce su un solo operando (operatore unario) Nella valutazione delle espressioni booleane esiste una relazione di precedenza fra gli operatori NOT, AND e OR, nell ordine in cui sono stati elencati N.B. Per alterare tale relazione bisogna usare le parentesi

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Operatori Logici Elementari Tali operatori permettono di realizzare Funzioni Booleane (o Funzioni Logiche) Maggiori dettagli in seguito Gli operatori logici elementari sono AND OR NOT

Operatori Logici Elementari Tali operatori permettono di realizzare Funzioni Booleane (o Funzioni Logiche) Maggiori dettagli in seguito Gli operatori logici elementari sono AND OR NOT

Operatore AND (Prodotto Logico) Il risultato dell operatore (o funzione) AND è! se il valore di entrambi gli operandi è!. Il risultato è " negli altri casi.!. / 0.!,. / =.!. / " " " Tavola di verità "! "! " "!!! In generale, date # variabili binarie indipendenti, il loro prodotto logico (AND) è dato da $ 1 $ 2 $ # = " se almeno una $ ( vale ", )*# 1 ( #! se $ 1 = $ 2 = = $ # =!

Operatori Logici Elementari Tali operatori permettono di realizzare Funzioni Booleane (o Funzioni Logiche) Maggiori dettagli in seguito Gli operatori logici elementari sono AND OR NOT

Operatore OR (Somma Logica) Il risultato dell operatore (o funzione) OR è! se almeno uno degli operandi vale!. Il risultato è " negli altri casi /! / 0 1 /!, / 0 = /! + / 0 Tavola di verità " " " "!!! "!!!! In generale, date # variabili binarie, la loro somma logica (OR) è data da $ 1 + $ 2 + + $ # =! se almeno una $ * vale!, +,# 1 * # " se $ 1 = $ 2 = = $ # = "

Operatori Logici Elementari Tali operatori permettono di realizzare Funzioni Booleane (o Funzioni Logiche) Maggiori dettagli in seguito Gli operatori logici elementari sono OR AND NOT

NOT Negazione L operatore (o funzione) NOT, inverte il valore dell operando su cui opera, per questo viene anche detto inverter # $ % # $ = # $ ' $ $ ' Doppia negazione Data un variabile!, il suo negato! viene detto complemento di!

Operatori AND, OR e NOT: Possibili Rappresentazioni L operazione binaria AND può essere rappresentata in vari modi $ &! 6%7($,!) $ 6%7! $! $! $! $! $! L operazione binaria OR può essere rappresentata in vari modi $! &/($,!) $ #! $ &/! $ +! $! $! L operazione unaria NOT può essere rappresentata in vari modi! = ~$! = %&'($)! =! $! = %&' $! = $! = $! = -$

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Funzioni Logiche (o Booleane) Funzione Logica (Definizione informale): funzione che opera su variabili booleane prese in inpute restituisce come output solo un valore! oppure " Funzione Logica (Definizione formale): funzione che date # variabili indipendenti $!, $ &,, $ # prese in input, fa corrispondere in modo univoco ad ognuna delle & # configurazioni di tali variabili un valore di ( (che può essere " oppure!) ): ",! # {",!}

Funzioni Logiche (o Booleane) Una funzione in! variabili booleane ": $, &! {$, &} può essere definita (o rappresentata) mediante una Tavola (o Tabella) di Verità, che elenca tutte le combinazioni dei valori di ingresso ed il corrispondente valore dato dal risultato della funzione! (colonne) ingressi & (colonna) uscita +! configurazioni * & * + *! - $ $ $ & & & & $

Funzioni Logiche (o Booleane) Date! variabili booleane indipendenti " #, " %,, "!, (dette anche letterali) queste possono assumere %! configurazioni distinte Ad es., per! = ( si hanno ) configurazioni Un mintermine (minterm) corrisponde al prodotto di! letterali, ciascuno dei quali compare nella forma " se nella corrispondente configurazione di ingresso ha valore #, nella forma *" se ha valore + 010 x 1 x 2 x 3 " # " % " (,(" #, " %, " ( ) 0 0 0 0 0 0 1 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 Nel minterm una variabile compare in forma naturale " se nella corrispondente configurazione di ingresso ha valore #, in forma complementata *" se ha valore +

Funzioni Logiche (o Booleane) )* 1 )* 2 )* 3 )* 1 )* 2 * 3 )* 1 * 2 )* 3 )* 1 * 2 * 3 * 1 )* 2 )* 3 * 1 )* 2 * 3 * 1 * 2 )* 3 * 1 * 2 * 3 minterm! "! #! $ %(! ",! #,! $ ) 0 0 0 0 0 0 1 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 Configurazioni 011 indica tra le 2 3 =8 configurazioni possibili, quella in cui * 1 = 0 * 2 = 1 * 3 = 1 Questa configurazione si scrive semplicemente con il prodotto )* 1 * 2 * 3 Ogni riga (in rosso) mostra il valore restituito a partire da una particolare configurazione dell input

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno! in output 2. Per ogni riga con un! in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti "! " # " $ %("!, " #, " $ ) ) ) ) ) ) )! ) )! ) ) )!!!! ) ) )! )!!!! )!!!!!

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno! in output 2. Per ogni riga con un! in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti "! " # " $ %("!, " #, " $ ) ) ) ) ) ) )! ) )! ) ) )!!!! ) ) )! )!!!! )!!!!!

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $! "! #! $! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $! "! #! $! "! #! $! "! #! $! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $! "! #! $! "! #! $! "! #! $! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti! "! #! $ +! "! #! $ +! "! #! $ +! "! #! $! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione Oltre che mediante tavola di verità, ogni funzione booleana può essere rappresentata tramite la sua espressione booleana (1 a Forma Canonica) Per passare dalla rappresentazione mediante tavola di verità alla notazione tramite espressione booleana è necessario 1. Identificare tutte le righe della tavola di verità che danno " in output 2. Per ogni riga con un " in output, scrivere il minterm della configurazione delle variabili che la definiscono 3. Collegare tramite OR tutti i minterm ottenuti %(! ",! #,! $ )! "! #! $ +! "! #! $ +! "! #! $ +! "! #! $! "! #! $ %(! ",! #,! $ ) ) ) ) ) ) ) " ) ) " ) ) ) " " " " ) ) ) " ) " " " " ) " " " " "

Rappresentazione in Prima Forma Canonica: Dalla Tavola di Verità alla Funzione! " #, " %, " & = " # " % " & + " # " % " & + " # " % " & + " # " % " & L espressione booleana così calcolata prende il nome di Prima Forma Canonica o (Sum Of Products - SOP) della funzione Esiste anche una seconda forma canonica (Product Of Sums - POS), che non vedremo duranteilcorso Tutte le funzioni logiche possono essere espresse in forma canonica (prima o seconda) ) 1 ) 2 ) 3 -() 1, ) 2, ) 3 ) 0 0 0 0 0 0 1 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

Esempio 1: dalla Tavola di Verità alla Funzione! " # $ 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 Problema: date tre variabili booleane (!, ", #), si scriva la funzione F che vale 1 quando solo due di esse hanno valore 1 Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1 $!, ", # =!yz + x("# +!"# Forma canonica: somma di prodotti (OR di AND) N.B. tutte le funzioni logiche si possono scrivere in questa forma

Esempio 2: dalla Tavola di Verità alla Funzione! " # $ 0 0 0 0 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 1 Problema: date tre variabili booleane (!, ", #), si scriva la funzione F che vale 1 quando il numero di 1 è dispari Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1 $!, ", # =! ("z +!" # +! (" # + xyz Forma canonica: somma di prodotti (OR di AND) N.B. tutte le funzioni logiche si possono scrivere in questa forma

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Circuito Logico Le istruzioni sono eseguite dall hardware di un elaboratore L hardware è costituito da tante semplici componenti, che combinate tra loro in maniera opportuna permettono di realizzare funzionalità complesse Un Circuito Logico è costituito da Porte Logiche Le porte logiche sono collegate tra loro per formare circuiti I circuiti possono essere a loro volta combinati a vari livelli, per realizzarne altri di complessità crescente

Porte Logiche Dispositivi elettronici che implementano/realizzano semplici funzionibooleane Elementidibase utilizzati percreare circuiti logici Qualsiasi circuito può essere implementato usando solo porte logiche elementari AND, OR e NOT Ciascuna porta logica ha il proprio simbolo logico, che permette a funzioni complesse di essere rappresentate mediante un diagramma logico La funzione associata a ciascuna porta logica può essere rappresentata mediante una tavola di verità o un espressione (o equazione) logica (o booleana)

Porte Logiche Elementari Rappresentano circuiti che forniscono in uscita il risultato di operazioni logiche elementari (AND, OR e NOT) sui valori delle! variabili in ingresso La funzione calcolata da un circuito con! ingressi è descritta da una corrispondente tabella per ciascuna delle "! combinazioni degli ingressi

Funzione AND: Tavola di Verità e Porta Logica Tavola di verità! "! #! "! # (AND) % % % % " % " % % " " " Simbolo logico (o funzionale) 0 0 1 0 0 0 0 1 1 1 0 1

Funzione AND: Tavola di Verità e Porta Logica Input Simbolo logico (o funzionale) Tavola di verità 0 0 1 0! "! #! "! # (AND) % % % % " % " % % " " " 0 0 0 1 1 1 0 1

Funzione AND: Tavola di Verità e Porta Logica Tavola di verità! "! #! "! # (AND) % % % % " % " % % " " " Simbolo logico (o funzionale) 0 0 1 0 0 0 0 1 Output 1 1 0 1

Funzione AND: Tavola di Verità e Porta Logica Tavola di verità! "! #! "! # (AND) % % % % " % " % % " " " Simbolo logico (o funzionale) 0 0 1 0 0 0 0 1 1 1 0 1 Espressione booleana & ' & ( oppure & ' & (

Funzione OR: Tavola di Verità e Porta Logica Tavola di verità! "! #! " +! # (OR) % % % % " " " % " " " " Simbolo logico (o funzionale) 0 0 0 1 0 1 1 0 1 1 1 1 Espressione booleana & ' + & (

Funzione NOT: Tavola di Verità e Porta Logica Tavola di verità! "! " (NOT) # " " # Simbolo logico (o funzionale) 0 1 1 0 Espressione booleana $ %

AND, OR e NOT Riepilogo Porte Logiche AND Tavola di Verità! "! &! "! & (AND) # # # # " # " # # " " " Simbolo logico Espressione booleana $ % $ ( oppure 0 $ % $ ( OR Tavola di Verità! "! &! " +! & (OR) # # # # " " " # " " " " Simbolo logico Espressione booleana $ % + $ ( NOT Tavola di Verità! "! " (NOT) # " " # Simbolo logico 1 Espressione booleana $ %

Altre porte Logiche Componendo le porte logiche elementari AND, OR e NOT è possibile ottenere le porte logiche NAND NOR XOR NOT XOR Etc

Altre Porte Logiche Porta NAND NAND = NOT AND Simbolo Logico Simbolo Logico Tavola di verità! = # % Espressione booleana Tavola di verità

Altre Porte Logiche Porta NAND NAND = NOT AND Simbolo Logico Simbolo Logico Tavola di verità! = # % Espressione booleana Tavola di verità

Altre Porte Logiche Porta NOR NOR = NOT OR Simbolo Logico Tavola di verità Espressione booleana Espressione booleana

Altre Porte Logiche Porta NOR NOR = NOT OR Simbolo Logico Tavola di verità Espressione booleana Espressione booleana

Altre Porte Logiche Porta XOR Simbolo Logico Tavola di verità Espressione booleana Espressione booleana

Altre Porte Logiche Porta Exclusive NOR NOT XOR Espressione booleana Simbolo Logico Tavola di verità Espressione booleana

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Dalla Funzione Logica al Circuito Ad ogni funzione logica (data come espressione booleana) è possibile associare il circuito logico equivalente, composto dall interconnessione di porte logiche elementari Metodo: Costruzione del circuito a partire dalla funzione logica 1. Si considerano le variabili prese in input dalla funzione 2. Ogni termine dell espressione è sostituito dal corrispondente circuito O dalla corrispondente porta logica 3. Le uscite corrispondenti ad ogni termine si compongono così come indicato dagli operatori! " # %(!, ", #) =!" + $#!" $# %

Esempio 1: dalla Funzione al Circuito 1/2 Circuito per la funzione " $ Circuito per la funzione " %$

Esempio 1: dalla Funzione al Circuito 2/2 Circuito per la funzione " $ Circuito per la funzione " %$

Esempio 2: dalla Funzione al Circuito 1/2 Circuito per la funzione " + $ Circuito per la funzione " + %$

Esempio 2: dalla Funzione al Circuito 2/2 Circuito per la funzione " + $ Circuito per la funzione " + %$

Esempio 3: dalla Funzione al Circuito 1/2 Circuito per la funzione " $% Circuito per la funzione " + $%

Esempio 3: dalla Funzione al Circuito 2/2 Circuito per la funzione " $% Circuito per la funzione " + $%

Esempio 4: dalla Funzione al Circuito X = A+ BC

Esempio 5: dalla Funzione al Circuito C = (# + %) ' (#%) Porta NAND

Esempio 6: dalla Funzione al Circuito 1/2 Y = AB + CD

Esempio 6: dalla Funzione al Circuito 2/2 Y = AB + CD Porta NOR

Esempio 7: dalla Funzione al Circuito 1/2 X = A BC + A BC + AB C

Esempio 7: dalla Funzione al Circuito 2/2 X = A BC + A BC + AB C

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Dal Circuito alla Funzione In generale, dato un circuito, è possibile determinare la funzionelogicarealizzata datale circuito Metodo: procedere progressivamente dagli input verso l output, aggiungendo di volta in volta le espressioni logiche all outputdiciascuna porta logica

Esempio 1: dal Circuito alla Funzione 1/3

Esempio 1: dal Circuito alla Funzione 2/3 Procedere progressivamente dagli input verso l output, aggiungendo di volta in volta le espressioni logiche all output di ciascuna porta logica

Esempio 1: dal Circuito alla Funzione 3/3 Procedere progressivamente dagli input verso l output, aggiungendo di volta in volta le espressioni logiche all output di ciascuna porta logica

Esempio 1: dal Circuito alla Funzione 3/3 Procedere progressivamente dagli input verso l output, aggiungendo di volta in volta le espressioni logiche all output di ciascuna porta logica

Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane) Definizioni Rappresentazione in Prima Forma Canonica (Somma di Prodotti) Circuiti Logici Porte Logiche Dalla Funzione Logica al Circuito Dal Circuito alla Funzione Logica Dal Circuito alla Tavola di Verità (Simulazione Circuitale)

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) La tavola di verità di una circuito può essere ricavata «simulando» il funzionamento di tale circuito Metodo: per simulare il funzionamento di un circuito, si applicano dei valori agli ingressi e li si propaga lungo il circuito fino all uscita $!!! %! & # # "

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ( ) *!!! (corrisponde alla riga! della tabella)! ' ' " Risultato della simulazione: "(!,!,!) = '

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ( ) * $ $! (corrisponde alla riga! della tabella) $ $ $ " Risultato della simulazione: "($, $,!) = $

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ) * + $ & $ (corrisponde alla riga! della tabella) $ & & " Risultato della simulazione: "($, &, $) = &

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ) * + $ & & (corrisponde alla riga! della tabella) $ $ $ " Risultato della simulazione: "($, &, &) = $

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ) * + $ & & (corrisponde alla riga! della tabella) & $ $ " Risultato della simulazione: "($, &, &) = $

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ) * + $ & $ (corrisponde alla riga! della tabella) & & & " Risultato della simulazione: "($, &, $) = &

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ) * + $ $ & (corrisponde alla riga! della tabella) $ $ $ " Risultato della simulazione: "($, $, &) = $

Dal Circuito alla Tavola di Verità (Simulazione Circuitale) ( ) * $ $ $ (corrisponde alla riga! della tabella) $ + $ " Risultato della simulazione: "($, $, $) = $

Risultato della Simulazione! " # $ % % % & % % & % % & % & % & & % & % % & & % & % & & % & & & & &