48
1 Fondamenti Informatica 2 - Prof. Gregorio Cosentino Logica Digitale

Logica digitale - Università degli Studi di Roma … Booleane (Esempio) Fondamenti Informatica 2 - Prof. Gregorio Cosentino 22 ES •Tre variabili booleane A, B, C •Funzione di

Embed Size (px)

Citation preview

1Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Logica Digitale

Ma in fondo quali sono i mattoncini che compongono un calcolatore elettronico ?

2Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Porte And, Or, Nand, Nor, Not

Circuiti Multiplexer, Codif, Shifter, ALU

Aritmetica Sommatori

Memorie Latch, Flip Flop

Bus Sincroni clk, Asincroni M/slave

I/O Chip paralleli

Circuiti Digitali

CIRCUITODIGITALE

i1

in

o1

om

USCITEINGRESSI

3Fondamenti Informatica 2 - Prof. Gregorio Cosentino

• Circuiti elettronici i cui ingressi e le cui uscite assumono solo due livelli

• Al circuito sono associate le funzioniche calcolano le uscite a partire dagli ingressi

o1 = f1( i1,….,in)...

om = fm(i1,….,in)

Una semplice applicazione

4Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•Variabile di controllo: X–due stati:

• X=0 -> interruttore aperto• X=1 -> interruttore chiuso

•Uscita Y–Due stati:

• Lampadina spenta (Y=0)• Lampadina accesa (Y=1)

X=1Y=1X=0 Y=0

Modello logico

Y

5Fondamenti Informatica 2 - Prof. Gregorio Cosentino

AND

OR

X1 X2Y = X1 X2

X1

X2

Y

Y = X1 + X2

Funzione di trasmissione

•Ft=Funzione di trasmissione•IN = OUT se Ft=1, altrimenti OUT=0

+5V

6Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Ft

IN OUT

Ft

Ft

1

0

IngressoPorta

UscitaPorta

Controllo

Ft=xy è un AND

x y0V

Transistori MOS

•Le funzionalità sono simili a quelle del relè:

–Funzione di trasmissione controllata mediante un ingresso di controllo (gate)

7Fondamenti Informatica 2 - Prof. Gregorio Cosentino

A

X

+5v

A X

0 V ~5 V

5 V ~0 V

Funzioni Logiche (Booleane)

y = f(x1,…,xn) y,x1,…,xn∈{ 0,1}

{ 0,1}n → { 0,1}• Variabili con due soli valori possibili:

{ 0,1} {F,T}

Tavola di verità

x1 x2 …… x n-1 xn f0 0 …….. 0 0 00 0 …….. 0 1 1. . . . .. . . . .. . . . . 1 1 …….. 1 1 0

• 2n combinazioni di ingresso• 22 funzioni distinte di n variabili

f

VEROFALSO TRUEFALSE

n

8Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Funzioni Booleane (Esempi)

• Con n=1 si hanno 4 funzioni:

x1 f0 f1 f2 f30 0 0 1 11 0 1 0 1

• La funzione f2 è detta NOT

• Con n=2 si hanno 16 funzioni, tra cui:

x1 x2 f0 f1 f2 f3 f4 f5 f6 f70 0 0 0 0 0 0 0 0 00 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1

• La funzione f1 è nota come AND

• La funzione f7 è nota come OR

9Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Algebra Circuitale (Booleana)

• È una struttura algebrica (insieme più operatori)

• Reticolo distributivo complementato

Insieme: I = { 0,1 }Operatori: AND, ORComplementazione: NOT

Notazione

• Se x e y sono due variabili booleane:– L’ AND di x e y si indica con x·y– L’ OR di x e y si indica con x + y– Il NOT di x si indica con x

10Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Porte NAND e NOR

È possibile simulare AND, OR e NOT, e quindi realizzare qualsiasi circuito, usando soli NAND oppure soli NOR che richiedono meno transistors.

Simulazione AND1,1

0,0

1

11Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Porte XOR

12Fondamenti Informatica 2 - Prof. Gregorio Cosentino

• Calcola la funzione OR Esclusivo (diverso da OR): dà uscita 1 (vero) quando uno solo degli ingressi (ma non entrambi) vale 1

• Facilmente realizzabile con porte AND, OR e NAND

0

1

0

1

00

0

1 1

00

Riepilogo

13Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Operatore Simbolo Proprietà

