H SRUWH ORJLFKH ,O /LYHOOR /RJLFR...

22
Marco Tarini - Università dell'Insubria A.A. 2017/18 Architettura degli elaboratori - Porte logiche 1 Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Il Livello Logico-Digitale: Le porte logiche Marco Tarini - Dipartimento di Scienze Teoriche e Applicate [email protected] Architettura degli elaboratori I livelli nei moderni calcolatori 6. … Livello delle applicazioni specifiche 5. Livello dei linguaggi applicativi 4. Livello del linguaggio assemblatore 3. Livello del sistema operativo 2. Livello dell’Instruction Set (ISA) 1. Livello della microarchitettura 0. Livello logico -1. ... Livello dei dispositivi ... -2. ... (fisica dello stato solido) ...

Transcript of H SRUWH ORJLFKH ,O /LYHOOR /RJLFR...

Page 1: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 1

Università degli Studi dell’InsubriaDipartimento di Scienze Teoriche e Applicate

Architettura degli elaboratori

Il Livello Logico-Digitale:

Le porte logiche

Marco Tarini - Dipartimento di Scienze Teoriche e Applicate

[email protected]

Architettura degli elaboratori

I livelli nei moderni calcolatori

6. … Livello delle applicazioni specifiche5. Livello dei linguaggi applicativi4. Livello del linguaggio assemblatore3. Livello del sistema operativo2. Livello dell’Instruction Set (ISA)1. Livello della microarchitettura0. Livello logico

-1. ... Livello dei dispositivi ...-2. ... (fisica dello stato solido) ...

Page 2: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 2

Porte logicheArchitettura degli elaboratori - 3 -

Segnali e informazioni

Per elaborare informazioni, occorre rappresentarle (o codificarle)

Per rappresentare (o codificare) le informazioni si usano segnali

I segnali devono essere elaborati, nei modi opportuni, tramite dispositivi di elaborazione

Porte logicheArchitettura degli elaboratori - 4 -

Il segnale binario

Segnale binario: una grandezza che può assumere due valori distinti, convenzionalmente indicati con 0 e 1

s 0, 1Come abbiamo visto, qualsiasi informazione è rappresentabile (o codificabile) tramite un insieme di segnali binari (per esempio i caratteri del codice ASCII)

Page 3: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 3

Porte logicheArchitettura degli elaboratori - 5 -

Il segnale binario

Il segnale binario è adottato per convenienza tecnica

in linea di principio si potrebbe usare un segnale ternario o a nvalori

Rappresentazione fisica del segnale binario: si usano svariate grandezze fisiche come

corrente elettrica

luminosità

tensione elettrica la più usata!cioè potenziale elettrico;si misura in Volttipicamente:

tensione alta = segnale logico 1tensione bassa = segnale logico 0

(nota: passa comunque una corrente!)

altre grandezze fisiche ancora (suono, etc)

Porte logicheArchitettura degli elaboratori - 6 -

Circuiti digitali(o reti)

L’elaborazione di segnali (o informazioni) binarie è oggi svolta principalmente tramite tecnologie microelettroniche (e in parte anche ottiche)

I circuiti microelettronici che elaborano segnali (o informazioni) binari si chiamano circuiti digitali (o circuiti numerici, o circuiti logici)

Page 4: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 4

Porte logicheArchitettura degli elaboratori - 7 -

Livelli

livello microarchitettura:i circuiti digitali sono sono assemblati insieme (e pilotati unaunità di controllo, che è solo un altro circuito), in una macchina in grado di eseguire istruzioni macchina di un dato instruction set

livello logico:Le porte logiche vengono assemblate in circuiti digitali,che svolgono varie funzioni (di calcolo, di memoria, di controllo…)

livello dei dispositivi: il transistor è l’elemento funzionale fondamentale per la costruzione di porte logiche

Livello della microarchitetturaLivello logicoLivello dei dispositivi

Porte logicheArchitettura degli elaboratori - 8 -

