Cenni alle reti logiche Luigi Palopoli
Cosa sono le reti logiche? Fino ad ora abbiamo visto Rappresentazione dell informazione Assembler L obbie:vo di questo corso è mostrare come si proge>o una computer Quindi abbiamo adesso bisogno di fare una piccola digressione su come si proge>ano I circuia logici Avremo un corso specifico su questo..
Valori logici I computer moderni sono realizzaa tramite circuia ele>ronici Tra>andosi di elemena digitali avremo due livelli fondamentali Alto, Asserito (1): associato alla tensione di alimentazione Vdd Basso, negato (0): associato alla massa (tensione = 0) Altri livelli di tensione sono non significaavi e assuna solo in fase transitoria
Reti logiche Le porte logiche sono dei circuia che trasformano alcuni valori logici in ingresso in altri valori logici in uscita Le porte logiche sono di due Api Combinatorie ü Relazione funzionale tra ingresso e uscita ü Non hanno memoria ü L uscita dipende solo dal valore dell ingresso Sequenziali ü L uscita dipende dalla storia degli ingressi passaa e non solo dal valore a>uale ü Hanno memoria (de>a anche stato della rete)
Tabella di verità Una possibile maniera di specificare una rete logica combinatoria è tramite una tabella di verità che elenca I valori delle uscite in corrispondenza dei vari ingressi INPUT OUTPUT A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1
Algebra di boole Una maniera più compa>a è di specificare le funzioni logiche combinatorie tramite espressioni algebriche definite con l algebra di boole Esistono tre operatori di base AND ü viene rappresentato tramite il simbolo di prodo>o. Esempio A B. ü Produce 1 se entrambi gli operandi sono uno e zero negli altri casi OR ü rappresentato tramite il simbolo della somma (+). Esempio A+B ü Produce zero se e solo se entrambi gli operandi sono 0 Not ü Rappresentato da una barra. Esempio: Ā ü Ha l effe>o di inverare il valore logico
Algebra di Boole Ci sono una serie di regole che ci perme>ono di manipolare facilmente le espressioni logiche IdenAtà: A+0=A, A 1=A Regola zero e uno: A + 1 = 1, A 0=0 Regola dell inversa A + Ā=1, A Ā=0 Regola commutaava: A+B=B+A, A B=B A Regola AssociaAva: A+(B+C)=(A+B)+C, A (B C)=(A B) C Regola distribuava: A (B+C)=(A B)+(A C), A+B C=(A +B)(A+C)
Algebra di Boole In più esistono dure regole molto importana, de>e di De Morgan A B A + B = A + B = A B Queste leggi ci dicono che se abbiamo una nand, o una nor tu: gli altri operatori logici si possono ricavare
Torniamo alla nostra tabella Algebra di Boole Esempio INPUT OUTPUT A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 Possiamo vedere facilmente D = A + B + C F = A B C
Algebra di Boole - Esempio Torniamo alla nostra tabella INPUT OUTPUT A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 E vale 1: Se A=1, B=1, C=0 oppure Se A=1, C=1 B = 0 oppure Se B=1, C=1, A= 0 E =(A B C)+(A C B)+(B C A) O usando De Morgan E = (A + B + C) (A + C + B) (B + C + A)
Porte logiche In realtà esistono dei circuia ele>ronici (porte logiche) che mi implementano gli operatori booleani fondamentali AND OR NOT
Porte logiche Le porte si possono combinare tra di loro (con il not che può essere semplificato tramite un cerchio) A + B
Decoder Alcuni circuiti
Alcuni circuiti MulAplexor Deviatore che sulla base di un input di controllo, determina quale degli input passa.
Alcuni circuiti MulAplexor a N vie Decoder
Forme canonica SP Abbiamo visto che Arare fuori un espressione logica da una tabella di verità è semplice Basta prendere ciascuna riga uguale a 1 e scrivere un termine di prodo>o logico de>ato dalla configurazione degli ingressi A quel punto si può fare la somma di tu: I prodo: individuaa
Altro esempio Consideriamo come ulteriore esempio: INPUT OUTPUT A B C D 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 =(A B C)+(A B C)+(A B C)+(A B C)
PLA La stru>ura che abbiamo visto si compone di due stadi: la prima è una barriera di AND (cde: anche mintermini) e una barriera di OR La dimensione totale del PLA è data dalla somma di Piano AND (numero di mintermini e loro complessità) e del piano OR (Numero di uscite) Cara>erisAche importana: Ci sono porte logiche solo per le configurazione che prudcono 1 Se un mintermine è condiviso tra varei uscita, basta una sola entry
Esempio Ritorniamo all esempio INPUT OUTPUT A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1
Esempio Implementazione tramite porte logiche D = A + B + C F = A B C E =(A B C)+(A C B)+(B C A)
Esempio Una diversa rappresentazione (usando i puna nei piani and e or) D = A + B + C F = A B C E =(A B C)+(A C B)+(B C A)
Costo Le funzioni logiche possono essere implementate in maniera diversa (più o meno efficiente) Per COSTO di una rete logica si intende normalmente la somma del numero di porte e del numero di ingressi della rete (indipendentemente dal fa>o che siano posiavi o negaa) E possibile trovare delle implementazioni di una rete che hanno cosa diversi
Minimizzazione di funzioni logiche La minimizzazione di alcune espressioni logiche è banale, in altri casi è necessario applicare le regole algebriche in modo furbo Es. f(x 1,x 2,x 3 )=x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 1 x 2 (x 3 + x 3 )+x 1 x 2 (x 3 + x3) = x 1 x 2 + x 1 x 2 =(x 1 + x 1 )x 2 = x 2
Minimizzazione Esistono metodi di minimizzazione sistemaaci basaa sull applicazione iteraava di queste regole Altri metodi sono basaa su rappresentazioni grafiche (mappe di Karnaugh), ma si applicano solo a casi più semplici Questo argomento si chiama sintesi logica e per gli interessaa è coperto nel corso di rea logiche
Array di elementi logici Molto spesso si costruiscono array di elemena che operano su daa complessi Ad esempio come realizzare un mulaplexer che opera su un bus a 32 bit ualizzando elemena a un bit BUS: insieme di file (ad esempio 32) che viene visto come un singolo segnale logico
Multiplexor a 32 bit