presentazione 2.1 circuiti digitali combinatori...presentazione 2.1 la negazione: not • ha un...

31
Circuiti digitali combinatori Presentazione 2.1 Informatica Generale (Prof. Luca A. Ludovico)

Upload: others

Post on 25-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Circuiti digitali combinatori

Presentazione 2.1

Informatica Generale (Prof. Luca A. Ludovico)

Page 2: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Definizioni

Parte 1

Informatica Generale (Prof. Luca A. Ludovico)

Page 3: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

George Boole

• George Boole (Lincoln, 2 novembre 1815 – Ballintemple, 8 dicembre 1864)

• Matematico e logico britannico

• Considerato il fondatore della logica matematica

• La sua opera maggiore è la base per gli studi sui circuiti elettronici e sulla commutazione e ha costituito un passo importante verso la concezione dei moderni computer.

Page 4: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Algebra di commutazione

• L’algebra di commutazione fa parte dell’algebra di Boole.

• Caratteristica: limitazione sui valori che possono assumere le variabili, che sono solo due e convenzionalmente indicati come 0 e 1.– corrispondenza con la rappresentazione binaria dei bit negli elaboratori

• Le variabili sono dette variabili di commutazione o variabili logiche.

Page 5: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Variabili logiche e loro valori

• L’algebra di commutazione si basa su valori antitetici.

• Denominazioni convenzionali• Informatica: 0 vs 1 • Logica: TRUE/VERO (T/V) vs FALSE/FALSO (F)• Elettronica: ON vs OFF

• Astrazione dalla rappresentazione fisica di tali valori.

• Definizione del valore di una variabile logica x:• x = 0 se e solo se x ≠ 1 negazione• x = 1 se e solo se x ≠ 0 o complemento

Page 6: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Variabili logiche e proposizioni

• Una variabile logica può essere vista come una proposizione avente un proprio valore di verità.

• La negazione di una proposizione vera è falsa, e la negazione di una proposizione falsa è vera.

• Esempio: si indichi dapprima con x la proposizione “Il gatto è un libro”, se ne valuti la verità e la si neghi. In un secondo momento, si ripeta l’esperimento con la proposizione x = “Il gatto è un animale”.

Page 7: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Circuiti e reti logiche

• I dispositivi elettronici nei calcolatori odierni sono digitali.

• Caratterizzazione di un dispositivo:• Funzionalità da realizzare, funzioni logiche > circuito• Struttura che realizza tale funzionalità > rete logica

• Circuiti combinatori: dispositivi digitali privi di memoria; l’uscita dipende solo dal valore degli ingressi

• Circuiti sequenziali: con memoria; l’uscita dipende dal valore degli ingressi e dallo stato

Page 8: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Circuiti combinatori

• Le uscite a un dato istante (in linea teorica) dipendono solo dal valore degli ingressi a quel dato istante.– In pratica, nella realtà fisica ci sono ritardi di trasmissione.

• Un circuito combinatorio si compone di una combinazione di funzioni logiche (dispositivi) elementari, rappresentabili tramite:• Equazione logica• Tabella di verità• Simbolo

Page 9: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Equazioni logiche

• Ogni funzione logica può essere rappresentata tramite equazione logica.

• Confronto con l’algebra “tradizionale”: y = f(x1, …, xn)

• Membro sinistro: nome del segnale in uscita dalla funzione

• Membro destro: espressione booleana data da combinazione di variabili logiche (corrispondenti ai nomi dei segnali in ingresso) ed operatori logici

• Esempio: y = a + b + c y = a OR b OR cL’operatore binario OR verrà spiegato più avanti

Page 10: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Valori in ingresso e uscita

• Astrazione di tipo black box

• Variabili in ingresso – sono in numero finito e limitato– possono assumere in un dato istante solo uno di due valori

• Le funzioni possono essere descritte esaustivamente indicando il valore di uscita in relazione al valore delle variabili logiche in ingresso

Page 11: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Tabelle delle verità

• Come specificare in modo completo il funzionamento di un circuito digitale combinatorio?

Elencando il valore che le uscite assumono in corrispondenza di ogni possibile valore applicato agli ingressi.

• Forma tabellare

a b c y

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Ingressi Uscita

Page 12: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Tabelle della verità

• Come creare tutte le combinazioni di ingressi?

• Per n variabili in ingresso, la tabella ha 2n righe

• Per n variabili in ingresso e m uscite, la tabella ha (minimo) n + m colonne

a b c y

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

Ingressi Uscita

Page 13: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Porte logiche

Parte 2

Informatica Generale (Prof. Luca A. Ludovico)

Page 14: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Porte logiche o gate

• Sono gli elementi di base per realizzare le operazioni logiche elementari a livello digitale.

• Le porte logiche fondamentali sono rappresentate graficamente da un simbolo circuitale standard e il loro comportamento è descritto da specifiche tabelle di verità.

• Una rete logica si definisce come una combinazione opportuna di porte logiche.

Piè di pagina: spazio libero per eventuale nome struttura o altro

Page 15: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Operatori booleani fondamentali

• Ogni operatore si applica a uno o più operandi, che sono posti rispettivamente alla destra e alla sinistra dell’operatore.

• Esempio con operatori aritmetici: 5 + 3

• NOT Operatore unario (si applica a un solo operando: NOT x)• AND Operatore binario (due operandi: x AND y)• OR “• XOR “• NAND “• NOR “• XNOR “