Porte logiche

Minuscoli dispositivi dotati di alcuni cavi («wire») di ingresso, e cavo di uscita

Funzionamento: 1. dai cavi di ingresso viene immesso un certo segnale binario (di input)…

… e, dopo un certo tempo (brevissimo: frazioni di nanosec) …2. dai cavi di uscita esce un certo altro segnale (elaborato, di output)

sia gli input e gli output sono codificati nello stesso modo fisico(esempio con una tensione)

Finchè il segnale di input resta invariato, neanche l’output cambia

Quando il segnale di input cambia, dopo un breve tempo il segnale di output cambia (oppure no)

Esistono molti tipi di porta

Porta

Page 5: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 5

Porte logicheArchitettura degli elaboratori - 9 -

Tipi di porte logiche

Ogni porta logica implementa una funzione logica

Classificazione:per numero di ingressi:

porte a 1 ingresso, (dette anche unarie, o monovariate)

porte a 2 ingressi, (dette anche binarie, o bivariate)

porte a 3 ingressi, (dette anche ternarie, o trivariate)

e così via ...

Una porta logica a n ingressi implementa una funzione logica a n variabili!

Classificazione:per funzione implementata: porta NOT, porta AND, porta OR, ...

Circuiti digitali(o reti digitali)

Collegando gli output di una porta logica agli input di un’altra, e così via, costruiremo dei circuiti logici (circuiti digitali, o reti) che implementano funzioni a molti input e molti output ottenendo così elaborazioni via via più complesse

Porte logicheArchitettura degli elaboratori - 10 -

Porta 1

Porta 2

Porta 3

Porta 4

i n g r e

s si

u s c i t e

Page 6: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 6

Circuiti digitali(o reti digitali)

Un circuito digitale:

è dotato di n 1 ingressi e di un’uscita

è formato da porte logiche interconnesse da cavi

l’uscita di una porta è connessa con entrata in una porta o con l’output del circuito

Porte logicheArchitettura degli elaboratori - 11 -

Porta 1

Porta 2

Porta 3

Porta 4

i n g r e

s si

u s c i t e

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 12 -

Circuiti digitali:combinatori VS sequenziali

Due tipi di circuiti:

combinatorisono privi di retroazioni

il segnale viaggia dall’input all’output «a senso unico»

c’è una gerarchia (un ordinamento parziale) fra le porte

niente cicli (aciclico)!

sequenzialihanno retroazioni

retroazione: quando il segnale che esce da una porta tornaindietro alla stessa porta (anche dopo essere passato da altre porte)

esempio:

Porta 1

Porta 2

per ora, ci concentriamo solo su questi

Page 7: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 7

Porte logicheArchitettura degli elaboratori - 13 -

Quali tipi di porte logiche usare?Porte logiche fondamentali

Vogliamo usare un insieme di tipi di porte logiche che ci consenta di realizzare qualunque funzione.

Sarebbe anche opportuno che l’insieme fosse piccolo! per ridurre i costi

La teoria ci dice che esistono diversi insiemi siffatti

Noi useremo (soprattutto) l’insieme: { NOT , AND , OR }Implementano funzioni logiche molto intuitive

che hanno una lunghissima storia di uso nella logica (da Aristotele in poi!)

L’insieme consente di realizzare qualsiasi funzione

Non è un insieme più piccolo possibile, ma è comodo da usare

Pro-memoria: esistono insiemi più piccoli ma ancora sufficienti, come: { NOT, OR} , {NOT, AND} , {NAND} , {NOR}

usatissimo in pratica

Descriviamo alcuni tipi di porta logicha

Ogni porta logica (a n ingressi binari)implementa un operatore logico (a n variabili booleane)

Di ogni porta logica che usiamo siamo per vedere:

con quale simbolo grafico rappresentarla nei nostri schemi(seguendo delle tradizioni consolidate)

con quale nome, e quali sinonimi, chiamarla(idem)

e quale simbolo usare per l’operatore implementato (idem)