NOT y=1 se e solo se x=0

AND y=x1x2 y=1 se e solo se x1=x2=1

OR y=x1+x2 y=0 se e solo se x1=x2=0

NAND y=x1/x2 y=0 se e solo se x1=x2=1

NOR y= x↓x2 y=1 se e solo se x1=x2=0

XOR y = x1⊕x2 y=1 se e solo se x1≠x2

XNOR y= x1≡x2 y=1 se e solo se x1=x2

y=x

Porte universali

14Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•Con l’insieme delle tre porte (NOT, AND, OR) può essere realizzata qualunque funzione (insieme completo); non èminimo: l’operatore AND (oppure OR) è ridondante

•Le porte NAND ed NOR sono le (uniche) porte universali poichémediante esse può essere realizzata qualunque funzione binaria

Circuiti Logici

• Porte Logiche: circuiti elementari che realizzano gli operatori dell’algebra

Qualsiasi funzione booleana può essere calcolata con un circuito realizzato con sole porte AND, OR e NOT

• Le porte logiche vengono realizzate con circuiti elettronici:

NOT NAND NOR

15Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Logici

16Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•Una porta logica e’ un dispositivo con N ingressi ed una uscita che realizza un legame tra il valore logico presente all’uscita e quelli presenti all’ingresso, esprimibile tramite una funzione logica elementare

NOT NAND NOR

Circuiti Logici

17Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•La porta AND con due ingressi e’particolarmente importante perchèconsente di controllare il trasferimento dei bit di informazione: ad esempio scegliendo di affidare questa funzione all’ingresso B, si può affermare che l’uscita Y assume lo stesso valore dell’ingresso A quando B vale 1.

A B Y

0 0 0

0 1 0

1 0 0

1 1 1

Forme canoniche

18Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•Esiste un modo “standard” (o canonico) per definire una qualunque funzione?

•Si, 2 forme: Somma di Prodotti (SP) e la duale Prodotto di Somme (PS)

Mintermine

•Un mintermine mi di n variabili, è una funzione che vale 1 solo in corrispondenza dell’assegnamento di verità i

m13=x4 x3 x2 x1

•Qualunque funzione èesprimibile come somma dei minterminiper cui y = 1

19Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Espressioni Algebriche

Teor.: ogni funzione booleana èalgebrica, cioè rappresentabile con un’espressione dell’algebra

Prima Forma Canonica

f =Σj=1..m Πi=1..n xij*

• xij* vale xi oppure xi

• f è espressa come OR delle combi-nazioni per cui la funzione è vera (somma di mintermini)

Qualsiasi funzione booleana può essere messa in questa forma

20Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Funzioni Booleane (Esempio)

21Fondamenti Informatica 2 - Prof. Gregorio Cosentino

ES• Tre variabili booleane A, B, C• Funzione di maggioranza M: è vera solo se almeno due delle tre variabili sono vere

ABC

ABCABCABC

D0D1D2D3D4D5

D6

D7

M = ABC + ABC + ABC + ABC111 111 111 111

D7D5D3 D6

Funzioni Booleane (Esempio)

22Fondamenti Informatica 2 - Prof. Gregorio Cosentino

ES

•Tre variabili booleane A, B, C•Funzione di maggioranza M:Consente di operare la sintesi di una qualsiasi funzione logica con una tecnica a due livelli, un primo livello di porte AND ai cui ingressi pervengono le variabili di ingresso (dirette o negate) ed un secondo livello di OR a cui pervengono le uscite delle porte AND del primo livello.

M = ABC + ABC + ABC + ABC

Circuiti Logici: (Esempio)(Funzione di Maggioranza)

M = ABC + ABC + ABC + ABC

23Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Logici: (Esempio)(Funzione di Maggioranza)

24Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Invia alla sua unica uscita il valore logico presente nell’i-esimo dei suoi 2n ingressi selezionato dal valore i codificato in N ulteriori ingressi di controllo

Circuiti Logici: (Esercizio)

1) Uno dei seguenti non rappresenta un insieme di operatori logici universali.a) and e orb) nandc) or e not

Motivare brevemente la risposta (massimo tre righe)

25Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Logici: (Esercizio)1)Data una rappresentazione delle cifre decimali (0...9)

in cui 0 è codificato come 0000, 1 come 0001, 2 come 0010 ,..., 9 come 1001,

