Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate
Architettura degli elaboratori
Il Livello Logico-Digitale
Porte logiche Algebra di Boole
Marco Tarini
Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it
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 ...
Porte logiche
Architettura 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
Il segnale binario
Segnale binario: una grandezza che può assumere due valori distinti, convenzionalmente indicati con 0 e 1
s 0, 1
Qualsiasi informazione è rappresentabile (o codificabile) tramite uno o più segnali binari (per esempio i caratteri del codice ASCII)
Porte logiche
Architettura 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 n valori
Rappresentazione fisica del segnale binario: si usano svariate grandezze fisiche
tensione elettrica (la più usata) corrente elettrica
luminosità
e altre grandezze fisiche ancora ...
Circuiti digitali
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)
Porte logiche
Architettura degli elaboratori - 7 -
Il segnale binario
Elaborazione del segnale binario:
porte logiche Reti
Combinatorie (realizzano funzioni)
Sequenziali (hanno uno stato, cioè una “memoria”) Sono tutti circuiti digitali
Porte logiche
livello microarchitettura:
i circuiti digitali sono formati da componenti digitali elementari, chiamati porte logiche
livello logico:
Le porte logiche sono i circuiti minimi per l’elaborazione di segnali binari
livello dei dispositivi:
il transistor è l’elemento funzionale fondamentale per la costruzione di porte logiche
Livello della microarchitettura Livello logico
Livello dei dispositivi
Porte logiche
Architettura degli elaboratori - 9 -
Tipi di porte logiche
Classificazione per funzione implementata:
porta NOT, porta AND, porta OR, ...
Classificazione per numero di ingressi: porte a 1 ingresso, porte a 2 ingressi, porte 3 ingressi, e così via ...
Porte logiche fondamentali
Siamo interessati ad un insieme di porte logiche che ci consenta di realizzare qualunque funzione.
Sarebbe anche opportuno che l’insieme fosse piccolo (per semplificare la progettazione)
La teoria ci dice che esistono diversi insiemi minimi di operazioni Noi vedremo l’insieme composto da: { NOT , AND , OR }
Sono operazioni elementari,
ciascuna implementata da una porta logica Consentono di realizzare qualsiasi funzione :-) Non è un insieme minimo
Porte logiche
Architettura degli elaboratori - 11 -
Porta NOT (invertitore, negatore)
A X
Simbolo funzionale Tabella delle verità
A X 0 1 1 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
Porta AND
Tabella delle verità
A B X 0 0 0 0 1 0 1 0 0 1 1 1
A X
B
(a 2 ingressi) Simbolo funzionale
L’uscita vale 1 se e solo se entrambi gli ingressi valgono 1
Porte logiche
Architettura degli elaboratori - 13 -
Porta OR
Tabella delle verità
A B X 0 0 0 0 1 1 1 0 1 1 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
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 logiche
Architettura degli elaboratori - 15 -
Porta AND a 3 ingressi
Tabella delle verità
A B C X 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1
Simbolo funzionale
L’uscita vale 1 se e solo se tutti gli ingressi valgono 1 A
B C
X
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 funzionalmente
equivalente)
(= esegue la stessa funzione degli input)
A
B C
X
A B C
X
A B C
X
Porte logiche
Architettura degli elaboratori - 17 -
Porta OR a 3 ingressi
Simbolo funzionale Tabella delle verità
A B C X 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
L’uscita vale 1 se e solo se almeno uno
degli ingressi vale 1 A
B C
X
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 logiche
Architettura degli elaboratori - 19 -
Costo di una porta logica
Il numero di transistor per realizzare una porta dipende dalla tecnologia, dalla funzione e dal numero di ingressi
Porta NOT: 1 oppure 2 transistor Porte AND e OR: 3 oppure 4 transistor Altre porte: 4 transistor
Velocità di una porta logica
Tempo di commutazione: il tempo che impiega il circuito 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 (109sec, un miliardesimo di sec)
NAND = AND negato NOR = OR negato
Esempio di circuito combinatorio
Porte logiche
Architettura degli elaboratori - 22 -
B A
X
realizza la funzione espressa da questa tabella di verità:
(verificare!)
A B X 0 0 1 0 1 0 1 0 1 1 1 1
Esempio di circuito combinatorio
B A
X
Domande:
quali altri circuiti eseguono la stessa funzione?
A B X
0 0 1
0 1 0
Porte logiche
Architettura degli elaboratori - 24 -
Algebra di Boole
L’algebra di Boole serve a descrivere matematicamente i circuiti digitali (o circuiti logici)
Lavoreremo con:
Espressioni che compongono operatori booleani
Regole di trasformazione (equivalenza) tra queste espressioni
Operatori booleani
A, B e X sono variabili booleane A, B, X 0, 1
Il prodotto ha precedenza sulla somma
L’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 logiche
Architettura degli elaboratori - 26 -
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… ? )
Operatori booleani binari
(cioè a 2 ingressi) Curiosità: quanti possibili operatori booleani binari diversi?Risposta: tanti quante sono le tabelle di verità possibili cioè…
Elenchiamoli tutte (molte hanno un nome):
A B 0 0 0 1 1 0
X 0 0 0
X 0 0 0
X 0 0 1
X 0 0 1
X 0 1 0
X 0 1 0
X 0 1 1
X 0 1 1
X 1 0 0
X 1 0 0
X 1 0 1
X 1 0 1
X 1 1 0
X 1 1 0
X 1 1 1
X 1 1 1
AND XOR OR NAND
Porte logiche
Architettura degli elaboratori - 28 -
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