e soprattutto …quale operatore logico implementa,cioè quale sia la funzione logica corrispondente

Porte logicheArchitettura degli elaboratori - 14 -

Page 8: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 8

Come descrivo una funzione logica

Problema: come faccio a descrivere una data funzione logica f ?y = f( x )

o più in generaley = f( x1, x2, x3, …)

Risposta: posso tabellarla!

cioè riportare esaustivamente cosa faccia f( x1, x2, x3, …) per ogni combinazione possibile di x1, x2, x3, …

nota: lo posso fare perché esiste solo un un numero finito di valori possibili:x1 vale 0 oppure 1

se ho n valori, ho solo 2n combinazioni da specificare

questa tabella è detta tabella delle verità

Porte logicheArchitettura degli elaboratori - 15 -

Porte logicheArchitettura degli elaboratori - 16 -

Porta NOT (invertitore, negatore)

A X

Simbolo funzionale Tabella delle verità

A X0 11 0

A X

simbolo semplificato

L’uscita vale 1 se e solo se

l’ingresso vale 0

L’uscita vale 0 se e solo se

l’ingresso vale 1

Page 9: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 9

Porte logicheArchitettura degli elaboratori - 17 -

Porta AND

Tabella delle verità

A B X0 0 00 1 01 0 01 1 1

A

X

B

(a 2 ingressi)

Simbolo funzionale

L’uscita vale 1 se e solo se entrambi gli ingressi valgono 1

Porte logicheArchitettura degli elaboratori - 18 -

Porta OR

Tabella delle verità

A B X0 0 00 1 11 0 11 1 1

A

X

B

(a 2 ingressi)

Simbolo funzionale

NB: è un “or” inclusivo

L’uscita vale 1 se e solo se almeno un

ingresso vale 1

Page 10: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 10

Porte logicheArchitettura degli elaboratori - 19 -

Generalizzazioni

Alcuni tipi di porte a 2 ingressi si possono generalizzare a 3, 4, ecc. ingressi

Le due porte a più ingressi maggiormente usate sono la porta AND e la porta OR

Tipicamente si usano AND (o OR) a 2, 4 o 8 ingressi (raramente più di 8)

Porte logicheArchitettura degli elaboratori - 20 -

Porta AND a 3 ingressi

Tabella delle verità

A B C X0 0 0 00 0 1 00 1 0 00 1 1 01 0 0 01 0 1 01 1 0 01 1 1 1

Simbolo funzionale

L’uscita vale 1 se e solo se tutti gli

ingressi valgono 1

A

B

C

X

Page 11: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 11

Porte logicheArchitettura degli elaboratori - 21 -

Realizzazione ad albero

La porta AND a 3 ingressi si può realizzare come albero di porte AND a 2 ingressi

ma non è l’unico modo, es(circuito funzionalmenteequivalente)(= esegue la stessa funzionedegli input)

A

B

C

X

A

B

C

X

A

B

C

X

Porte logicheArchitettura degli elaboratori - 22 -

Porta OR a 3 ingressi

Simbolo funzionaleTabella delle verità

A B C X0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 11 0 1 11 1 0 11 1 1 1

L’uscita vale 1 se e solo se almeno uno degli ingressi vale 1

A

B

C

X

Page 12: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 12

Porte logicheArchitettura degli elaboratori - 23 -

Porte AND e OR a più ingressi

L’uscita X della porta AND a 3 ingressi vale 1 se e soltanto se tutti e tre gli ingressi A, B e C valgono 1

L’uscita X della porta OR a 3 ingressi vale 1 se e soltanto se almeno uno tra gli ingressi A, B e C vale 1

Si generalizza a più ingressi nel modo ovvio ...

Porte logicheArchitettura degli elaboratori - 24 -

Costo di una porta logica

Una porta logica è sono realizzata con un certo numero di transistor

Il numero necessario determina il costo della porta

Dipende da: la tecnologia usata, l’operatore realizzato, il num di ingressi

