Upload
giacobbe-sasso
View
218
Download
0
Embed Size (px)
Citation preview
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione edelaborazione automatica
dell’informazioneProf. Michele Amoretti
Fondamenti di Informaticaa.a. 2007/2008
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Sommario
• Codifica dell’informazione
• Rappresentazione dell’informazione nei calcolatori- informazioni numeriche- informazioni testuali- suoni - immagini
• Algebra booleana
• Porte logiche e cenni di reti logiche
• ALU, registri, CPU
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Codifica dell’informazione
Un simbolo è un elemento della comunicazione rappresentante un concetto o quantità (per es. un'idea, un oggetto, una qualità).
Un alfabeto è un insieme finito di simboli (diversi tra loro).Es.Alfabeto italiano: {A, B, C, D, …Z}Alfabeto greco: {α, β, γ, δ, ...ω}Alfabeto binario: {0, 1}
Una stringa è una sequenza finita di simboli giustapposti.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Codifica dell’informazione
Un codice è un insieme di regole che mettono in corrispondenza biunivoca ognisimbolo appartenente ad un alfabeto più ricco con una stringa di simboli appartenente ad un alfabeto più ridotto.
Per codifica si intende il processo di trasformazione dell’informazione secondo le regole definite da un certo codice.La decodifica è il processo inverso.
Es. Codice Morse
Definisce la corrispondenza tra un insieme di stringhe di simboli nell’alfabeto {., _} el’insieme dei simboli dell’alfabeto inglese.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione dell’informazione nei calcolatori
I calcolatori elettronici sono macchine complesse in grado di elaborare velocemente grandi quantità di informazione, ma per farlo richiedono che l’informazione sia espressa secondo un qualche codice che utilizzi i simboli dell’alfabeto più semplice di tutti, quello binario.
Perchè?
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione dell’informazione nei calcolatori
.. perché dal punto di vista della progettazione e realizzazione circuitale è più conveniente elaborare segnali digitali a 2 livelli, piuttosto che segnali digitali a M>2 livelli o segnali analogici.
La figura confronta un segnale analogico e un segnale digitale. Nel primo l’informazione è contenuta nella forma stessa del segnale, mentre nel secondo è contenuta nella particolare sequenza di bit che esso realizza.
Nel seguito vedremo come si esprimono informazioni di vario tipoin termini di simboli binari, e come si elaborano.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione dell’informazione nei calcolatori
L'unità atomica è il bit – simbolo b.
L'insieme di 8 bit è detto byte – simbolo B.
210 B = 1 KB (kilobyte)220 B = 1 MB (megabyte)230 B = 1 GB (gigabyte)
La memoria dei calcolatori è divisa in celle la cui dimensione W è ormai standard ed è proprio pari a 1 byte.
Multipli del byte sono:
word (16 bit)double-word (32 bit)quad-word (64 bit)
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di informazioni numeriche
Il calcolatore, come dice il nome stesso, è una macchina che calcola.
Qualsiasi informazione in ingresso viene ricondotta a informazione di tipo numerico, su cui il processore (che è il cuore del calcolatore) svolge operazioni aritmetiche.
Un processore “a N bit” è in grado di elaborare numeri interi compresi tra 0 e 2N-1 (o tra -2N-1 e 2N-1-1).
Di solito N è un multiplo di 8.
I processori più potenti oggi sono a 64 bit.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Richiamo su numeri e sistemi di numerazione
Numero: descrizione quantitativa degli oggetti contenuti in un dato insieme.
Sistema di numerazione: insieme di simboli e regole atti a rappresentare i numeri.
Numerazione posizionale: ogni cifra assume un valore che dipende dalla posizione (peso) nella stringa numerica.
Es. sistema posizionale decimale1475 = 1x103 + 4x102 + 7x101 + 5x100
In generale, dato un numero B≥2 detto base e l’insieme β composto da B simboli diversi, β={0,1,2,…,B-1}, si possono scrivere stringhe di n cifre (ciascuna in β)
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Conversione di base
Da base B a base 10:cn-1cn-2…c1c0 = cn-1xBn-1 + cn-2xBn-2 +…+ c1xB1 + c0xB0
Da base B=2 (sistema binario) a base 10:
100112 = 1x24 + 0x23 + 0x22 + 1x21 + 1x20 = 1910
Da base B=16 (sistema esadecimale) a base 10:
2216 = 2x161 + 2x160 = 3410
Da base B=8 (sistema ottale) a base 10:
4178 = 4x82 + 1x81 + 7x80 = 27110
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Conversione di base
Da base 10 a base 2: ripeti
dividere per 2 il numero in base 10 - il resto è ci (i=0,…,n-1)- il quoziente è il nuovo dividendo
fino a che l’ultimo quoziente ottenuto non è più divisibile.
Es. 3510: (17,1)(8,1)(4,0)(2,0)(1,0)(0,1) 1000112
Da base Bk a base B: reinterpretare la stringa cn-1cn-2…c1c0 in base Bk, sostituendo a ciascun ci della base Bk la corrispondente rappresentazione in base B.
Es. 1AB0716 = (0001 1010 1101 0000 0111)2
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Aritmetica binaria
Somma: come nel sistema decimale, da destra verso sinistra, tenendo conto dei riporti.
0+0=00+1=11+0=11+1=0 con riporto di 1
Sottrazione: come nel sistema decimale, da destra verso sinistra, tenendo conto dei prestiti.
0-0=00-1=1 con prestito di 11-0=11-1=0
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Aritmetica binaria
Moltiplicazione: come nel sistema decimale, si calcolano i prodotti parziali e l’esecuzione della loro somma.
0×0=00×1=01×0=01×1=1
Divisione: come nel sistema decimale, si procede per sottrazioni tra parti del dividendo e del divisore.
0/0 indefinito0/1=01/0 errore1/1=1
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri binari negativi
Rappresentazione in modulo e segno: il bit più significativo rappresenta il segno del numero (1 sta per negativo, 0 per positivo).
Rappresentazione in complemento a 1: il cambiamento di segno viene ottenuto complementando ciascun bit.
Rappresentazione in complemento a 2: il cambiamento di segno viene ottenuto complementando a 1 e aggiungendo 1.
In genere si adotta quest’ultima perché non introduce la doppia rappresentazione dello zero (+0 e -0) e perché consente di effettuare le sottrazioni come se fossero delle somme.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri binari negativi
Es.
Usando 3 bit e la notazione in complemento a 2 si possono rappresentare i seguenti numeri:
(3 – 2)10 è 011 + 110 = 001
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri in virgola fissa
La stringa cn-1cn-2…c1c0 ,c-1c-2…c-m
è composta da una parte intera (a sinistra della virgola) e da una parte frazionaria (a destra della virgola).
Conversione della parte frazionaria da base B a base 10:
c-1xB-1 + c-2xB-2 +…+ c-mxB-m
Conversione della parte frazionaria da base 10 a base 2: ripeti
moltiplicare per 2 il numero in base 10 - la parte intera del risultato è ci (i=-1,…,-m)- la parte frazionaria del risultato è il nuovo moltiplicando
fino a che la parte frazionaria risulta 0.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri in virgola fissa
Es.
Conversione di 5,7510
Parte intera: 510 1012
Parte frazionaria:
0,75*2 = 1,5 la prima cifra binaria dopo la virgola è 1
0,5*2 = 1,0 la seconda cifra dopo la virgola è 1
Quindi 5,7510 101,112
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri in virgola mobile
Usando la cosiddetta notazione in virgola mobile (floating point) o scientifica, un numero viene espresso da tre elementi:
B (base)E (esponente)M (mantissa)
M×BE
Questo metodo di scrittura permette di rappresentare un larghissimo insieme numerico all'interno di un determinato numero di cifre, cosa che la virgola fissa non concede.
Es. 5,7510 diventa 5,75×101, o meglio ancora .575×102
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri in virgola mobile
Forma normalizzata:
• si sceglie di avere la seguente relazione: 0 ≤ M < 1
• l’esponente è espresso in complemento a B
• la mantissa è espressa in modulo e segno
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Numeri in virgola mobile
Es.
Usando la notazione scientifica normalizzata, in base B=2, è il numero 5,7510 diventa:
+.10111 × 2+3
La rappresentazione complessiva, utilizzando 16 bit, è:
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Standard IEEE-754/85
Singola precisione (n=32 bit):- Il segno è 0 per il + e 1 per il –- La mantissa di 23 bit è in notazione normalizzata implicita,
cioè si intende 0,{i 23 bit della mantissa}- L’esponente di 8 bit è in notazione polarizzata (biased) con
costante di polarizzazione (bias) pari a 127; in dettaglio: 00000000 config. riservata 00000001 è -126 … 01111111 è 0 … 11111110 è +127 11111111 config. riservata
Doppia precisione (n=64 bit):come sopra ma con 52 bit per la mantissa e 11 bit per l’esponente, con bias pari a 1023.
usata per il tipo semplice float in Java!
usata per il tipo semplice double in Java!
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Limiti della rappresentazione binaria di numeri decimali
Attenzione! Certi numeri che in base 10 hanno una quantità finita di cifre dopo la virgola, potrebbero averne una quantità infinita se convertiti in un’altra base, e in particolare nella base 2.
Es. 0,110 0,0001100110011..2
I processori possono gestire operandi di dimensione limitata, per cui effettuano dei troncamenti quando i numeri decimali hanno rappresentazione binaria con troppe cifre dopo la virgola.
E’ possibile quindi che poi la riconversione in decimale non dia il risultato atteso.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di informazioni testuali
Per rappresentare dati testuali in binario, il sistema assegna a ciascuna lettera o simbolo stampabile un numero univoco, quindi memorizza internamente tale simbolo usando l’equivalente binario del numero.
Es.
Simbolo, valore decimale, valore binarioA, 0, 00000000B, 1, 00000001C, 2, 00000010D, 3, 00000011.. .. ..Z, 26, 00011010.. .. ..@, 128, 10000000.. .. ..
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Codifica ASCII
American Standard Code for the Interchange of Information
Codifica che usa 8 bit per ciascun simbolo alfanumerico, ma il bit più significativo è sempre a 0 perché in origine la codifica era a 7 bit. Quindi si hanno 128 possibili simboli (ASCII standard).
Usando anche il bit più significativo si hanno 256 possibili simboli (ASCII esteso).
Alcuni simboli non sono stampabili, ma sonocaratteri di controllo usati soprattutto neiprotocolli di comunicazione.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Codifica UNICODE
Sta guadagnando popolarità perché usa 16 bit per ciascun carattere, il che significa che può rappresentare 216 = 65536 caratteri univoci contro invece dei soli 28 = 256 dell’ASCII esteso.
Questo è particolarmente importante in un mondo che è sempre più globalizzato, grazie alle reti informatiche e in particolare al Web.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di suoni
Il suono è una informazione di tipo analogico.
Una singola nota è una forma d’onda sinusoidale con una certa ampiezza (che rende conto dell’intensità con cui viene suonata a nota) e un certo periodo (il cui inverso, la frequenza, caratterizza la nota in modo univoco – do piuttosto che fa, ecc. e con quale “altezza”).
Un suono complesso è dato dalla sovrapposizione di molteplici forme d’onda.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di suoni
Il microfono traduce il suono in un segnale analogico che per essere memorizzato (e quindi elaborato) da un calcolatore elettronico deve essere digitalizzato.
Vengono presi dei campioni del segnale analogico, a intervalli regolari. La sequenza dei valori numerici campionati viene memorizzata nel calcolatore come sequenza di stringhe binarie.
Viceversa, a partire da valori numerici è possibile generare un segnale analogico.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di immagini
Un’immagine è una serie continua di valori di intensità e colore, e può essere digitalizzata campionando le informazioni analogiche, esattamente come accade per il suono.
Il processo di campionamento, definito spesso scansione, consiste nella misurazione dei valori di intensità di punti distinti situati a intervalli regolari su tutta la superficie dell’immagine. Questi punti sono chiamati pixel, dall’inglese “picture elements”; maggiore è il numero di pixel utilizzati, più precisa risulta la codifica dell’immagine.
Mediamente l’occhio umano non è in grado di distinguere con precisione i componenti separati da meno di 0,1 mm, perciò se i pixel sono sufficientemente densi, appaiono alla vista come una singola immagine contigua.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di immagini
Una fotocamera digitale di buona qualità, per esempio, memorizza circa 6–8 milioni di pixel per fotografia.
Per un’immagine da 8 × 12 cm, ciò equivale a circa 60.000 pixel/cm2 o 250 pixel per cm lineare. Ciò significa che i singoli pixel sono separati da circa 0,04 mm, troppo poco perché l’occhio umano possa distinguerli uno per uno.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di immagini
Una delle domande chiave a cui occorre rispondere è quante informazioni vengono memorizzate per ciascun pixel.
Supponiamo di voler memorizzare la rappresentazione di un’immagine in bianco e nero. La soluzione più facile ed efficiente in termini di spazio è quella di contrassegnare ciascun pixel come bianco, memorizzato come binario 0, o nero, memorizzato come binario 1.
Il solo problema è che in questo modo si produce un’immagine in bianco e nero, molto netta e con contrasto visivo non sempre gradevole. Un modo migliore, anche se richiede più spazio, consiste nel rappresentare le immagini in bianco e nero utilizzando una scala di grigi di intensità variabile. Per esempio, se si utilizzano 3 bit per pixel, è possibile rappresentare 23 = 8 gradazioni di intensità dal livello 0, bianco puro, al livello 7, nero puro.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Rappresentazione binaria di immagini
Il formato più comune per la memorizzazione delle immagini a colori è lo schema di codifica RGB, dove RGB è l’acronimo in lingua inglese dei colori rosso, verde e blu (Red, Green, Blue). Questa tecnica descrive uno specifico colore catturando il singolocontributo di un pixel per ciascuno dei tre colori fondamentali: rosso, verde e blu. Comunemente, si utilizza un byte per ciascuno dei 3 colori, il che consente di rappresentare intervalli di intensità da 0 a 255.
Es. Magenta
RGB: (255,0,255)
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Spazio di memorizzazione richiesto
Un romanzo di 300 pagine contiene circa 100000 parole. Ciascuna parola è costituita in media da cinque caratteri e ogni carattere può essere codificato nel set di codici ASCII usando 8 bit. Così, il numero totale di bit necessario a rappresentare questo libro è all’incirca:
100000 parole × 5 car/parola × 8 bit/car = 4 Mbit
A titolo di confronto, 1 minuto di registrazione audio codificata in standard MP3, che esegue il campionamento 44100 volte al secondo con profondità di 16 bit per campione, richiede:
44100 campioni/sec × 16 bit/campione × 60 sec/minuto = 42 Mbit
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
L’elaborazione dell’informazione affonda le sue radici nella logica, che è la scienza delle regole e delle leggi del pensare.
0/1 vero/falso
La logica è alla base di ogni argomentazione. I greci riconobbero per primi il suo ruolo nella matematica e nella filosofia e si dedicarono al suo studio con grande impegno e con notevoli risultati.
Risalgono infatti a filosofo greco Aristotele (384, 322 a.C.) i primi studi seri in questo campo. Nelle sue opere, raccolte sotto il titolo Organon, scrisse il primo trattato sistematico di logica. La sua opera ebbe una notevole influenza, non sempre positiva, in tutti i campi del sapere per parecchi anni fino a tutto il Medioevo.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
Ma essendo la logica di Aristotele espressa nel linguaggio naturale, ne conservava tutte le ambiguità.
Solo nel 17esimo secolo, con Leibniz, i filosofi iniziarono ad esprimere le regole del ragionamento per mezzo di un formalismo simbolico.
Fu nel 1847 con la pubblicazione dei testi “Analisi matematica della logica” di George Boole e “Logica Formale” di Augustus De Morgan che si cominciò a parlare di logica simbolica e che la logica cominciò a far parte integrante della matematica.
Con Boole e DeMorgan, la logica e la matematica divennero strettamente intrecciate. La logica è da allora considerata parte della matematica, ma alla stesso tempo ne costituisce il linguaggio.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
L’algebra booleana definisce le regole di manipolazione dei due valori logici vero e falso.
L’algebra booleana è utilizzata in molti campi del sapere, ad esempio nella progettazione dei circuiti logici (che sono alla base dei calcolatori), nella teoria degli insiemi, nel calcolo proposizionale, ecc.
Le regole dell’algebra Booleana vengono utilizzate nella scrittura di algoritmi e programmi, perché questi sono modelli formali di procedure mentali o manuali umaneche si vuole vengano riprodotte da una macchina.
G. Boole - Mathematical Analysis of Logic (1847)La logica va collegata alla matematica e non alla metafisica. Si costruisce un sistema formale e solo successivamente si assegna ad esso una interpretazione nel linguaggio comune.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
L’algebra booleana consiste di:- un insieme K composto da due elementi denotati con 0 e 1- due funzioni {+, } che fanno corrispondere a una qualsiasi coppia di elementi di K un elemento di K - una funzione {¯}
tali per cui valgono i seguenti assiomi:
1. K contiene al minimo due elementi a e b, tali che a b
2. Chiusura: Per ogni a e b in K: a+b K, a• b K
3. Proprietà commutativa: a+b = b+a, a • b = b • a
4. Proprietà associativa: (a + b) + c = a + (b+c) = a+ b+c a • (b • c) = (a • b) • c = a • b • c
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
5. Indentità:Esiste un elemento identità rispetto a {+}, tale che a + 0 = a, per ogni a K Esiste un elemento identità rispetto a {• }, tale che a • 1 = a, per ogni a K
6. Proprietà distributiva: a + (b • c) = (a + b) • (a + c) a • (b + c) = (a • b) + (a • c)
7. Elemento inverso: per ogni a K esiste un elemento a K tale che (a + a) = 1 e (a • a) = 0
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
8. Dualità: scambiando somme con prodotti e 0 con 1 il valore di verità di un proposizione non cambia
Teoremi:
1. Indempotenza: a + a = a a • a = a
2. Elementi forzanti: a + 1 = 1 a • 0 = 0
3. Assorbimento: a + (a • b) = a (a+b) • a = a
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
4. Teorema di De Morgan: a1+a2+ .. +an = a1 · a2 · .. · an
Dimostrazione per induzione:
I) a1+a2 = a1 · a2 si dimostra per induzione perfetta
II) se vale a1+a2+ .. +ak = a1 · a2 · .. · ak per k=n allora vale anche per k=n+1 perché
(a1+a2+ .. +an)+an+1 = a1+a2+ .. +an · an+1
= a1 · a2 · .. · an · an+1
Versione duale: a1 · a2 · .. · an = a1 + a2 + .. + an
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
Una funzione logica è una legge che fa corrispondere a ogni combinazione di valori delle variabili indipendenti uno e un solo valore binario della variabile z. Può essere espressa in forma algebrica o tabellare.
A f(A)=A
0
1
1
0
f(A,B)=A+B
0011
A B
0101
0111
f(A,B)=A• B
0011
B
0101
0001
A
NOT OR ANDinversione somma logica prodotto logico
),...,,( 21 nxxxfz
nxxx ,...,, 21
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
Altre funzioni ed operatori elementari sono:
f(A,B)=A+Bf(A,B)=AB
0011
A B
0101
0110
EX-OR (XOR)
f(A,B)=A•B
0011
B
0101
1110
A
NAND
0011
B
0101
1000
A
NOR
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
Oltre alle funzioni OR e AND, esistono altre funzioni logiche a due variabili (in tutto sono 16).
X Y F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
AND X somma aritmetica o EX-OR
OR NANDNOR
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Algebra booleana
Una qualunque funzione logica può essere realizzata utilizzando un numero limitato di funzioni elementari (insieme completo).
Sono insiemi completi: NAND, NOR, (AND,NOT), (OR,NOT)
Questa proprietà garantisce che l’uso di un limitato numero di funzioni consente di rappresentare una qualunque funzione logica.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Porte logiche
Una porta logica è un blocco elementare in cui la relazione fra variabili di ingresso e variabili di uscita è descritta da una funzione logica.
Utilizzando un numero limitato di tipi di porte logiche è possibile realizzare un circuito logico combinatorio che realizza una qualsiasi funzione logica.
NOT AND OR
XOR NAND NOR
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Semisommatore
Il semisommatore (“half adder”, HA) è un circuito a due ingressi (A, B) che restituisce il bit di somma degli ingressi (S) e un bit di riporto (C).
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Sommatore completo
Il sommatore completo (“full adder”, FA) è un circuito che, rispetto al semisommatore, comprende anche una linea di riporto in ingresso.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Sommatore
Connettendo più FA assieme è possibile realizzare un circuito che somma numeri binari di lunghezza qualsiasi.
Tipicamente le “parole” binarie hanno lunghezze standard (23 bit = 1 byte, 24 bit = 1 word, ecc.).
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Unità Aritmetica e Logica (ALU)
A partire dal sommatore completo, è possibile costruire un circuito in grado di compiere anche altre operazioni.
Sottrazione tra parole binarie: A – B = A + (-B) = A + (B + 1)
per cui aggiungendo al sommatore una linea di controllo c0 che seleziona B o il suo complemento, e una linea di controllo c1 che seleziona A oppure 0, si ottiene una rete in grado di effettuare sia la somma che la sottrazione (quest’ultima richiede C-1=1).
Per quanto semplice, il circuito risultante rappresenta una unità aritmetica e logica (ALU).
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Unità Aritmetica e Logica (ALU)
c1 c0 C-1 Risultato Commento0 0 0 S=0+B=B Selezione di B0 0 1 S=0+B+1=B+1 Incremento di B0 1 0 S=0+B=B Complementazione di B0 1 1 S=0+B+1=–B Cambio di segno di B1 0 0 S=A+B Somma di A e B1 0 1 S=A+B+11 1 0 S=A+B=A–B–1 1 1 1 S=A+B+1=A–1 Differenza tra A e B
AB
CC-1c0c1
nn
n
S
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Circuiti bistabili
Oltre ad elaborare le informazioni, i calcolatori devono anche memorizzarle.
Gli elementi di memoria (in grado di contenere un bit) possono essere di vario tipo.
Molto usati sono i circuiti bistabili, che sono circuiti combinatori in grado di:
• permanere stabili in due stati diversi (MEMORIA)
• commutare da uno stato all'altro (SCRITTURA)
• manifestare lo stato interno (LETTURA)
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Segnale di clock
Il funzionamento del calcolatore è cadenzato da un segnale periodico (detto segnale di clock), caratterizzato da un periodo di clock TCK.
– Frequenza del clock: fCK= 1/TCK;
Nel periodo TCK il segnale assume il valore logico 1 per un tempo TH e il
valore logico 0 per un tempo TL
– Il rapporto TH / TCK è detto duty-cycle
Il passaggio dal valore 0 al valore 1 è detto fronte di salitaIl passaggio dal valore 1 al valore 0 è detto fronte di discesa
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Flip-flop
Il flip-flop è un circuito bistabile sincrono, cioè regolato da un segnale di clock.
L’effetto del clock è di stabilire quando (a intervalli regolari) il flip-flop può cambiare stato: - con Ck=0 ingressi bloccati, il flip-flop non cambia stato (è opaco)- con Ck=1, gli ingressi sono attivi (il flip-flop è trasparente)
Es. flip-flop JK
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Registri
Per registro si intende un insieme di n identici elementi di memoria (flip-flop), sincronizzati tramite un unico clock.Sono i supporti che materializzano l’informazione nei sistemi di elaborazione.
Se Rin=0, l’ingresso ai FF è 00 per cui il registro mantiene lo stato precedente.
Se Rin=1, sul prossimo clock lo stato di ogni FF diventa quello corrispondente all’ingresso INi. Rout ha funzione di output enable dell’uscita a tre stati.
UNIVERSITA’ DEGLI STUDI DI PARMACorso di Laurea in Ingegneria Gestionale Fondamenti di Informatica
Rappresentazione ed elaborazione automatica dell’informazione Prof. M. Amoretti
Central Processing Unit (CPU)
Il cuore di un sistema di elaborazione è la CPU, che nella versione più semplice è composta da:
• una ALU• alcuni registri• una unità di controllo• un bus interno
ACC
DRAR