Logica Digitale 1
Ma in fondo quali sono i mattoncini che compongono un calcolatore elettronico? Porte Circuiti Aritmetica Memorie Bus I/O And, Or, Nand, Nor, Not Multiplexer, Codif, Shifter, ALU Sommatori Latch, Flip Flop Sincroni clk, Asincroni M/slave Chip paralleli 2
Circuiti Digitali INGRESSI i 1 i n CIRCUITO DIGITALE o 1 o m USCITE Circuiti elettronici i cui ingressi e le cui uscite assumono solo due livelli Al circuito sono associate le funzioni che calcolano le uscite a partire dagli ingressi o 1 = f 1 (i 1,.,i n ). o m = f m (i 1,.,i n ) 3
Una semplice applicazione Variabile di controllo: X due stati: X= -> interruttore aperto X=1 -> interruttore chiuso Uscita Y Due stati: Lampadina spenta (Y=) Lampadina accesa (Y=1) X= Y= X=1 Y=1 4
Modello logico AND X1 X2 Y Y = X1 X2 X1 OR Y Y = X1 + X2 X2 5
Funzioni Logiche (Booleane) y = f(x 1,,x n ) y,x 1,,x n {,1} {,1} n f {,1} Variabili con due soli valori possibili: {,1} {F,T} FALSO VERO Tavola di verità FALSE TRUE x 1 x 2 x n-1 x n f.... 1 1..... 1 1.. 1 1 2 n combinazioni di ingresso 2 2 n funzioni distinte di n variabili 6
Funzioni Booleane (Esempi) Con n=1 si hanno 4 funzioni: x 1 f f 1 f 2 f 3 1 1 1 1 1 La funzione f 2 è detta NOT Con n=2 si hanno 16 funzioni, tra cui: x 1 x 2 f f 1 f 2 f 3 f 4 f 5 f 6 f 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 La funzione f 1 è nota come AND La funzione f 7 è nota come OR 7
Algebra Circuitale (Booleana) Èuna struttura algebrica (insieme più operatori) Reticolo distributivo complementato Insieme: I = {,1 } Operatori: AND, OR Complementazione: 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 8
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., 1 1,1 Simulazione AND 9
Porte XOR 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 1 1 1 1 1
Riepilogo Operatore Simbolo Proprietà NOT y=1 se e solo se x= y=x AND y=x 1 x 2 y=1 se e solo se x 1 =x 2 =1 OR y=x 1 +x 2 y= se e solo se x 1 =x 2 = NAND y=x 1 /x 2 y= se e solo se x 1 =x 2 =1 NOR y= x x 2 y=1 se e solo se x 1 =x 2 = XOR y = x 1 x 2 y=1 se e solo se x 1 x 2 XNOR y= x 1 x 2 y=1 se e solo se x 1 =x 2 11
Porte universali 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 12
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 13
Circuiti Logici 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 14
Forme canoniche 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) 15
Mintermine Un mintermine m i di n variabili, è una funzione che vale 1 solo in corrispondenza dell assegnamento di verità i m 13 =x 4 x 3 x 2 x 1 Qualunque funzione è esprimibile come somma dei mintermini per cui y = 1 16
Espressioni Algebriche Teor.: ogni funzione booleana è algebrica, cioè rappresentabile con un espressione dell algebra Prima Forma Canonica f =Σ j=1..m Π i=1..n x ij * x ij * vale x i oppure x i f èespressa come OR delle combinazioni per cui la funzione è vera (somma di mintermini) Qualsiasi funzione booleana può essere messa in questa forma 17
Funzioni Booleane (Esempio) ES Tre variabili booleane A, B, C Funzione di maggioranza M: è vera solo se almeno due delle tre variabili sono vere D D1 D2 D3 D4 D5 D6 D7 ABC ABC ABC ABC M = ABC + ABC + ABC + ABC 111 111 111 111 D3 D5 D6 D7 18
Funzioni Booleane (Esempio) 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 19
Circuiti Logici: (Esempio) (Funzione di Maggioranza) M = ABC + ABC + ABC + ABC 2
Circuiti Logici: (Esempio) (Funzione di Maggioranza) 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 21
Circuiti Logici: (Esercizio) 1) Uno dei seguenti non rappresenta un insieme di operatori logici universali. a) and e or b) nand c) or e not Motivare brevemente la risposta (massimo tre righe) 22
Circuiti Logici: (Esercizio) 1)Data una rappresentazione delle cifre decimali (...9) in cui è codificato come, 1 come 1, 2 come 1,..., 9 come 11, 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. 23
Circuiti Logici: (Esercizio) 1) Data una rappresentazione delle cifre decimali (...9) in cui è codificato come, 1 come 1, 2 come 1,..., 9 come 11, 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. 24
Circuiti Logici: (Esercizio) 1) Data una rappresentazione delle cifre decimali (...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. 25
Circuiti Integrati 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-1 porte MSI (Medium Scale) 1-1 LSI (Large Scale) 1 2-1 5 VLSI (Very Large Sc.) > 1 5 Tempi di commutazione 1-2 nsec 26
Circuiti Integrati 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-1 porte il notch identifica l orientamento 27
Comparatore 1 NOR gate 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, faccio NOR cosi da avere 1 se le word sono uguali. 28
Semiaddizionatore (Half Adder) 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 29
ALU a 1 bit (bit slice) A e B sono bit omologhi degli operandi F e F 1 segnali di controllo selezionano la funzione (: AND), (1: OR), (1: NOT), (11: SUM) del decoder ( passa linea,etc) La linea passata = 1 abilita un solo and della logical unit oppure il sommatore;uscita su OR semplice ENA ed ENB sono segnali di enable INVA permette di negare A Default ENA=ENB=1 e INVA= per non modificare in questo caso il valore di A e B, servono per altre funzioni 3
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 31
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 possibili operazioni tipo A+1 e A+B+1 molto utili in tutti i programmi software 32
Clocks Oscillatore (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 33
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 or b) un nand e quattro or c) quattro or esclusivo e un nor Motivare brevemente la risposta (massimo tre righe + una figura obbligatoria) 34