porta NOT : 1 oppure 2 transistor

porte AND e OR (a 2 ingressi): 3 oppure 4 transistor

altre porte: 4 transistor

« In quale modo 3-4 transistor compongono una porta AND? »Questo tipo di domanda pertiene al livello dei dispositivi

esula da questo corso (noi partiamo dal livello logico)

ci limitiamo ad alcune considerazioni di massima,come quelle riportate qui sopra…

Livello logicoLivello dei dispositivi

Page 13: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 13

Porte logicheArchitettura degli elaboratori - 25 -

Velocità di una porta logica

Tempo di commutazione: il tempo che impiega un dispositivo a generare l’uscita dopo che sono cambiati gli ingressi

Tempo di commutazione di un circuito =max tempo di commutazione di tutti i percorsi da input a output

Tempo di commutazione di un percorso =somma tempi di commutazione di tutte le porte attraversate

Tempo di commutazione di una porta =dipende dalla tecnologia, dalla funzione e dal numero di ingressi

Le porte più veloci (oltre che più piccole) sono tipicamente le porte NAND e NOR a 2 ingressi: possono commutare in meno di 1 nanosecondo (109 sec, un miliardesimo di sec)

NAND = AND negato

NOR = OR negato

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 26 -

Costo di un circuito digitale

Il costo di un circuito digitale si valuta in vari modi (criteri di costo):

Numero totale di porte utilizzate

Numero di tipi diversi di porte utilizzate

Altri ...Numero di porte universali (NAND o NOR)

Numero tutale di transistor (per comporre tutte le porte necessarie)ES: ogni AND oppure OR : 4 transistorogni NOT : 2 transistor

Complessità delle interconnessioni

ecc ...

Page 14: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 14

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 27 -

Velocità di un circuito digitale combinatorio

( o latenza , o ritardo di propagazione )

La velocità di una rete combinatoria è misurata dal tempo che una variazione di ingresso impiega per modificare l’uscita della rete

Per calcolare la velocità di una rete combinatoria, occorre conoscere i ritardi di propagazione delle porte logiche componenti la rete, e poi analizzare i percorsi ingressi-uscita

Frequenza di commutazione = 1 / (latenza)(quante volte al secondo può calcolare la funzione logica associata)

La latenza si misura in secondi (s)

o, più comodamente, nano-sec (10-9 sec)…

La frequenza si misura in Hertz (Hz) 1Hz = 1 / sec = una volta al sec

o, più comodamente, Mega Hertz (MHz,), Giga Hertz (GH) …

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 28 -

Velocità

A

F=AB+/C

B

C

Ritardo totale = 5 ns = 5 109 sec

Freq. di commutazione = 1 / 5 ns = 200 MHz

2 ns

1 ns

+3 = 5 ns

2 ns

1 ns

3 ns2

max

Page 15: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 15

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 29 -

Velocità

Calcolo “all’indietro”

1 ns

T0

A

F

B

C

3 ns

1 ns

2 ns

T0 - 3 ns

T0 - 3 nsT0-(3+2) ns

T0-(3+2) ns

T0-(3+1) ns

Il ritardo è il massimo tra quelli “riportati” all’ingressomax( 3+2, 3+2 , 3+1)

Esempio di circuito combinatorio

Porte logicheArchitettura degli elaboratori - 31 -

B

A

X

realizza la funzione espressa daquesta tabella di verità:

(verificare!)

A B X

0 0 1

0 1 0

1 0 1

1 1 1

Page 16: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 16

Esempio di circuito combinatorio

Porte logicheArchitettura degli elaboratori - 32 -

B

A

X

Domande:quali altri circuiti eseguono la stessa funzione?

ce ne sono di migliori?(costo complessivo, o tempo di commutazione)

vediamo strumenti per risponderea questo tipo di domande

A B X

0 0 1

0 1 0

1 0 1

1 1 1

Porte logicheArchitettura degli elaboratori - 33 -