Page 16: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

La negazione: NOT

• Ha un unico ingresso (operatore logico unario)

oppure su linea in ingresso

• Produce in uscita il valore logico opposto del valore d’ingresso (negazione o complemento)

• Altra notazione nelle equazioni logiche: a

a NOT a

0 1

1 0

Page 17: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Il prodotto logico o congiunzione: AND

• Operatore logico binario

• Produce in uscita il valore logico 1 se e solo se i valori in ingresso sono tutti 1 (prodotto logico)

• Altra notazione: a • b oppure ab

a b a AND b

0 0 0

0 1 0

1 0 0

1 1 1

Page 18: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

La somma logica o disgiunzione: OR

• Operatore logico binario

• Produce in uscita il valore logico 1 se almeno uno dei valori in ingresso è 1 (somma logica)

• Altra notazione: a + b

a b a OR b

0 0 0

0 1 1

1 0 1

1 1 1

Page 19: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Precedenza tra operatori

• Regole di precedenza1. NOT (massima priorità)2. AND3. OR (minima priorità)

• Come forzare la precedenza? Usando parentesi tonde

• Esempi:• z = NOT a AND b OR c si può scrivere parentetizzato come z = ((NOT a) AND b) OR c• z = a OR b AND NOT c si può scrivere parentetizzato come z = a OR (b AND (NOT c))

• Esercizio: quali parentesi si possono togliere?

Page 20: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Proprietà fondamentali

AND OR

Identità 1 • x = x 0 + x = x

Elemento nullo 0 • x = 0 1 + x = 1

Idempotenza x • x = x x + x = x

Inverso x • x = 0 x + x = 1

Commutativa x • y = y • x x + y = y + x

Associativa (x • y) • z = x • (y • z) (x + y) + z = x + (y + z)

Assorbimento x • (x + y) = x x + x • y = x

Distributiva x • (y + z) = x • y + x • z x + y • z = (x + y) • (x + z)

De Morgan x • y = x + y x + y = x • y

Page 21: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

NAND

• Operatore logico binario

• La tavola di verità è quella dell’operatore AND negata

• a NAND b = NOT (a AND b)Attenzione: diverso da NOT a AND b

a b a NAND b

0 0 1

0 1 1

1 0 1

1 1 0

Page 22: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

NOR

• Operatore logico binario

• La tavola di verità è quella dell’operatore OR negata

• a NOR b = NOT (a OR b)

a b a NOR b

0 0 1

0 1 0

1 0 0

1 1 0

Page 23: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Operatori funzionalmente completi

• I teoremi di De Morgan (vedi sopra) permettono di usare solo porte NOT ed AND, o solo porte NOT ed OR.

• Gli operatori NAND e NOR sono funzionalmente completi: con soli NAND (o soli NOR) si può realizzare qualsiasi funzione logica.

• Infatti, combinando opportunamente porte logiche NAND (o NOR) si possono ottenere le funzioni di AND, OR e NOT.

Page 24: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

La disuguaglianza: XOR (eXclusive OR)

• Operatore logico binario

• Produce in uscita il valore logico 1 se i due valori in ingresso sono differenti (disuguaglianza)

• Altra notazione: a ⊕ b

a b a XOR b

0 0 0

0 1 1

1 0 1

1 1 0

Page 25: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

L’uguaglianza: XNOR

• Operatore logico binario

• Produce in uscita il valore logico 1 se i due valori in ingresso sono uguali (uguaglianza)

• Altra notazione: a ⊗ b

a b a XNOR b

0 0 1

0 1 0

1 0 0

1 1 1

Page 26: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Studio delle equazioni logiche Studio delle retiEsercitazioni

Parte 3

Informatica Generale (Prof. Luca A. Ludovico)

Page 27: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Come ricavare la rete dall’equazione logica

1. Identificare le variabili di ingresso, nella forma naturale e complementata

2. Realizzare i termini per le combinazioni di ingresso mediante porte logiche fondamentali (livello 1), partendo dagli operatori a priorità più alta

3. Combinare le uscite delle porte logiche di livello 1 con altre porte logiche (livello 2, livello 3, …), come richiesto dall’equazione logica, fino a creare l’uscita finale

Page 28: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Come ricavare la rete dall’equazione logica

Esempi

z = a b + c = a AND b OR c = (a AND b) OR c

z = a b + a c == ((NOT a) AND b) OR (NOT(a AND c))

z = a b c + b c + a

Page 29: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Come ricavare l’equazione logica dalla rete

• Si procede a ritroso, dalle uscite verso gli ingressi

u = (i1 i2) + (i0 i2)

Page 30: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Come ricavare l’equazione logica dalla rete

• Esercizio

Page 31: Presentazione 2.1 Circuiti digitali combinatori...Presentazione 2.1 La negazione: NOT • Ha un unico ingresso (operatore logico unario) oppure su linea in ingresso • Produce in

Informatica Generale (Prof. Luca A. Ludovico)Presentazione 2.1

Esercitazioni

• Modelli di esercizio

1. Partendo dall’equazione logica, ricavare la rete e studiarne il comportamento tramite tabella della verità

2. Partendo dalla rete, scriverne la corrispettiva equazione logica e studiarne il comportamento tramite tabella della verità

3. Provare a risolvere circuiti con più uscite (e quindi più equazioni logiche e tabelle di verità)