Algebra e circuiti elettronici -...

20
Algebra e circuiti elettronici I computer operano con segnali elettrici con valori di potenziale discreti Sono considerati significativi soltanto due potenziali (high/ low); i potenziali intermedi, che si verificano durante le transizioni di potenziale, non vengono considerati L’aritmetica binaria è stata adottata proprio perché i bit sono rappresentabili naturalmente tramite elementi elettronici in cui siamo in grado di distinguere i 2 stati del potenziale elettrico (high/low)

Transcript of Algebra e circuiti elettronici -...

Page 1: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Algebra e circuiti elettronici• I computer operano con segnali elettrici con valori di

potenziale discreti • Sono considerati significativi soltanto due potenziali (high/

low); i potenziali intermedi, che si verificano durante le transizioni di potenziale, non vengono considerati

• L’aritmetica binaria è stata adottata proprio perché i bit sono rappresentabili naturalmente tramite elementi elettronici in cui siamo in grado di distinguere i 2 stati del potenziale elettrico (high/low)

Page 2: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Segnale binario

Page 3: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Algebra e circuiti elettronici

Il funzionamento dei circuiti elettronici può essere modellato tramite l’Algebra di Boole • solo 2 valori:

• valore logico True (1 o asserted) → livello di potenziale alto

• valore logico Falso (0 o deasserted) → livello di potenziale basso

• operazioni logiche Booleane: somma (OR), prodotto (AND) e inversione (NOT) logica • OR (A+B): risultato uguale ad 1 (true) se almeno un input è 1 (true) • AND (A∙B): risultato uguale ad 1 (true) solo se tutti gli input sono 1 (true) • NOT (~A): risultato uguale all’inverso dell’input (0 → 1 oppure 1 → 0)

Page 4: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Blocco logico• circuito elettronico con linee (fili) in input e output • possiamo associare variabili logiche con le varie linee in input/output

• i valori che le variabili possono assumere sono quelli dell’Algebra di Boole

blocco logicoI0

I1

O0

O1

• il circuito calcola una o più funzioni logiche, ciascuna esprimibile tramite una combinazione di operazioni dell’Algebra di Boole sulle variabili in input

• Circuito combinatorio • senza elementi di memoria - produce output che dipende funzionalmente solo

dall’input • Circuito sequenziale

• con elementi di memoria - produce output che dipende non solo dall’input ma anche dallo stato della memoria

Page 5: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Tabelle di verità• Una funzione logica è completamente specificata tramite

la sua tabella di verità • Dati n input bit, il numero di configurazioni possibili degli

input, ovvero il numero di righe della tabella di verità, è 2n • per ogni bit in output, la tabella contiene una colonna,

con un valore definito per ognuna delle combinazioni dei bit in input

A B C D E 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0

0 1 0 0 1 1 0 1 1 1 1 1 0 0

1

Page 6: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Equazioni logiche• Una funzione logica completamente specificata tramite una equazione logica

dell’algebra di Boole • Esempio: E = ~A~BC + AB~C

• bit in input e output rappresentati tramite variabili logiche (con valori 0 o 1) • input combinati tramite le operazioni di somma (OR), prodotto (AND) e

complementazione (NOT) logica dell’algebra di Boole • Proprietà

• Identità: A+0=A A∙1=A • Nullo: A+1=1 A∙0=0 • Idempotente: A+A=A A∙A=A • Inverso: A+(~A)=1 A∙(~A)=0 • Commutativa: A+B=B+A A∙B=B∙A • Associativa: A+(B+C)=(A+B)+C A∙(B∙C)=(A∙B)∙C • Distributiva: A∙(B+C)=(A∙B)+(A∙C) A+(B∙C)=(A+B)∙(A+C) • DeMorgan: ~(A+B)=(~A)∙(~B) ~(A∙B)=(~A)+(~B)

Page 7: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Funzioni e tabelle AND, OR, NOT• OR (A+B): risultato uguale ad 1 (true) se almeno un

input è 1 (true) • AND (A∙B): risultato uguale ad 1 (true) solo se tutti gli

input sono 1 (true) • NOT (~A): risultato uguale all’inverso dell’input (0→1

oppure 1→0)

Page 8: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Circuti AND, OR, NOTPorte logiche • AND

• OR

• NOT

AB C

EEsempio • E = ~((AB) + (~BC))

Page 9: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

NAND e NORNAND (AND con uscita negata): ~(A∙B)

NOR (OR con uscita negata): ~(A+B)

