FondamentidiInformatica AlgebradiBoole eCircuitiLogici P ro f. C h r i st i a n E s p o s i to C o rs o d i L a u re a i n I n g e g n e r i a M e c ca n i ca e G e st i o n a l e ( C l a s s e I ) A.A.2016/17 AlgebradiBoole eCircuitiLogici L’AlgebradiBoole – 1/4 • Unpo’distoria • IlmatematicoingleseGeorgeBoole nel1847fondòuncampodellamatematicae dellafilosofiachiamatologicasimbolica • Shannon perprimoapplicòlalogicasimbolicaaicircuitinel1939 • L’algebradiBoole ècaratterizzatada • Variabilibooleane(obinarie): variabiliicuivaloripossonoessere0oppure1 • Maanche:vero/falso,on/off,si/no • Operazioni(ofunzioni)booleane: funzioniicuiinputedoutputsonovariabili booleane • Relazioneconicircuitilogici • Sistudial’algebrabooleanapoichélesuefunzionisonoisomorfeaicircuiti digitali:uncircuitodigitalepuòessereespressotramiteun’espressione booleanaeviceversa • Levariabilibooleanecorrispondonoasegnali • Lefunzionibooleanecorrispondonoacircuiti AlgebradiBoole eCircuitiLogici 02/52 L’AlgebradiBoole – 2/4 • Comevariabilicontemplasoloduecostanti:0 e1 (falso evero) • Corrispondonoaduestatichesiescludonoavicenda • Possonodescriverelostatodiaperturaochiusuradiungenerico contattoodiuncircuitoapiùcontatti 0 1 • Sullevariabilibooleanesidefinisconolefunzioni(odoperazioni) AND,OR,NOT • Edaltredefiniteapartiredaesse AlgebradiBoole eCircuitiLogici 03/52 L’AlgebradiBoole – 3/4 • LeoperazioniAND eOR sonooperazionibinarie (agiscono sudueoperandi),l’operazioneNOT èunaria • Nellavalutazionedelleespressionibooleaneesisteuna relazionediprecedenzafraglioperatori NOT,ANDeOR, nell’ordineincuisonostatielencati • Peralteraretalerelazionebisognausareleparentesi • Talvoltausatesolopermaggiorechiarezza AlgebradiBoole eCircuitiLogici 04/52 L’AlgebradiBoole – 4/4 • Glioperatori dell’algebrabooleanapossonoessererappresentatie descrittiinvarimodi • SpessosonodescrittisemplicementecomeAND,OReNOT • Tavolediverità • Nelladescrizionedeicircuitiappaionosottoformadiportelogiche AlgebradiBoole eCircuitiLogici 05/52 Operatore(ofunzione)OR • Sommalogica(OR): ilvaloredellasommalogicaèilsimbolo1 seil valoredialmenounodeglioperandièilsimbolo1 Tavoladi verità x1 x2 F(x1,x2)=x1+x2 0 0 0 0 1 1 1 0 1 1 1 1 • Ingenerale,daten variabilibinarie,lalorosommalogica(OR)èdatada 1 se almeno una xi vale 1, πππ1 ≤ π ≤ π x1+ x2+ …+ xn = 0 se x1= x2= …= xn = 0 AlgebradiBoole eCircuitiLogici 06/52 OperatoreOR:Possibili Rappresentazioni • x|y<- UsatoinMATLAB • or(x,y)<- UsatoinMATLAB • x#y • xory • x+y • x∪ π • x∨ π AlgebradiBoole eCircuitiLogici 07/52 Operatore(ofunzione)AND • Prodottologico(AND): ilvaloredelprodottologicoèilsimbolo1seil valoredituttiglioperandièilsimbolo1 x1 x2 F(x1,x2)=x1× x2 0 0 0 0 1 0 1 0 0 1 1 1 • Ingenerale,daten variabilibinarieindipendenti,illoroprodottologico (AND)èdatoda x1´ x2´ …´ xn = 0 se almeno una xi vale 0, πππ1 ≤ π ≤ π 1 se x1= x2= …= xn = 1 AlgebradiBoole eCircuitiLogici 08/52 OperatoreAND:Possibili Rappresentazioni • x&y <- UsatoinMATLAB • and(x,y) <- UsatoinMATLAB • xandy • x∧ π • x∩ π • x×π • x*y • xy AlgebradiBoole eCircuitiLogici 09/52 Operatore(ofunzione)NOT • Operatoredinegazione(NOT): inverteilvaloredellacostantesucuiopera • Notoanchecomeinverter 1=π π 1=π π 4 =0 π 4 =1 π • Ingenerale,lanegazionediunavariabileπ₯ è π₯Μ = 0 se x = 1 π₯Μ = 1 se x = 0 • L’elementoπ₯Μ =NOT(x)vienedettocomplemento dix • Ilcomplementoèunico AlgebradiBoole eCircuitiLogici 10/52 OperatoreNOT:Possibili Rappresentazioni • y=~x<- UsatoinMATLAB • y=not(x)<- UsatoinMATLAB • y=!x • y=not x • y=x’ • y=¬π 1 • y=π AlgebradiBoole eCircuitiLogici 11/52 AlgebradiBoole:Alcune Identità Funzione AND Funzione OR Funzione NOT 0×0=0 0+0=0 x+π₯Μ = 1 0×1=0 0+1=1 x×π₯Μ = 0 1×0=0 1+0=1 π₯ΜΏ = π₯ 1×1=1 1+1=1 x×0=0 x+0=x 0×x=0 0+x=x x×1=x x+1=1 1×x=x 1+x=1 x×x=x x+x=x Legge dell’idempotenza AlgebradiBoole eCircuitiLogici 12/52 AlgebradiBoole:Proprietàe Leggi Proprietà Commutativa π₯1π₯2 = π₯2π₯1 π₯1 + π₯2 = π₯2 + π₯1 Proprietà Distributiva π₯1 π₯2 + π₯3 = π₯1π₯2 + π₯2π₯3 π₯1 + π₯2π₯3 = π₯1 + π₯2 + (π₯1 + π₯3) Proprietà Associativa π₯1 π₯2π₯3 = (π₯1π₯2)π₯3 π₯1 + π₯2 + π₯3 = π₯1 + π₯2 + π₯3 Leggi di Assorbimento π₯1 + π₯1π₯2 = π₯1 π₯1(π₯1 + π₯2) = π₯1 Leggi di De Morgan π₯1 + π₯2 = π₯11×π₯12 π₯1×π₯2 = π₯11 + π₯12 Altre Note π₯1 + π₯11π₯2 = π₯1 + π₯2 π₯1(π₯11 + π₯2) = π₯1π₯2 AlgebradiBoole eCircuitiLogici 13/52 LeggidiDeMorgan– 1/4 • Ilcomplementodiunasommadivariabiliè ugualealprodottodeicomplimentidelle variabili • Ilcomplementodidueopiùvariabili posteinORèugualeall’ANDdei complimentidellesingolevariabili Leggi di De Morgan π₯1 + π₯2 = π₯11×π₯12 π₯1×π₯2 = π₯11 + π₯12 AlgebradiBoole eCircuitiLogici 14/52 LeggidiDeMorgan– 2/4 • Ilcomplementodiunprodottodivariabiliè ugualeallasommadeicomplimentidelle variabili • Ilcomplementodidueopiùvariabili posteinANDèequivalenteall’ORdei complimentidellesingolevariabili Leggi di De Morgan π₯1 + π₯2 = π₯11×π₯12 π₯1×π₯2 = π₯11 + π₯12 AlgebradiBoole eCircuitiLogici 15/52 LeggidiDeMorgan– 3/4 • Osservazione: π₯ΜΏ = π₯(Eq. 1) • Legge1diDeMorgan: π₯1 + π₯2 = π₯11×π₯12 (Eq.2) • Utilizzando(Eq.1) possoscrivere(Eq.2) comesegue:π₯1 + π₯2 = π₯11×π₯12 • Utilizzandoancora(Eq.1) ottengocheπ₯1 + π₯2 = π₯11×π₯12 • L’ORfrax1 ex2 puòessereespressointerminidellesoleoperazioniAND eNOT • Ognivoltacheinun’espressionebooleanatroviamounOR,lopossiamosostituire conlaappropriatacombinazionediANDeNOT • OgniespressionepuòessereespressainterminidellesoledueoperazionilogicheANDe NOT AlgebradiBoole eCircuitiLogici 16/52 LeggidiDeMorgan– 4/4 • Osservazione: π₯ΜΏ = π₯(Eq. 1) • Legge2diDeMorgan: π₯1×π₯2 = π₯11 + π₯12 (Eq.3) • Utilizzando(Eq.1) possoscrivere(Eq.3) comesegue:π₯1×π₯2 = π₯11 + π₯12 • Utilizzandoancora(Eq.1) ottengocheπ₯1×π₯2 = π₯11 + π₯12 • L’ANDfrax1 ex2 puòessereespressointerminidellesoleoperazioniOR eNOT • Ognivoltacheinun’espressionebooleanatroviamounAND,lopossiamosostituire conlaappropriatacombinazionediOReNOT • OgniespressionepuòessereespressainterminidellesoledueoperazionilogicheORe NOT AlgebradiBoole eCircuitiLogici 17/52 AlcuneOsservazioni • Identità,proprietàeleggivistefinoadorasono generalmenteapplicatenelletrasformazionidifunzioni booleaneinaltreequivalenti,madipiùfacilerealizzazione circuitale • DalleleggidiDeMorgansievincechelasceltadelle funzioniOR,ANDeNOT,comefunzioniprimitive,è ridondante AlgebradiBoole eCircuitiLogici 18/52 FunzioniLogiche(oBooleane) – 1/5 • Daten variabilibooleane indipendentix1,x2,…,xn,queste possonoassumere2n configurazioni distinte x1 x2 x3 F(x1,x2, x3) 0 0 0 0 0 0 1 0 • Ogniriga(inrosso)mostrailvalore restituitoapartiredauna particolareconfigurazionedell’input 0 1 0 0 0 1 1 1 • Unaconfigurazionespecificaè individuataunivocamentedaun ANDdituttelevariabili,dovequelle corrispondentiaivalori0compaiono negate 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 • Adesempiopern =3 sihanno8 configurazioni • Prodottofondamentaleoprodotto minimo(minterm) 010 AlgebradiBoole eCircuitiLogici x 1x 2x 3 19/52 FunzioniLogiche(oBooleane) – 2/5 x1 x2 x3 Configurazioni π₯11π₯12π₯13 F(x1,x2, x3) 0 0 0 0 π₯11π₯12π₯3 0 0 1 0 π₯11π₯2π₯13 0 1 0 0 π₯11π₯2π₯3 0 1 1 1 π₯1π₯12π₯13 1 0 0 0 π₯1π₯12π₯3 1 0 1 1 π₯1π₯2π₯13 1 1 0 1 π₯1π₯2π₯3 1 1 1 1 • 011indicatrale23=8configurazioni possibili,quellaincuiπ₯1 vale0,π₯2 vale1eπ₯3 vale1 • Questaconfigurazionesiscrive semplicementeconilprodotto π₯11π₯2π₯3 • Seinunaconfigurazioneuna variabilecomparecon1,siassumeil valorediretto,seinvececomparecon uno0,siassumeilvalorenegato AlgebradiBoole eCircuitiLogici 20/52 FunzioniLogiche(oBooleane) – 3/5 • Unavariabileyèfunzione dellen variabiliindipendentix1,x2,…,xn, quandoesisteuncriteriochefacorrispondereinmodounivocoad ognunadelle2n configurazionidix undeterminatovalorey (ovviamente 0o1) y=F(x1,x2,…,xn) • Unarappresentazioneesplicitadiunafunzioneèlatavoladiverità,in cuisielencanotuttelepossibilicombinazionidix1, x2,…,xn, con associatoilvalorediy x1 x2 y y = x1+ x2 0 0 1 1 0 1 0 1 AlgebradiBoole eCircuitiLogici 0 1 1 1 21/52 FunzioniLogiche(oBooleane) – 4/5 • Sipuòspecificarel’outputdiognifunzionebooleanaesprimendo, tramiteun’espressionebooleana,qualicombinazionidellevariabilidi inputdeterminanol’output1 • Piùprecisamente,perpassaredalla rappresentazionemediantetavoladiverità allanotazionetramiteespressionebooleanaè necessario 1. Identificaretuttelerighedellatavoladiverità chedanno1inoutput 2. Perognirigaconun1inoutput,scriverela configurazionedellevariabilichela definiscono 3. CollegaretramiteORtutteleconfigurazioni ottenute π₯11π₯2π₯3 +π₯1π₯12π₯3 + π₯1π₯2π₯13 +π₯1π₯2π₯3 x1 x2 x3 F(x1, x2,x3) 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 AlgebradiBoole eCircuitiLogici 22/52 FunzioniLogiche(oBooleane) – 5/5 • πΉ π₯1, π₯2, π₯3 = π₯11π₯2π₯3 + π₯1π₯12π₯3 + π₯1π₯2π₯13 + π₯1π₯2π₯3 • Conl’usodeiminterm possiamodeterminare l’espressionealgebricadiunafunzione booleanaapartiredallatavoladiverità • L’espressionealgebricatrovatasichiama formacanonica dellafunzioneesiottienecon unosviluppoinminterm • Unasomma(OR)diprodotti(AND) • Seunminterm assumevalore1anchela funzioneF assumeilvalore1 x1 x2 x3 F(x1, x2,x3) 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 AlgebradiBoole eCircuitiLogici 23/52 Esempio1:laFunzione Exclusive OR(XOR)– 1/2 • Ilcomportamento dellafunzioneExclusive OR puòesseredescritto comesegue • F =“L’outputdeveessere1(vero)sesolounodeisuoiinputè1,manonse entrambigliinputsono1” • Questopuòessererifrasato comesegue • F =“L’outputè1se(x1 ORx2)è1,ANDse(x1 ANDx2)sonoNOT1(falso)” • Chepuòesserescrittocome • π = ππ + ππ ×(ππππ) AlgebradiBoole eCircuitiLogici 24/52 Esempio1:laFunzione Exclusive OR(XOR)– 2/2 • LafunzioneXORverificaladisuguaglianzadiduevariabili x1 0 0 1 1 x2 0 1 0 1 XOR 0 1 1 0 Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1 • L’espressionecomesommadiprodottièquindi XOR(x1,x2) = π₯11×π₯2 + π₯1×π₯12 Forma canonica: somma di prodotti (OR di AND) N.B. tutte le funzioni logiche si possono scrivere in questa forma AlgebradiBoole eCircuitiLogici 25/52 Esempio2:dallaTavoladi VeritàallaFunzione x y z F 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: datetrevariabilibooleane (π₯, π¦, π§),siscrivalafunzioneF chevale1 quandosoloduediessehannovalore1 Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1 πΉ π₯, π¦, π§ = π₯Μ yz + xπ¦Lπ§ + π₯π¦π§Μ Forma canonica: somma di prodotti (OR di AND) N.B. tutte le funzioni logiche si possono scrivere in questa forma AlgebradiBoole eCircuitiLogici 26/52 Esempio3:dallaTavoladi VeritàallaFunzione x y z F 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: datetrevariabilibooleane (π₯, π¦, π§),siscrivalafunzioneF chevale1 quandoilnumerodi1èdispari Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1 πΉ π₯, π¦, π§ = π₯Μ π¦Lz + π₯Μ π¦π§Μ + π₯π¦Lπ§Μ + xyz Forma canonica: somma di prodotti (OR di AND) N.B. tutte le funzioni logiche si possono scrivere in questa forma AlgebradiBoole eCircuitiLogici 27/52 Esempio4:dallaFunzionealla TavoladiVerità • Vediamounesempioperla funzione • πΉ = π₯×(π¦ + π§) x y z F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 AlgebradiBoole eCircuitiLogici 28/52 x1 x2 z1 z2 Circuit xm Outputs Inputs CircuitoLogico Digital Logic Circuits zn • Ilcuore diunsistemadigitale èilcircuitologico digitale • Progettatoapartiredaportelogiche •• The heart of a digital system is usually a digital Collegatetraloroperformarecircuitipiùgrandi circuit • Combinatiperrealizzarecircuitidigrandeimportanzapratica nell’architetturadelcomputer AlgebradiBoole eCircuitiLogici logic 29/52 PorteLogiche • Buildingblock utilizzatipercrearecircuitidigitali • Qualsiasicircuitopuòessereimplementatousandosoloportelogiche elementari(AND,OReNOT) • Lecosesifannocomplicatequandosihannonumerosiinputedoutput • Dispositivielettronicicheimplementanosemplicifunzionibooleane • Ciascunaportahailpropriosimbolologicochepermetteafunzioni complessediessererappresentatemedianteundiagrammalogico • Lafunzionediciascunaportapuòessererappresentatadaunatabella diveritàoutilizzandolanotazionebooleana AlgebradiBoole eCircuitiLogici 30/52 FunzioneOR:TavoladiVeritàe An OR-Gate and a NOT-Ga PortaLogica x1 x2 0 0 0 1 x1 ORx2 0 0 00 0 1 11 0 1 1 An OR-Gate 0and a NOT-Gate 1 1 1 1 0 0 0 1 0 1 0 1 1 10 1 1 1 0 1 1 AlgebradiBoole eCircuitiLogici CS126 1 0 11-7 31/52 FunzioneAND:TavoladiVerità ePortaLogica x1 x2 x1 ANDx2 0 0 0 0 1 0 1 0 0 1 An AND-Gate 1 1 0 0 1 0 0 0 1 0 0 1 1 1 AlgebradiBoole eCircuitiLogici • A smallest useful circuit is a logic gate 32/52 FunzioneNOT:TavoladiVerità ePortaLogica An OR-Gate and a NOT-Gate x NOTx 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 AlgebradiBoole eCircuitiLogici 33/52 PortaNAND AlgebradiBoole eCircuitiLogici 34/52 PortaNOR AlgebradiBoole eCircuitiLogici 35/52 PortaXOR AlgebradiBoole eCircuitiLogici 36/52 PortaExclusive NOR AlgebradiBoole eCircuitiLogici 37/52 Esempio5:dallaFunzioneal Circuito X = A + BC AlgebradiBoole eCircuitiLogici 38/52 Esempio6:dallaFunzioneal Circuito C= (π΄ + π΅) O (π΄π΅) PortaNAND AlgebradiBoole eCircuitiLogici 39/52 Esempio7:dallaFunzioneal Circuito X = A BC + A BC + AB C AlgebradiBoole eCircuitiLogici 40/52 Esempio8:dallaFunzioneal Circuito Y = AB + CD PortaNOR AlgebradiBoole eCircuitiLogici 41/52 Esempio9:dalCircuitoalla Funzione– 1/2 AlgebradiBoole eCircuitiLogici 42/52 Esempio9:dalCircuitoalla Funzione– 2/2 • Procedereprogressivamentedagliinputversol’outputaggiungendoa turnoleespressionilogicheall’outputdiciascunaportalogica AlgebradiBoole eCircuitiLogici 43/52 Esempio10:Funzione=> TavoladiVerità=>Circuito • Siconsiderilaseguentefunzione:A(B + C) AlgebradiBoole eCircuitiLogici 44/52 Ricapitolando… • Abbiamovistocheunafunzionelogica (maancheuncircuitologico) puòessereespressainduemodi • TavoladiVerità • PorteLogiche • Perchéabbiamobisognodituttequestediverserappresentazioni? • • • • Alcunesonopiùfacilidialtrepercominciareaprogettareuncircuito Disolitosicominciaconlatavoladiverità Siderivaun’espressionebooleanadaessa(magariesemplificata) Sitrasformal’espressionebooleanainuncircuito AlgebradiBoole eCircuitiLogici 45/52 Esercizio1:determinarelafunzione espressadallaseguentetavoladiverità A B C X 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 AlgebradiBoole eCircuitiLogici 46/52 Esercizio2:trovarel’outputdel seguentecircuito(tavoladiveritàe funzione) x y y AlgebradiBoole eCircuitiLogici 47/52 Esercizio3:trovarel’outputdel seguentecircuito(tavoladiveritàe funzione) x y AlgebradiBoole eCircuitiLogici 48/52 Esercizio4:trovarel’outputdel seguentecircuito(tavoladiveritàe funzione) AlgebradiBoole eCircuitiLogici 49/52 Esercizio5:trovarel’outputdel seguentecircuito(tavoladiveritàe funzione) AlgebradiBoole eCircuitiLogici 50/52 Esercizio6:progettareilcircuitoper ciascunadelleseguentiespressioni • π₯Μ + π¦ •(π₯ + π¦)π₯ • ScriverelafunzioneXORusandoAND,OReNOT AlgebradiBoole eCircuitiLogici 51/52 Riferimenti • Libroditesto • Capitolo3 • Paragrafo4 • Altririferimenti • http://www.di.unito.it/~piccolo/teach/AA1516/Lezioni/Lezione2.pdf • http://liceocuneo.it/basteris/wp-content/uploads/sites/3/CIRCUITI20DIGITALI1.pdf • http://bias.csr.unibo.it/maltoni/arc/Dispense/LogicaDigitale.pdf • http://people.unipmn.it/bobbio/DIDATTICA/ARCH1_00/ALDISP_00/varbol00.pdf AlgebradiBoole eCircuitiLogici 52/52