Quante sono le combinazioni possibili n cifre che possono assumere i valori 0 e 1? Le combinazioni possibili sono 2 n.

Documenti analoghi
Richiami di Algebra di Commutazione

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Elementi di informatica

I circuiti digitali: dalle funzioni logiche ai circuiti

Circuiti di commutazione, codifica e decodifica

I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP)

Algebra di Commutazione

anno scolastico 2009 / 2010 ELETTRONICA per Elettrotecnica ed Automazione

Fondamenti di Informatica

Algebra di commutazione

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

associate ai corrispondenti valori assunti dall uscita.

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Esercitazioni di Reti Logiche

Cenni alle reti logiche. Luigi Palopoli

Logica combinatoria. La logica digitale

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

FUNZIONI BOOLEANE. Vero Falso

Sistemi Combinatori & Mappe di Karnaugh

Algebra di Boole X Y Z V. Algebra di Boole

Esercitazioni di Reti Logiche. Lezione 4

Algebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana

Logica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino

Reti logiche: introduzione

Elementi di Algebra e Logica Determinare la tavola della verità di ciascuna delle seguenti forme proposizionali:

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Algebra di Boole e reti logiche

Operatori di relazione

Algebra di Boole Algebra di Boole

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Esercizi svolti Y Z. 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari AND, OR, NOT.

I circuiti logici: definizione delle funzioni logiche

Dalla tabella alla funzione canonica

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Architettura degli Elaboratori

Il problema della sintesi

Algebra di Boole e circuiti logici

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

I circuiti elementari

Algebra di Boole. L'algebra della logica ( )

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014

Algebra di Boole Cenni all Algebra di Boole

Algebra di Boole Elementi di Informatica - Algebra di Boole 1 A. Valenzano

Tecniche di Progettazione Digitale. Reti combinatorie: Le mappe di Karnaugh

Dispositivi Logici Programmabili

LEZIONE N 91. Introduzione agli elementi architetturali principali. Roberto Giorgi, Universita di Siena, C116L91, Slide 1

Algebra di Boole Cenni all Algebra di Boole. Algebra Booleana: definizione

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

Algebra di Boole Esercizi risolti

Elettronica digitale: cenni

Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B.

Calcolatori Elettronici

La codifica digitale

Algebra di Boole ed elementi di logica

Circuiti Combinatori

Porte logiche A=0 A=1

Indice. Prefazione. sommario.pdf 1 05/12/

Esercizi Logica Digitale,Circuiti e Bus

Informatica e Bioinformatica: AND, OR, NOT

Le Macchine digitali sono Sistemi artificiali che elaborano informazioni

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Rappresentazione in complemento a 2: caratteristiche generali

Algebra di Boole e circuiti dalle funzioni logiche ai circuiti digitali

Algebra di Boole e porte logiche

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

Fondamenti di Programmazione. Sistemi di rappresentazione

Lezione 5. Sommario. La logica booleana. I principi della logica booleana Gli operatori logici

Lezione 7 Sommatori e Moltiplicatori

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Sintesi di reti combinatorie

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Funzioni booleane. Vitoantonio Bevilacqua.

Ottimizzazione delle reti combinatorie

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

METODI MATEMATICI PER L INFORMATICA

Esercitazioni di Reti Logiche. Algebra Booleana e Porte Logiche

Calcolo proposizionale

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Architetture degli Elaboratori I II Compito di Esonero (A) - 16/1/1997

CORSO ZERO DI MATEMATICA

Algebra & Circuiti Elettronici. Algebra booleana e circuiti logici. Blocco logico. Tabelle di Verità e Algebra Booleana

Fondamenti di Programmazione. Sistemi di rappresentazione

I Indice. Prefazione. Capitolo 1 Introduzione 1

Reti Combinatorie: sintesi

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

1 ELEMENTI DI ALGEBRA BOOLEANA I postulati dell'algebra di Boole Alcuni teoremi I teoremi di De Morgan

Sviluppo di programmi