scrivere la tabella di verità della funzione di commutazione

che è vera quando la cifra è compresa tra 4 e 6, estremi inclusi.

Fornire il circuito logico che la calcola come somma di mintermini.

26Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Logici: (Esercizio)

1) Data una rappresentazione delle cifre decimali (0...9) in cui 0 ècodificato come 0000, 1 come 0001, 2 come 0010 ,..., 9 come 1001, scrivere la tabella di veritàdella funzione di commutazione che è vera quando la cifra ècompresa tra 3 e 6, estremi inclusi. Fornire il circuito logico che la calcola come somma di mintermini.

27Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Logici: (Esercizio)

1) Data una rappresentazione delle cifre decimali (0...9) a quattro digit, scrivere la tabella di verità della funzione di commutazione che è vera quando la cifra è pari, escluso lo zero. Commentare e Fornire il circuito logico che la calcola come somma di mintermini.

28Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Integrati

29Fondamenti Informatica 2 - Prof. Gregorio Cosentino

• Un circuito integrato è un dispositivo elettronico costituito dall'integrazione di un circuito elettronico su di un substrato di materiale semiconduttore.

• Molte porte realizzate sulla stessa piastrina di silicio (chip)

• Contenitori da 14 a 68 piedini• Vari livelli di integrazione:

– SSI (Small Scale) 1-10 porte– MSI (Medium Scale) 10-100 ”– LSI (Large Scale) 102-105 ”– VLSI (Very Large Sc.) > 105 ”

• Tempi di commutazione 1-20 nsec

Circuiti Integrati

30Fondamenti Informatica 2 - Prof. Gregorio Cosentino

• Quattro porte realizzate sulla stessa piastrina di silicio (chip)

• Contenitori da 14 piedini: due input e un output per porta, una alimentazione e una terra

• livello di integrazione:– SSI (Small Scale) 1-10 porte– il notch identifica l’orientamento

Introduzione

31Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•Circuiti combinatori (o reti combinatorie)

– Il valore dell’ uscita in un determinato istante dipende unicamente dal valore degli ingressi in quello stesso istante

Introduzione

32Fondamenti Informatica 2 - Prof. Gregorio Cosentino

•Circuiti sequenziali (reti sequenziali) – Il valore dell’ uscita in un determinato istante dipende sia dal valore degli ingressi in quell’istante, sia dal valore degli ingressi in istanti precedenti

– Per definire il comportamento di un circuito sequenziale è necessario tenere conto della storia passata degli ingressi

Circuiti Combinatori

Circuiti in cui l’uscita dipende solo dagli ingressi, e non dallo stato cioè dalla storia passata, per esempio come nella Funzione di Maggioranza

ES

…………...

…. MULTIPLEXER

2n INGRESSI CONTROLLATI

n INGRESSI DICONTROLLO

UNA USCITA

• Gli ingressi di controllo selezionano quale degli ingressi controllati viene mandato in uscita

33Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Multiplexer (circuito)

Invia alla sua unica uscita il valore logico presente nell’i-esimo dei suoi 2n ingressi selezionato dal valore i codificato in N ulteriori ingressi di controllo

34Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Funzione Maggioranza come multiplexer

• Tre variabili booleane A, B, C• Funzione di maggioranza M: è vera solo se almeno due delle tre variabili sono vere

ABC

ABCABCABC

Le tre linee di controllo A,B,C compongono un numero a tre bit che specifica quale delle otto linee di ingresso devono essere inviate all’OR e quindi alla porta di uscita

Riga 3

Riga 5Riga 6Riga 7

35Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Comparatore

36Fondamenti Informatica 2 - Prof. Gregorio Cosentino

NOR gate

0

0

0

0

1

0

0

0

0

00

00

Semplice 4-bit comparatore Word A Word B.Se tutti e quattro i bit sono uguali, al NOR arrivano quattro zero,in uscita avrò zero, faccioNOR cosi da avere 1 se le word sono uguali.

Semiaddizionatore (Half Adder)

37Fondamenti Informatica 2 - Prof. Gregorio Cosentino

AND gate

• Circuito a 2 ingressi e 2 uscite: somma e riporto (carry)

• Non può essere usato per la somma di numerali a più bit, dove occorre sommare anche il riporto della cifra precedente

ALU a 1 bit (bit slice)

