LEZIONE “CODIFICA DELL'INFORMAZIONE” PROF. GIOVANNI ACAMPORA Università Telematica Pegaso Codifica dell’informazione Indice 1 Rappresentazione dei dati ......................................................................................................... 3 1.1. Rappresentazione dei numeri ............................................................................................... 3 1.1.1 Rappresentazione del segno in un numero ...................................................................... 8 1.1.2 Rappresentazione dei numeri frazionari ........................................................................ 11 1.2 Rappresentazione dei caratteri ................................................................................................. 12 1.3 Rappresentazione delle immagini ............................................................................................ 16 2 Elettronica digitale ................................................................................................................... 18 Bibliografia/Sitografia ..................................................................................................................... 23 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 2 di 23 Università Telematica Pegaso Codifica dell’informazione 1 Rappresentazione dei dati Il primo problema da affrontare nei processi di elaborazione dell'informazione è la rappresentazione dell'informazione. L'informazione consiste nella ricezione di un messaggio tra un insieme di possibili messaggi. La definizione esatta è che l'informazione si rappresenta usando un numero finito di simboli affidabili e facilmente distinguibili. All'interno delle apparecchiature digitali l'informazione è rappresentata mediante livelli di tensione elettrica presenti nei loro circuiti. Le richieste di affidabilità ci impongono che tali simboli per una maggiore efficienza siano due: 0 e 1, corrispondenti a 2 livelli di tensione (standard TTL: 0/5 V; standard RS-232: +12 / -12 V) che vanno a formare la numerazione binaria. La presenza di tensione può essere modellata dal simbolo 1. L'assenza di tensione può essere modellata da simbolo 0. Anche gli elaboratori, che sono sistemi digitali, usano l‟aritmetica binaria per eseguire la trasformazione delle informazioni in stringhe di dati composte di 0 e 1. I dati, infatti, devono essere codificati in maniera da poter essere “manipolati” dall‟elaboratore il quale al suo interno opera soltanto con segnali a due valori (binari). I sistemi digitali consentono di “trasformare i dati” attraverso sequenze di operazioni: gli algoritmi. 1.1. Rappresentazione dei numeri Un sistema di numerazione è un sistema utilizzato per esprimere i numeri e le operazioni effettuabili su di essi. Il sistema numerico più noto, perché usato nella vita quotidiana, è sicuramente il sistema decimale-posizionale. Le caratteristiche rilevanti del sistema numerico decimale-posizionale sono appunto il principio posizionale (le unità prendono diverso valore a seconda delle posizioni) e l'uso di dieci simboli, comprensivi dello zero. Da notare che in tale sistema non sono presenti gli indicatori delle potenze di 10. Le posizioni si contano da destra a sinistra partendo da 0. La cifra più a destra è definita meno significativa (LSD) mentre quella più a sinistra più significativa (MSD). Il sistema numerico binario, riconosciuto da un calcolatore, è una delle più grandi invenzioni del matematico tedesco Gottfried Wilhelm Leibniz anche se è grazie al matematico inglese George Boole che avrà il suo grande successo. Il sistema binario ha, come il sistema decimale, la caratteristica di essere posizionale, ovvero il valore di una cifra (digit) dipende dalla posizione che essa assume all'interno del numero, ma ovviamente differisce perché usa solo due cifre (0 e 1). Inoltre il sistema binario ha base 2, ovvero usa potenze di 2, non di 10. Infatti, Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 3 di 23 Università Telematica Pegaso Codifica dell’informazione formalmente, la base di numerazione posizionale corrisponde al numero di simboli usati per scrivere tutti i numeri ed indica quante unità di un certo ordine sono necessarie per formare un'unità dell'ordine immediatamente superiore. Poiché il sistema binario ha base 2, la cifra in posizione n (da destra e ricordando che la numerazione delle posizioni parte da zero) si considera moltiplicata per 2(n ) anziché per 10(n ) come avviene nella numerazione decimale. Più in dettaglio, considerando il caso generale in base p si ha: La notazione posizionale si oppone a quella additiva utilizzata ad esempio nel sistema di numeri romani dove si ha: Descriviamo adesso come avvengono le operazioni base nel sistema binario. Consideriamo due numeri binari A = An-1…Ai+1 Ai Ai-1…A1A0 e B = Bn-1…Bi+1 Bi Bi-1…B1B0 che utilizzano n bit (se uno dei due ha m < n bit basta aggiungere n – m zeri davanti). Mostriamo come avviene l‟operazione di addizione. Considerando la generica cifra di posto i: Ai e Bi. Le possibili combinazioni che possono assumere tali cifre sono: Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 4 di 23 Università Telematica Pegaso Codifica dell’informazione Facciamo due esempi: Osserviamo che anche se A, B utilizzano 4 bit, la loro somma potrebbe superare i 4 bit, ad esempio, 1110 + 0100 = 10010 (14(10) + 4(10) = 18(10)). Pertanto se nel calcolatore avessimo stabilito di utilizzare 4 bit il risultato visualizzato sarebbe stato 0010, ossia 2(10), giacché il bit più significativo verrebbe ignorato. In tal caso viene generato un errore noto con il nome di tracimazione (overflow). Mostriamo ora come si esegue la sottrazione. Considerando la generica cifra di posto i: Ai e Bi. Le possibili combinazioni che possono assumere le cifre suddette sono: Dato che, per ora, sappiamo rappresentare solo numeri binari interi positivi, vedremo esempi di sottrazione solo nel caso in cui A ≥ B. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 5 di 23 Università Telematica Pegaso Codifica dell’informazione Ovviamente oltre al sistema binario esistono altri sistemi posizionali che differiscono tra loro per avere una diversa base. I più noti sono il sistema ottale (base 8) e il sistema esadecimale (base 16). Di seguito una tabella che confronta le rappresentazioni binarie, ottali, decimali ed esadecimali dei numeri dallo zero al quindici. binario ottale decimale esadecimale binario ottale decimale esadecimale 0000 0 0 0 1000 10 8 8 0001 1 1 1 1001 11 9 9 0010 2 2 2 1010 12 10 A 0011 3 3 3 1011 13 11 B 0100 4 4 4 1100 14 12 C 0101 5 5 5 1101 15 13 D 0110 6 6 6 1110 16 14 E 0111 7 7 7 1111 17 15 F Vediamo adesso come eseguire la conversione da un numero binario ad un numero decimale e viceversa. Per ottenere la conversione da numero binario a numero decimale si esegue la moltiplicazione delle cifre del numero binario per il rispettivo peso (2 elevato la posizione) e si sommano i valori ottenuti. Vediamone un esempio: Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 6 di 23 Università Telematica Pegaso Codifica dell’informazione In generale, la conversione da un numero in base b in un numero in base decimale si esegue allo stesso modo della conversione da un numero in base 2, ovviamente considerando potenze in base b e non in base 2. La conversione, invece, da un numero decimale ad un numero binario avviene tramite l‟algoritmo della divisione intera. I passi sono i seguenti: 1. dividere il numero decimale per 2 (base del sistema binario) con una divisione intera; 2. il resto della divisione diventa la cifra meno significativa del numero binario; 3. se il quoziente è 0 abbiamo finito; 4. se il quoziente è diverso da zero si torna al passo 1 considerando il quoziente come dividendo. Quindi il numero binario si ottiene eseguendo una successione di divisioni per 2 (base del sistema binario) del numero decimale fino ad arrivare ad un quoziente pari a 0 e considerando i resti al contrario. Vediamone un esempio. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 7 di 23 Università Telematica Pegaso Codifica dell’informazione Anche in questo caso, la conversione da decimale ad un numero in base b generica avviene allo stesso modo della conversione in base 2 ovviamente considerando divisioni successive per b non per 2. Per completezza esaminiamo anche la conversione da binario ad ottale e da binario ad esadecimale. Per trasformare un numero binario in ottale si eseguono i seguenti passi: 1. si considera il numero binario partendo da destra e lo si divide in gruppi di 3 cifre binarie. Se dopo l'operazione avanzano una o due cifre si aggiungono tanti zeri quanti bastano a coprire un gruppo di tre, per il criterio secondo cui 0...0100 = 100 . 2. Ogni gruppo va poi convertito nel corrispondente numero decimale. Allo stesso modo avviene la conversione da un numero binario ed uno esadecimale ma con la differenza di dover dividere il numero binario in gruppi di 4 cifre e non di tre. Vediamone un esempio. 1.1.1 Rappresentazione del segno in un numero Fino ad ora abbiamo visto come è possibile rappresentare i numeri naturali attraverso la rappresentazione binaria. Poiché i computer possono operare solo su due differenti simboli, è necessario adottare una “convenzione” per la rappresentazione dei numeri interi negativi. La convezione standard denominata modulo e segno consiste nel considerare il bit più a sinistra per la rappresentazione del segno: 0 = „+‟ 1 = „-‟ Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 8 di 23 Università Telematica Pegaso Codifica dell’informazione Consideriamo un esempio: 1101 = -101 = -5 In tal modo, se si utilizzano n bit, è possibile rappresentare 2n-1 numeri. Ad esempio, se n=2 è possibile rappresentare 22-1=3 numeri, essendo ridondante la rappresentazione del numero 0 si ha: 11 = -1; 10 = 0; 00 = 0; 01 = 1 Se n=8 è possibile rappresentare 28-1= 255 numeri, ovvero: 11111111 = -127 11111110 = -126 … 10000000 = 0 00000000 = 0 … 01111110 = 126 01111111= 127 In generale con n bit si rappresentano i valori da – 2n-1-1 a 2n-1-1. In realtà il metodo più diffuso per la rappresentazione dei numeri negativi in informatica è data dalla notazione complemento a 2. La sua enorme diffusione è dovuta al fatto che, grazie a questa notazione, è possibile utilizzare un solo circuito, il sommatore, sia per l'addizione che per la sottrazione. Infatti, si comprende il segno del numero binario esaminando il primo bit. In dettaglio, col complemento a due, il bit iniziale (più a sinistra) del numero ha peso negativo o positivo; da questo deriva che tutti i numeri che cominciano con un "1" sono numeri binari negativi, mentre tutti i numeri che cominciano con uno "0" sono numeri binari positivi. Nella notazione a complemento a 2, dati n bit, un numero positivo N è rappresentato in modo standard (come abbiamo visto per i naturali), mentre –N si rappresenta come 2n – (N). Un metodo pratico per calcolare –N, ovvero l'opposto di un numero binario in complemento a 2, si compone dei seguenti passi: - rappresentare il modulo N in modo standard; - complementare tutti i bit (1 → 0, 0 → 1); - sommare 1. Facciamo un esempio rappresentando il numero -5 con 8 bit in complemento a 2. Consideriamo la rappresentazione in binario del numero 5. 0000 0101 (5) Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 9 di 23 Università Telematica Pegaso Codifica dell’informazione La prima cifra è 0, questo denota che il numero è sicuramente positivo. Invertiamo i bit: 0 diventa 1, e 1 diventa 0: 1111 1010 A questo punto abbiamo ottenuto il complemento a uno del numero 5; per ottenere il complemento a due aggiungiamo 1 a questo numero: 1111 1011 (-5) Il risultato è un numero binario con segno che rappresenta il numero negativo -5 secondo il complemento a due. Il primo bit, pari a 1, evidenzia che il numero è negativo. Il complemento a due di un numero negativo ne restituisce il numero positivo pari al valore assoluto: invertendo i bit della rappresentazione del numero -5 (sopra) otteniamo: 0000 0100 Aggiungendo 1 otteniamo: 0000 0101 Che è appunto la rappresentazione del numero +5 in forma binaria. In maniera ancora più veloce si potrebbe prende un numero composto da una quantità di cifre a uno, pari alla stessa quantità di cifre del numero di partenza ed eseguire la sottrazione, poi si aggiunge il valore uno al risultato finale. Vediamone un esempio: rappresentiamo in binario il numero -51, partendo dalla rappresentazione binaria di 51 (001100112). Pertanto nella notazione complemento a 2, un numero binario di n cifre può rappresentare con questo metodo i numeri compresi fra -2n-1 e +2n-1-1, così un binario di 8 cifre può rappresentare i numeri compresi tra -128 e +127. Da notare che esiste una sola rappresentazione dello zero: quando tutti i bit sono zero, eliminando così la ridondanza dello zero che si verifica con la rappresentazione in modulo e segno. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 10 di 23 Università Telematica Pegaso 1.1.2 Codifica dell’informazione Rappresentazione dei numeri frazionari Vediamo ora come rappresentare numeri con la virgola decimale, cioè con espressioni in cui compaiono frazioni decimali. Dato che in un bit non è rappresentabile la virgola, il metodo più semplice potrebbe essere quello di rappresentare numeri frazionari scegliendo a priori quanti bit usare per la parte intera e quanti per la parte decimale. Questo metodo prende il nome di rappresentazione in virgola fissa. Il numero frazionario è rappresentato come una coppia di numeri interi: la parte intera e la parte decimale. Se si utilizzano 8 bit sia per la parte intera che per la parte decimale, il numero 12.54 è codificato come segue: 12.52 → (12, 52) → (00001100, 00110100). Comunque questo metodo è ormai abbandonato. Il metodo attualmente utilizzato è invece la cosiddetta rappresentazione in virgola mobile (floating point). In particolare, lo standard IEEE P754 comporta l'utilizzo della notazione scientifica, in cui ogni numero è identificato dal segno, da una mantissa (1,xxxxx) e dall'esponente (nyyyyy). Nel formato a precisione singola si utilizza 1 bit per il segno, 8 bit per l'esponente e 23 bit per la mantissa. La procedura standard per la conversione da numero decimale a numero binario P754 è la seguente: 1. Prima di tutto il numero, in valore assoluto, va convertito in binario. 2. Il numero va poi diviso (o moltiplicato) per 2 fino a ottenere una forma del tipo 1,xxxxxx. 3. Di questo numero viene eliminato l'1 iniziale (per risparmiare memoria) 4. Il numero di volte per cui il numero è stato diviso (o moltiplicato) per 2 rappresenta l'esponente: questo valore (decimale) va espresso in eccesso 127, ovvero è necessario sommare 127 e convertire il numero risultante in binario (formato a precisione singola). Per esempio, convertiamo il valore − 14,312510 in binario P754 con formato a singola precisione: 1. Convertiamo prima di tutto il numero: 1410 = 11102 per la parte intera e 0,312510 = 0,01012. Quindi il numero definitivo è 1110,01012 (segno escluso). 2. Dividiamo poi il numero per 2 per ottenere la seguente notazione: 1110,01012 = 1,11001012 * 23 3. La mantissa diventa, quindi: 1100101. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 11 di 23 Università Telematica Pegaso 4. Codifica dell’informazione Per esprimere l'esponente in eccesso 127, infine: 127 + 3 = 13010 = 100000102 Il numero, alla fine, sarà espresso nel formato: 1 10000010 11001010000000000000000 1.2 Rappresentazione dei caratteri Consideriamo ora un altro tipo di informazione, ossia i testi scritti, composti quindi da una sequenza di caratteri. I caratteri sono quei simboli alfabetici o numerici che vengono introdotti attraverso l‟impiego di una tastiera. Le tastiere possono essere diverse in base al paese dove si impiegano in quanto ci sono paesi che usano tipi di caratteri diversi: ad esempio, in Francia o Spagna si usa un particolare carattere, la cedilla ç, e pertanto nelle tastiere di questi paesi é presente un tasto relativo. Ovviamente se è permesso di cambiare facilmente tastiera da un paese all‟altro, un computer deve essere ideato per funzionare indipendentemente dal paese. Quanti bit sono necessari per rappresentare un carattere? La soluzione più diffusa attualmente é quella a 8 bit con la quale si possono rappresentare 256 caratteri. Inoltre bisogna associare in maniera standard i caratteri alle varie combinazioni di numeri binari, ad esempio, la combinazione 33 (00100001) corrisponde normalmente alla A (a maiuscola), ma chi lo stabilisce? Ovviamente è necessario uno standard. Oggi quello più diffuso é lo standard ASCII (American Standard Code for Information Interchange) a 7 bit. Nello specifico lo standard ASCII a 7 bit non dà una definizione dei caratteri dalla combinazione 128 fino alla 255, pertanto vi sono varie possibilità. Una di queste è la codifica ASCII ESTESA a 8 bit. Per i caratteri nei moderni sistemi operativi è utilizzata la codifica UNICODE a16 bit. Il numero di possibili simboli rappresentabili é 65536, e si possono utilizzare anche per rappresentare caratteri ideografici come ad esempio il Kanij dei giapponesi. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 12 di 23 Università Telematica Pegaso Codifica dell’informazione Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 13 di 23 Università Telematica Pegaso Codifica dell’informazione Figura 1: Tabella ASCII dei caratteri non stampabili Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 14 di 23 Università Telematica Pegaso Codifica dell’informazione Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 15 di 23 Università Telematica Pegaso Codifica dell’informazione Figura 2: Tabella ASCII dei caratteri stampabili 1.3 Rappresentazione delle immagini Consideriamo infine un ultimo tipo di informazione: le immagini, statiche ed in movimento. Memorizzare un'immagine in formato binario richiede la "discretizzazione" dell'immagine in un certo numero di componenti, detti pixel, corrispondenti ai singoli punti posti sullo schermo. Risoluzioni tipiche degli schermi (pixel per riga x pixel per colonna) sono 640x480, 800x600, 1024x864, 1152x864, 1280x1024. Figura 3: Immagine discretizzata in pixel Ad ogni pixel associamo una rappresentazione binaria: Figura 4: Ad Ogni pixel è associato un bit Usando un solo bit ad ogni pixel si possono rappresentare però solo immagini in bianco e nero, in quanto ogni pixel può assumere un solo colore. Per rappresentare immagini a diversi livelli di grigio o a colori bisogna associare un numero maggiore di bit: Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 16 di 23 Università Telematica Pegaso Codifica dell’informazione - con 8 bit per pixel: 28 = 256 livelli di grigio; - con 24 bit per pixel: 224 = 16777216, 16.7 milioni di colori. Pertanto ci si può rendere facilmente conto della quantità di memoria necessaria per immagazzinare le immagini. Per questo motivo tipicamente le immagini non vengono memorizzate come una semplice sequenza di colori associati ad ogni pixel, ma piuttosto vengono utilizzati dei formati di compressione, che permettono una riduzione della memoria richiesta per l‟immagine. I due formati utilizzati più frequentemente sono il formato gif ed il formato jpeg. Oltre alle immagini statiche, è possibile immagazzinare sequenze di immagini, ovvero filmati. Un formato molto utilizzato per memorizzare sequenze di immagini è il formato mpeg, che rappresenta un‟estensione del formato jpeg. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 17 di 23 Università Telematica Pegaso Codifica dell’informazione 2 Elettronica digitale L'elettronica digitale ha avuto inizio nel 1946 con la costruzione di un calcolatore elettronico digitale, ENIAC, realizzato con circuiti a valvole. Essa tratta con circuiti e sistemi che agiscono sfruttando due possibili stati di funzionamento (due livelli di tensione). Infatti, un segnale digitale, a differenza di uno analogico, può assumere solo determinati valori, ad esempio, uno alto e uno basso (segnale binario). Più in dettaglio, la differenza fondamentale tra segnale analogico e segnale digitale è che nei segnali analogici l'informazione è contenuta nella "forma" stessa del segnale, nei segnali digitali l'informazione da elaborare è codificata in serie di simboli (1 e 0). L'onda quadra perfetta mostrata in figura 5 è in realtà un'idealizzazione matematica che nella realtà non esiste poiché il rumore la farà "fluttuare". Quel che conta però è che le fluttuazioni si mantengano entro un certo margine in modo che non si perda l'informazione ovvero la distinzione tra i soli due stati fisici possibili (alto e basso). Figura 5: In alto esempio di segnale analogico in basso esempio di uno digitale Gli elementi base dell'elettronica digitale sono le porte logiche. Esse sono di vario tipo, tutte caratterizzate dall'avere uno o più ingressi ed uscite. Il comportamento di una porta logica viene indicato in un'apposita tabella, chiamata "tavola della verità". Le operazioni logiche fondamentali, per ognuna delle quali esiste un tipo di porta logica, sono le seguenti: AND, OR, XOR, NOT. A queste si aggiungono le versioni delle prime tre con l'uscita invertita, avendo così anche le seguenti: NAND, NOR, XNOR. A parte la funzione NOT che ha un solo ingresso e le XOR e XNOR che dispongono al massimo di due ingressi, le altre porte logiche possono disporre, teoricamente, di un qualunque numero di ingressi; tutte invece dispongono di una sola uscita (o al massimo anche dall'uscita complementare ovvero invertita). Vediamole in dettaglio. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 18 di 23 Università Telematica Pegaso Codifica dell’informazione La funzione logica AND fornisce un'uscita "vera" solo quando tutti gli ingressi sono "veri". Analogamente, una porta logica AND fornisce un livello logico "1" solo quando tutti gli ingressi presentano un livello logico =1". Ingress oB Ingress oA Uscita OUT 0 0 0 0 1 0 1 0 0 1 1 1 La funzione logica NAND fornisce un'uscita "falsa" solo quando tutti gli ingressi sono "veri". Analogamente, una porta logica NAND fornisce un livello logico "0" solo quando tutti gli ingressi presentano un livello logico "1". Ingress oB Ingress oA Uscita OUT 0 0 1 0 1 1 1 0 1 1 1 0 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 19 di 23 Università Telematica Pegaso Codifica dell’informazione La funzione logica OR fornisce un'uscita "vera" quando almeno un ingresso è "vero". Analogamente, una porta logica OR fornisce un livello logico "1" quando almeno un ingresso presenta un livello logico "1". Ingress oB Ingress oA Uscita OUT 0 0 0 0 1 1 1 0 1 1 1 1 La funzione logica NOR fornisce un'uscita "falsa" quando almeno un ingresso è"vero". Analogamente, una porta logica NOR fornisce un livello logico "0" quando almeno un ingresso presenta un livello logico "1". Ingress oB Ingress oA Uscita OUT 0 0 1 0 1 0 1 0 0 1 1 0 La funzione logica XOR fornisce un'uscita "vera" solo quando i due ingressi presentano le condizioni logiche opposte. Analogamente, una porta logica XOR fornisce un livello logico "1" solo quando i due ingressi presentano livelli logici opposti. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 20 di 23 Università Telematica Pegaso Codifica dell’informazione Ingress Ingress oB oA Uscita OUT 0 0 0 0 1 1 1 0 1 1 1 0 La funzione logica XNOR fornisce un'uscita "falsa" solo quando i due ingressi presentano le condizioni logiche opposte. Analogamente, una porta logica XNOR fornisce un livello logico "0" solo quando i due ingressi presentano livelli logici opposti. Ingress Ingress oB oA Uscita OUT 0 0 1 0 1 0 1 0 0 1 1 1 La funzione logica NOT fornisce un'uscita "vera" quando il suo ingresso presenta una condizione "falsa" e viceversa. Analogamente, una porta logica NOT fornisce un livello logico "1" quando il suo ingresso presenta un livello logico "0" e viceversa. Ingresso A Uscita OUT 0 1 1 0 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 21 di 23 Università Telematica Pegaso Codifica dell’informazione Mostriamo un esempio di circuito logico costituito appunto con l‟uso delle porte logiche. Possiamo scrivere le due uscite S e R in termini di operazioni logiche come segue: Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 22 di 23 Università Telematica Pegaso Codifica dell’informazione Bibliografia/Sitografia Spirito Paolo, Elettronica digitale, McGraw-Hill, 2006 Enea M.R., Saeli D., Sistemi Numerici. Un’introduzione. Aracne, 2009 Wikipedia, L‟enciclopedia libera: http://it.wikipedia.org Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) 23 di 23