Algebra di Boole (o Booleana)

Algebra = un insieme di valori (oppure alcuni) + operazioni definite su questi valori

Algebra di Boole Insieme = { 0, 1 } (cioè {Falso , Vero} )Operatori = AND, OR, NOT

L’algebra di Boole ci sarà utile a descrivere matematicamente i circuiti combinatori

Ogni espressione dell’algebra di boole corrisponde ad un circuito

Lavoreremo con:

Espressioni che compongono operatori booleani

Regole di trasformazione (equivalenza) tra queste espressioni

Page 17: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 17

Porte logicheArchitettura degli elaboratori - 34 -

Operatori booleani

A, B e X sono variabili booleaneA, B, X 0, 1

Il prodotto ha precedenza sulla sommaL’inversione ha precedenza su somma e prodotto

(tipicamente: tutti gli op UNARI hanno precedenza su op BINARI)

Nome Operazione Porta associata

Inversione X = /A Porta NOT

Somma logica X = A + B Porta OR

Prodotto logico X = A B Porta AND

su 2 param

Porte logicheArchitettura degli elaboratori - 35 -

Operatori booleani

Ciascuno corrisponde a una porta logica

Il funzionamento di qualsiasi operatore booleano si può rappresentare tramite la tabella delle verità della porta associata

Gli operatori NOT, AND e OR sono quelli fondamentali della logica classica

Si possono comporre per ottenere tutti gli altri possibili operatori boolenani

(questo sarebbe vero anche scegliendo insiemi differenti, anche più piccoli, di «operatori fondamentali»: per es… ? )

Page 18: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 18

Operatori booleani binari (cioè a 2 ingressi)

Curiosità: quanti possibili operatori booleani binari diversi?

Risposta: tanti quante sono le tabelle di verità possibili cioè…

Elenchiamole tutte (molte hanno un nome):

Porte logicheArchitettura degli elaboratori - 36 -

A B

0 0

0 1

1 0

1 1

X

0

0

0

0

X

0

0

0

1

X

0

0

1

0

X

0

0

1

1

X

0

1

0

0

X

0

1

0

1

X

0

1

1

0

X

0

1

1

1

X

1

0

0

0

X

1

0

0

1

X

1

0

1

0

X

1

0

1

1

X

1

1

0

0

X

1

1

0

1

X

1

1

1

0

X

1

1

1

1

AND NANDXOR

NOR

OR

==sempre 0 A (ignora B)

\A (ignora B)

B(ignora A)

\B(ignora A)

sempre 1

Porte logicheArchitettura degli elaboratori - 37 -

Operatori booleani

Somma Prodotto Inversione

(op.binario) (op.binario) (op.unario)

0 + 0 = 0 0 0 = 0 /0 = 1

0 + 1 = 1 0 1 = 0 /1 = 0

1 + 0 = 1 1 0 = 0

1 + 1 = 1 1 1 = 1

Sono le tabelle delle verità della porta logica OR, AND e NOT, rispettivamente

Page 19: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 19

Porte logicheArchitettura degli elaboratori - 38 -

Operatori booleani

Alcune sintassi alternative:

Somma Prodotto Inversione

A + B A × B / A

A | | B A && B ! A

A | B A & B ~A

A or B A and B not A

A ˅ B A ˄ B ¬A

A ∙ B A

A * B

AB nota!

Altri operatori booleani binari(e porte corrispondenti)

Noi useremo circuiti che usano porte AND, OR e NOT

comodità, + uso diretto della logica classica

Altre porte popolari:

Porte logicheArchitettura degli elaboratori - 39 -

A B X

0 0 0

0 1 1

1 0 1

1 1 0

XOR(«or esclusivo»)

uno o l’altro, ma NON entrambi

Significati intuitivi di A XOR B:

A oppure B, ma non entrambi(in latino: A aut B)

vero se A e B diversifalso se A e B uguali

vale /A se B = 1vale A se B = 0