• A e B sono bit omologhi degli operandi• F0 e F1 segnali di controllo selezionano la funzione (00:

AND), (01: OR), (10: NOT), (11: SUM) del decoder ( 00 passa linea 0,etc)

• La linea passata = 1 abilita un solo and della logical unitoppure il sommatore;uscita su OR semplice

• ENA ed ENB sono segnali di enable• INVA permette di negare A• Default ENA=ENB=1 e INVA=0 per non modificare in

questo caso il valore di A e B, servono per altre funzioni

38Fondamenti Informatica 2 - Prof. Gregorio Cosentino

ALU a 1 bit (bit slice)

•Per realizzare una ALU ad 8 bit non devo fare altro che mettere in serie 8 ALU a 1 bit

39Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Arithmetic Logic Units (2)

Otto 1-bit ALU connessi per realizzare un 8-bit ALU.I segnali di Enables e Invert non sono riportati per

semplicità grafica.Il segnale INC è utile per effettuare addizioni: esso

incrementa ( INC ) di 1 il risultato, rendendo possibilioperazioni tipo A+1 e A+B+1 molto utili in tutti i

programmi software

40Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Sequenziali

Circuiti in cui i valori delle uscite sono determinati oltre che dai valori presenti agli ingressi anche dallo STATO in cui il sistema si trova.Il concetto di STATO di una rete logica e’legato alla esistenza di ELEMENTI DI MEMORIA (Latch e Flip Flop)

41Fondamenti Informatica 2 - Prof. Gregorio Cosentino

S1,S2,S3

X1

X2

Y1

Y2

Circuiti Sequenziali Registri

42Fondamenti Informatica 2 - Prof. Gregorio Cosentino

• Un Registro è un elemento in grado di memorizzare, cioè di conservare nel tempo, un valore logico

• Esso ammette due ( e solo due ) stati stabili che possono essere fatti corrispondere ai valori 0 ed 1

• Circuiti elettronici che realizzano questa funzione sono i Flip Flop e i Latch

• Un registro da 16 bit è costituito da 16 Latch o Flip Flop

• Per indicare il numero di bit contenuti in un registro si usa parlare della sua lunghezza

a) b)

Flip-Flop

43Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Vcc

Rc

Vu

+

-

Il terminale di uscita U si trova a potenziale zero quando l’interruttore e’chiuso.A potenziale Vcc quando è aperto.Il circuito conserva lo stato zero finchè non viene azionato dall’esterno l’interruttore.Esso ricorda quello che si chiama “ bit “

Clocks

44Fondamenti Informatica 2 - Prof. Gregorio Cosentino

(a) A clock.(b) The timing diagram for the clock.(c) Generation of an asymmetric clock.

Ilclock è un circuito che emette una serie di impulsi con una precisa ampiezza e un preciso

intervallo tra impulsi consecutivi, praticamente da il tempo in modo che due o

più eventi “ digitali “ siano sincronizzati.Il delay produce una serie in ritardo, aumento il

numero di impulsi ( b )Se metto A in AND con B aumento ancora il numero di

impulsi

Oscillatore

Latch e Flip-Flop

a) b)

• I Latch commutano sui livelli del clock a)alto, b)basso

a) b)

• I Flip-Flop commutano sui fronti del clock:

a) Commuta sul fronte di salitab) Commuta sul fronte di discesa

45Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Registri

• I Flip-Flop sono gli elementi base di memorizzazione nel computer

• Molti Flip-Flop possono essere messi su un unico chip

• Occorrono in genere da 6 a 10 transistor per ogni Flip-Flop

46Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Chip di Memoria

…….

……

.log2 nLINEE INDIRIZZO

m LINEE DATI IN/OUT

CSOEWE

CHIP DI MEMORIA

n × m

• Chip da n × m bit complessivi• m linee dati bidirezionali• log2 n linee di indirizzo• Segnali di controllo:

– CS (Chip Select)– OE (Output Enable)– WE (Write Enable)

Problema: numero limitato di piedinidel contenitore

47Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Circuiti Logici: (Esercizio)

1) Un circuito digitale con funzione di comparatore a due ingressi A e B ciascuno di quattro bit è composto da:

a) quattro and e un orb) un nand e quattro orc) quattro or esclusivo e un nor

Motivare brevemente la risposta (massimo tre righe + una figura obbligatoria)

48Fondamenti Informatica 2 - Prof. Gregorio Cosentino