I Circuiti combinatori: LOGISIM

Teoremi dell'lgebra ooleana lgebra degli Insiemi Dall'insieme di postulati çe possibile dimostrare i seguenti teoremi: 2 Idempotenza: a + a = a a æ a

Matematica per le scienze sociali Elementi di base. Francesco Lagona

Figura 7: Ruota della Fortuna. Quanti sono i casi possibili? G. Sanfilippo - CdP - STAD - Lezione 2 del 12 Aprile pag. 15

Precorsi di matematica

Transcript:

Lezioni di Architettura degli elaboratori O. D antona Le funzioni booleane Funzione booleana La funzione booleana è un applicazione dall insieme dei numeri le cui cifre sono composte da 0 e 1 all insieme contenente le cifre 0 e 1. F : { 0, 1 } n { 0, 1 } Notiamo quindi che abbiamo un insieme numeroso ma finito di possibilità. Quante sono le combinazioni possibili n cifre che possono assumere i valori 0 e 1? Le combinazioni possibili sono 2 n. Quante sono le funzioni booleane di 2 variabili? Facciamo un esempio con una variabile sola. x f 1 f 2 f 3 f 4 0 0 0 1 1 1 0 1 0 1 Osservando questa tabella possiamo scrivere queste funzioni booleane di una variabile: f 1 (x) = 0, f 2 (x) = x, f 3 (x) = x, f 4 (x) = 1 ( x si può scrivere anche 1 x ) Le funzioni booleane di una variabile sono quindi 4, ovvero 2 elevato al numero di combinazioni possibili con una variabile: 2 1. Con 2 variabili booleane otteniamo che il numero delle funzioni booleane di 2 variabili è 2 elevato alla 2 2. Generalizzando ancora otteniamo che il numero delle funzioni booleane di N variabili è 2 elevato alla 2 n. Operazioni booleane Le operazioni booleane principali sono descritte dalle seguenti tabelle di verità. Somma logica OR Prodotto logico AND Negazione logica NOT x y x + y x y x y x x 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1

Quali sono le principali proprietà degli operatori booleani AND, OR, NOT? Le proprietà principali di questi operatori logici sono: Formula Proprietà Note x + x = x Idempotenza x x = x x negato 2 volte = x x + 0 = x x 1 = x Idempotenza Idempotenza Tautologia - 0 è l elemento neutro della somma logica Tautologia - 1 è l elemento neutro del prodotto logico Principio di dualità x + 1 = 1 Assorbimento Principio di dualità x * 0 = 0 Assorbimento x + x = 1 Assorbimento Principio di dualità x x = 0 Assorbimento x 1 + ( x 2 + x 3 ) = ( x 1 + x 2 ) + x 3 x 1 ( x 2 x 3 ) = ( x 1 x 2 ) x 3 x ( y + z ) = x y + x z Prop. distributiva del prodotto rispetto alla somma x + ( y z ) = ( x + y ) ( x + z ) Prop. distributiva della somma rispetto al prodotto x + y = Neg( x z ) Neg( x + y ) = x z Legge di De Morgan Legge di De Morgan E necessario utilizzare le parentesi per specificare la precedenza degli operatori. Dimostriamo che vale la proprietà distributiva della somma rispetto al prodotto cona la tabella della verità. x y z x + y x + z y z x + ( y z ) ( x + y ) ( x + z ) 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 Le ultime due colonne sono uguali: la proprietà è dimostrata. 2

Circuiti Combinatori I Circuiti combinatori sono circuiti in cui i segnali di uscita dipendono direttamente da quelli di ingresso. La rappresentazione grafica delle operazioni logiche elementari OR, AND e NOT è la seguente: Combinando queste porte logiche possiamo ottenere circuiti complessi. Multiplexer o Selettore Il Multiplexer è un circuito combinatorio cha ha la funzione di selezionare in uscita (Z) uno solo di n ingressi (a, b), in base ad un segnale di selezione (S). Più segnali di ingresso ci sono più segnali di selezione saranno necessari per scegliere il segnale da mandare in uscita. Nell esempio sotto riportato abbiamo un Multiplexer a 2 vie, con simbolo grafico. Tabella della verità del circuito Multiplexer e riduzione algebrica. a b S Z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Z = a b S + a b S + a b S + a b S Z = ( a + a ) b S + a S ( b + b ) Z = a S + b S quando S = 1, Z = a, quando S = 0, Z = b if S then a else b 3