Si può dimostrare che le operazioni NAND o NOR (e le corrispondenti porte) sono sufficienti per implementare qualsiasi funzione logica

Page 10: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Sintesi di circuiti combinatori• Ogni funzione logica può essere rappresentata come

equazione logica o come tabella di verità • Data una tabella di verità o una equazione logica, come si

sintetizza il circuito combinatorio che la implementa? • Ogni equazione logica può essere scritta in forma canonica

tramite l’uso degli operatori AND, OR e NOT • Forma canonica SP (somma di prodotti)

• Primo livello AND, secondo livello OR • Forma canonica PS (prodotto di somme)

• Primo livello OR, secondo livello AND • Esistono tecniche per minimizzare il numero di porte:

• Mappe di Karnaugh • Algoritmo di Quine – McCluskey

Page 11: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioDati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali:

• D è vera se almeno uno degli ingressi è vero • E è vera se esattamente due input sono veri • F è vera se tutti e tre gli input sono veri

Intuitivamente le equazioni sono: • D = A + B + C • F = ABC • E = ( AB + BC + AC) · ∼(ABC)

Page 12: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioDati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali:

• D è vera se almeno uno degli ingressi è vero • E è vera se esattamente due input sono veri • F è vera se tutti e tre gli input sono veri

A B C D E F0 0 0 0 0 00 0 1 1 0 00 1 0 1 0 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Page 13: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioDati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali:

• D è vera se almeno uno degli ingressi è vero • E è vera se esattamente due input sono veri • F è vera se tutti e tre gli input sono veri

A B C D E F0 0 0 0 0 00 0 1 1 0 00 1 0 1 0 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Prodotto di somme D = (A + B + C)

Page 14: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioDati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali:

• D è vera se almeno uno degli ingressi è vero • E è vera se esattamente due input sono veri • F è vera se tutti e tre gli input sono veri

A B C D E F0 0 0 0 0 00 0 1 1 0 00 1 0 1 0 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Prodotto di somme E = (A+B+C) (A+B+∼C) (A+∼B+C) (∼A+B+C) (∼A+∼B+∼C)

Page 15: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioDati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali:

• D è vera se almeno uno degli ingressi è vero • E è vera se esattamente due input sono veri • F è vera se tutti e tre gli input sono veri

A B C D E F0 0 0 0 0 00 0 1 1 0 00 1 0 1 0 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Prodotto di somme F = (A+B+C) (A+B+∼C) (A+∼B+C) (A+∼B+∼C)(∼A+B+C) (∼A+B+∼C)(∼A+∼B+C)

Page 16: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioDati tre ingressi A, B, C realizzare un circuito che fornisca in uscita tre segnali:

• D è vera se almeno uno degli ingressi è vero • E è vera se esattamente due input sono veri • F è vera se tutti e tre gli input sono veri

A B C D E F0 0 0 0 0 00 0 1 1 0 00 1 0 1 0 00 1 1 1 1 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 1 0 1

Somma di prodotti D = (∼A∼BC)+(∼AB∼C)+(∼ABC)+ (A∼B∼C)+(A∼BC)+(AB∼C)+(ABC)

E = (∼ABC)+(A∼BC)+(AB∼C)

F = ABC

Page 17: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

EsercizioE = (∼ABC)+(A∼BC)+(AB∼C)

AB C

E

Page 18: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

PLA• La rappresentazione SP corrisponde a una comune

implementazione chiamata Array a Logica Programmabile • Ha 2 livelli di logica

• un array di porte AND (input → termini prodotto) • un array di porte OR (termini prodotto → output)

• Esempio:

Page 19: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Decoder• Circuito combinatorio con n input e 2n output • Traduce gli n bit di input nell’equivalente valore binario, e

abilita a 1 l’uscita corrispondente, mentre le altre uscite sono disabilitate a 0

• Esiste anche l’encoder, che esegue l’operazione inversa • Esempio di un decoder a 3 bit:

Page 20: Algebra e circuiti elettronici - CNRpomino.isti.cnr.it/~khast/wp-content/uploads/2018/04/sis_elab_2018_5.pdfAlgebra e circuiti elettronici • I computer operano con segnali elettrici

Multiplexer• Due insiemi di input

• n input dati • ⎡log2 n⎤input selettori

• L’output corrisponde al valore del dato di input selezionato dai valori dei selettori di input

Multiplexer 2 a 1 (a 1 bit) e sua implementazione

Multiplexer 2 a 1 (a 32 bit) e sua implementazione