(e viceversa)

il contrario di A, se B vale; A immutato, altrimenti

(e viceversa)

Page 20: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 20

Altri operatori booleani binari(e porte corrispondenti)

Noi useremo circuiti che usano porte AND, OR e NOT

comodità, + uso diretto della logica classica

Altre porte popolari:

Porte logicheArchitettura degli elaboratori - 40 -

A B X

0 0 1

0 1 0

1 0 0

1 1 1

NXOR(«fa il contrario di XOR»)

Significati intuitivi di A NXOR B:

uno XOR seguito da un NOTA NXOR B = \( A XOR B)

cioè…entrambi veri oppureentrambi falsi

cioè…AB + \A\B

cioè…operatore di uguaglianza fra A e B:vero se A e B sono uguali.falso se sono diversi

Altri operatori booleani binari(e porte corrispondenti)

Noi useremo circuiti che usano porte AND, OR e NOT

comodità, + uso diretto della logica classica

Altre porte popolari:

Porte logicheArchitettura degli elaboratori - 41 -

A B X

0 0 1

0 1 1

1 0 1

1 1 0

NAND(«fa il contrario di AND»)

A B X

0 0 1

0 1 0

1 0 0

1 1 0

NOR(«fa il contrario di OR»)

Page 21: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 21

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 42 -

Espressioni booleane

Una espressione booleana contiene una o più

variabili booleane,

operatori booleani prodotto (AND), somma (OR) e negaz (NOT):

es: \A B + C

Dando dei valori alle variabili booleane dell’espressione, e calcolando, si ottiene un valore risultante

Una data espressione booleana (con N variabili)esprime una funzione booleana (o funzione logica)

una funzione che va da: N booleani (parametri) a: un booleano

Una funzione booleana si può definire tabellandola esaustivamente

cioè specificando il valore della funzione per ciascuna combinazione dei valori 0,1 dei suoi parametri(la sua tavola di verità) (o tabella delle verità)

ogni tabella diversa rappresenta una funzione diversa

Diverse espressioni booleane esprimono la stessa funzione.

Funzioni e circuiti combinatoriArchitettura degli elaboratori - 43 -

Tabella (o tavola) delle verità

La tabella delle verità è un modo per rappresentare una funzione booleana (data o da determinare)

La tabella delle verità ha due colonne:

colonna degli ingressi, le righe contengono tutte le possibili combinazioni di valori delle variabili della funzione

colonna dell’uscita, riporta i corrispondenti valori assunti dalla funzione

Nota: se due funzioni hanno la stessa tabella di verità,allora sono la stessa funzione!

Ogni tabella di verità corrisponde ad una funzione booleana,e viceversa

Tabella di verità è in pratica sinonimo di funzione booleana

Page 22: H SRUWH ORJLFKH ,O /LYHOOR /RJLFR 'LJLWDOHvcg.isti.cnr.it/~tarini/teaching/archi/2017/03-PorteLogiche.pdf · 0dufr 7dulql 8qlyhuvlwj ghoo,qvxeuld $ $ $ufklwhwwxud ghjol hoderudwrul

Marco Tarini - Università dell'Insubria A.A. 2017/18

Architettura degli elaboratori - Porte logiche 22

Tabella verità

Rete combinatoria

Ricapitolando

Porte logicheArchitettura degli elaboratori - 44 -

Espressione booleana

A + /A /B

A B X

0 0 1

0 1 0

1 0 1

1 1 1

1:1

∞:1

∞:1

cioè funzione booleana

Rete combinatoriaRete combinatoria

Rete combinatoriaRete combinatoriaRete combinatoria

Ricapitolando(ciascuna freccia rappresenta un procedimento, che vedremo)

Porte logicheArchitettura degli elaboratori - 46 -

Espressione booleana

A + /A /B Tabella verità(funzione booleana)

A B X

0 0 1

0 1 0

1 0 1

1 1 1

AnalisiImplementazione

Transfor-mazione