Ritardo di commutazione Bisogna sempre ricordare che i segnali impiegano un certo tempo per attraversare le porte logiche che attraversano. Vedi l esempio sotto riportato: Multiplexer a 3 vie Il multiplexer a 3 vie può essere realizzato concettualmente in due modi: il primo replicando in cascata il circuito già mostrato, il secondo mantenendo un livello solo ma complicando la circuiteria delle porte logiche: 1 forma (stratificata) 2 forma Nella 1 forma c è un tempo di propagazione crescente, una stratificazione dei circuiti, mentre nella 2 forma c è una complessità crescente. E fondamentale durante la progettazione dei circuiti booleani tenere in debito conto il problema della profondità dei circuiti booleani, cioè più i circuiti sono stratificati, più i tempi di propagazione aumentano e i segnali veicolati potrebbero arrivare troppo tardi per adempiere alla loro funzione. 4

Il Decoder Il Decoder è un componente che converte un numero booleano di n cifre in input in 2 n uscite in cui solo l uscita che rappresenta il numero di ingresso è ad 1. Nell esempio sotto riportato abbiamo un Decoder con simbolo grafico e tabella della verità. S 1 S 2 U 0 U 1 U 2 U 3 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 U0 S0 U1 S1 Dec U2 U3 E possibile realizzare un Multiplexer con un decoder. 5

Il Demultiplexer Il Demultiplexer è un circuito combinatorio che utilizza n segnali di selezione per incanalare un segnale di ingresso verso una delle 2 n uscite. Nell esempio sotto riportato abbiamo un Demultiplexer con relativo simbolo grafico. Esempio di utilizzo di un Multiplexer accoppiato ad un Demultiplexer Un esempio di tale utilizzo lo possiamo trovare in una connessione remota, per diminuire i costi di trasmissione consentendo a più soggetti di condividere la banda. I due segnali S di selezione del dato d ingresso, a o b, devono essere sincronizzati per commutare in modo fasato l uscita del canale. Nell ipotesi che i due componenti siano collocati presso Milano e Torino, sappiamo che: la distanza tra Milano e Torino è di circa 130 Km la velocità del segnale nel cavo conduttore è 2/3 la velocità della luce: 200.000 km/h La velocità di trasferimento dei dati sul canale è di 10 Mbps Il file da trasferire è di 15 kbyte Possiamo calcolare: 1) Il tempo che impiegherà un segnale che viaggia nel cabo conduttore a raggiungere la località opposta 2) Il tempo di trasferimento di un file di 15Kb V = S / T = 130 km / 200.000 km/sec = 0,65 ms T = S / V = 15 kbyte / 10 Mbps = 15 * 8 * 10 3 bit / 10 * 10 6 bit/sec = 120 / 10 * 10-3 = 12 ms Notiamo che il tempo di trasferimento di un segnale è molto inferiore rispetto al tempo di scrittura di tale segnale sul cavo di connessione. In generale i circuiti che scrivono e leggono sul canale conduttore sono complessi e introducono dei ritardi significativi. 6

I Mintermini Teorema delle Somme di Prodotti Completi (SPC) 1 Forma Canonica Qualunque funzione booleana può essere espressa come Somma di Prodotti Completi e tale scrittura è unica. In simboli: F( x1, x2,, xn ) = Σ j = 1.. m ( Π i = 1.. n x i ± ) L indice j cicla tra tutte le combinazioni degli ingressi che come risultato in uscita danno 1, tra tutte le combinazioni possibili di n variabili: 2 n. L indice i rappresenta la posizione della singola variabile d ingresso del circuito e varia da 1 a n. In altre parole, ogni termine che sommiamo logicamente (OR) è sempre composto dal prodotto logico (AND) di tutte le variabili d ingresso, asserite o negate (1, 0). Esempio. La funzione booleana che rappresentava il Multiplexer è stata ridotta algebricamente alla forma: Z = a S + b S, partiva però da una tabella di verità dalla quale abbiamo preso solo i termini per cui l uscita era uguale a 1: Z = a b S + a b S + a b S + a b S Possiamo notare che ogni termine sommato è composto dal prodotto di tutti gli ingressi, asseriti o negati, pertanto la funzione Z ( a, b, S ) è stata espressa come Somma di Prodotti Completi. Definizione di mintermine. I mintermini sono funzioni booleane che assumono il valore 1 (vero, asserito) in corrispondenza di un unica configurazione di ingressi. Notiamo anche che tutti i termini sommati della Z ( a, b, S ) contengono solo le configurazioni di ingressi che portano ad 1 l uscita. Possiamo quindi definire che: Ogni funzione booleana può essere espressa univocamente come somma di mintermini. Definizione di Insieme funzionalmente completo L esistenza del teorema SPC o 1 forma canonica è una dimostrazione che le funzioni AND, OR e NOT costituiscono insieme funzionalmente completo, ovvero ciascuna funzione booleana può essere scritta in una forma algebrica utilizzando solo questi tre operatori. Osservando poi che per la legge di De Morgan: x + y = Neg( x z ), si può concludere che anche AND e NOT sono un insieme funzionalmente completo ma anche minimale. Minimale significa che l insieme non perde le sue proprietà se si toglie un elemento. Le uniche porte logiche che costituiscono da sole un insieme funzionalmente completo e minimo sono le porte NAND e NOR. Minimo perché non è possibile togliere altri elementi dell insieme senza che non sia più funzionalmente completo. Accenno alla 2 Forma Canonica Analoghe considerazioni si possono fare per il teorema del Prodotto di Somme o 2 forma canonica che è definito in simboli da: Definizione di maxtermine. F( x1, x2,, xn ) = Π j = 1.. m ( Σ i = 1.. n x i ± ) I maxtermini sono funzioni booleane che assumono il valore 0 (falso, negato) in corrispondenza di un unica configurazione di ingressi. Ogni funzione booleana può essere espressa univocamente come prodotto di maxtermini. 7

Programmable Logica Array PLA Sfruttando la caratteristica delle funzioni booleane che consente loro di essere rappresentate come somme di mintermini, si sono creati dei componenti, chiamati PLA Programmable Logical Array, che opportunamente programmati possono realizzare una qualsiasi funzione booleana complessa. Un componente PLA internamente è composto da una griglia di ingressi affermati e negati, incrociati con i segnali di ingresso ad una serie di porte AND, la cui uscita confluisce in un unica porta OR di somma logica. Per utilizzarla basterà programmare (saldare) l intersezione tra i segnali d ingresso e le porte AND secondo la funzione booleana da implementatare. Le PLA hanno tempi di propagazione bassi e sono quindi l ideale per costruire logiche combinatorie complesse e veloci. L esempio riportato in figura si riferisce alla tabella di verità del Multiplexer a 2 vie descritto nelle precedenti pagine: Z = a b S + a b S + a b S + a b S 8

Circuito combinatorio per costruire un Sommatore Completo Questo circuito combinatorio riceve in input due bit (a, b) da sommare con il riporto (C) ricevuto da una precedente somma in cascata e resituisce la somma (S) + l eventuale riporto (R) dell operazione. S(a, b, c) = a b c + a b c + a b c + a b c = ( a b + a b ) c + ( a b + a b ) c R(a, b, c) = a b c + a b c + a b c + a b c = a b c + a b c + a b c + a b c + a b c + a b c Proprietà di idempotenza = b c ( a + a ) + a c ( b + b ) + a b ( c + c ) ( a + a ) = 1 = a b + a c + b c 9