La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione.

Presentazioni simili


Presentazione sul tema: "UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione."— Transcript della presentazione:

1 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Rappresentazione ed elaborazione automatica dellinformazione Prof. Michele Amoretti Fondamenti di Informatica a.a. 2007/2008

2 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Sommario Codifica dellinformazione Rappresentazione dellinformazione nei calcolatori - informazioni numeriche - informazioni testuali - suoni - immagini Algebra booleana Porte logiche e cenni di reti logiche ALU, registri, CPU

3 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Codifica dellinformazione 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.

4 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Codifica dellinformazione Un codice è un insieme di regole che mettono in corrispondenza biunivoca ogni simbolo 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 dellinformazione 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 nellalfabeto {., _} e linsieme dei simboli dellalfabeto inglese.

5 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Rappresentazione dellinformazione nei calcolatori I calcolatori elettronici sono macchine complesse in grado di elaborare velocemente grandi quantità di informazione, ma per farlo richiedono che linformazione sia espressa secondo un qualche codice che utilizzi i simboli dellalfabeto più semplice di tutti, quello binario. Perchè?

6 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Rappresentazione dellinformazione 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 linformazione è 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 tipo in termini di simboli binari, e come si elaborano.

7 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Rappresentazione dellinformazione nei calcolatori L'unità atomica è il bit – simbolo b. L'insieme di 8 bit è detto byte – simbolo B B = 1 KB (kilobyte) 2 20 B = 1 MB (megabyte) 2 30 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)

8 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 2 N -1 (o tra -2 N-1 e 2 N-1 -1). Di solito N è un multiplo di 8. I processori più potenti oggi sono a 64 bit.

9 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 decimale 1475 = 1x x x x10 0 In generale, dato un numero B2 detto base e linsieme β composto da B simboli diversi, β={0,1,2,…,B-1}, si possono scrivere stringhe di n cifre (ciascuna in β )

10 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Conversione di base Da base B a base 10: c n-1 c n-2 …c 1 c 0 = c n-1 xB n-1 + c n-2 xB n-2 +…+ c 1 xB 1 + c 0 xB 0 Da base B=2 (sistema binario) a base 10: = 1x x x x x2 0 = Da base B=16 (sistema esadecimale) a base 10: = 2x x16 0 = Da base B=8 (sistema ottale) a base 10: = 4x x x8 0 =

11 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Conversione di base Da base 10 a base 2: ripeti dividere per 2 il numero in base 10 - il resto è c i (i=0,…,n-1) - il quoziente è il nuovo dividendo fino a che lultimo quoziente ottenuto non è più divisibile. Es : (17,1)(8,1)(4,0)(2,0)(1,0)(0,1) Da base B k a base B: reinterpretare la stringa c n-1 c n-2 …c 1 c 0 in base B k, sostituendo a ciascun c i della base B k la corrispondente rappresentazione in base B. Es. 1AB07 16 = ( ) 2

12 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Aritmetica binaria Somma: come nel sistema decimale, da destra verso sinistra, tenendo conto dei riporti. 0+0=0 0+1=1 1+0=1 1+1=0 con riporto di 1 Sottrazione: come nel sistema decimale, da destra verso sinistra, tenendo conto dei prestiti. 0-0=0 0-1=1 con prestito di 1 1-0=1 1-1=0

13 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Aritmetica binaria Moltiplicazione: come nel sistema decimale, si calcolano i prodotti parziali e lesecuzione della loro somma. 0×0=0 0×1=0 1×0=0 1×1=1 Divisione: come nel sistema decimale, si procede per sottrazioni tra parti del dividendo e del divisore. 0/0 indefinito 0/1=0 1/0 errore 1/1=1

14 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 questultima perché non introduce la doppia rappresentazione dello zero (+0 e -0) e perché consente di effettuare le sottrazioni come se fossero delle somme.

15 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 è = 001

16 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Numeri in virgola fissa La stringa c n-1 c n-2 …c 1 c 0,c -1 c -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 -1 xB -1 + c -2 xB -2 +…+ c -m xB -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 è c i (i=-1,…,-m) - la parte frazionaria del risultato è il nuovo moltiplicando fino a che la parte frazionaria risulta 0.

17 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Numeri in virgola fissa Es. Conversione di 5,75 10 Parte intera: 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, ,11 2

18 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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×B E 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,75 10 diventa 5,75×10 1, o meglio ancora.575×10 2

19 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Numeri in virgola mobile Forma normalizzata: si sceglie di avere la seguente relazione: 0 M < 1 lesponente è espresso in complemento a B la mantissa è espressa in modulo e segno

20 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Numeri in virgola mobile Es. Usando la notazione scientifica normalizzata, in base B=2, è il numero 5,75 10 diventa: × 2 +3 La rappresentazione complessiva, utilizzando 16 bit, è:

21 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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} -Lesponente di 8 bit è in notazione polarizzata (biased) con costante di polarizzazione (bias) pari a 127; in dettaglio: config. riservata è -126 … è 0 … è config. riservata Doppia precisione (n=64 bit): come sopra ma con 52 bit per la mantissa e 11 bit per lesponente, con bias pari a usata per il tipo semplice float in Java! usata per il tipo semplice double in Java!

22 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 unaltra base, e in particolare nella base 2. Es. 0,1 10 0, 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.

23 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 lequivalente binario del numero. Es. Simbolo, valore decimale, valore binario A, 0, B, 1, C, 2, D, 3, Z, 26, 128,

24 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 sono caratteri di controllo usati soprattutto nei protocolli di comunicazione.

25 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Codifica UNICODE Sta guadagnando popolarità perché usa 16 bit per ciascun carattere, il che significa che può rappresentare 2 16 = caratteri univoci contro invece dei soli 2 8 = 256 dellASCII esteso. Questo è particolarmente importante in un mondo che è sempre più globalizzato, grazie alle reti informatiche e in particolare al Web.

26 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Rappresentazione binaria di suoni Il suono è una informazione di tipo analogico. Una singola nota è una forma donda sinusoidale con una certa ampiezza (che rende conto dellintensità 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 donda.

27 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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.

28 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Rappresentazione binaria di immagini Unimmagine è 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 dellimmagine. Questi punti sono chiamati pixel, dallinglese picture elements; maggiore è il numero di pixel utilizzati, più precisa risulta la codifica dellimmagine. Mediamente locchio 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.

29 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 unimmagine da 8 × 12 cm, ciò equivale a circa pixel/cm2 o 250 pixel per cm lineare. Ciò significa che i singoli pixel sono separati da circa 0,04 mm, troppo poco perché locchio umano possa distinguerli uno per uno.

30 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 unimmagine 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 unimmagine 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 2 3 = 8 gradazioni di intensità dal livello 0, bianco puro, al livello 7, nero puro.

31 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 è lacronimo in lingua inglese dei colori rosso, verde e blu (Red, Green, Blue). Questa tecnica descrive uno specifico colore catturando il singolo contributo 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)

32 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Spazio di memorizzazione richiesto Un romanzo di 300 pagine contiene circa 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 è allincirca: 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 volte al secondo con profondità di 16 bit per campione, richiede: campioni/sec × 16 bit/campione × 60 sec/minuto = 42 Mbit

33 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Algebra booleana Lelaborazione dellinformazione 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.

34 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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.

35 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Algebra booleana Lalgebra booleana definisce le regole di manipolazione dei due valori logici vero e falso. Lalgebra 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 dellalgebra Booleana vengono utilizzate nella scrittura di algoritmi e programmi, perché questi sono modelli formali di procedure mentali o manuali umane che 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.

36 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Algebra booleana Lalgebra 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

37 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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

38 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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

39 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Algebra booleana 4. Teorema di De Morgan: a 1 +a a n = a 1 · a 2 ·.. · a n Dimostrazione per induzione: I) a 1 +a 2 = a 1 · a 2 si dimostra per induzione perfetta II) se vale a 1 +a a k = a 1 · a 2 ·.. · a k per k=n allora vale anche per k=n+1 perché (a 1 +a a n )+a n+1 = a 1 +a a n · a n+1 = a 1 · a 2 ·.. · a n · a n+1 Versione duale: a 1 · a 2 ·.. · a n = a 1 + a a n

40 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 f(A,B)=A+B A B f(A,B)=A B B A NOT OR AND inversione somma logica prodotto logico

41 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Algebra booleana Altre funzioni ed operatori elementari sono: f(A,B)=A+B f(A,B)=AB A B EX-OR (XOR) f(A,B)=AB B A NAND B A NOR

42 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Algebra booleana Oltre alle funzioni OR e AND, esistono altre funzioni logiche a due variabili (in tutto sono 16). XYF0F1F2F3F4F5F6F7F8F9F10F11F12F13F14F AND X somma aritmetica o EX-OR OR NAND NOR

43 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 luso di un limitato numero di funzioni consente di rappresentare una qualunque funzione logica.

44 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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. NOTANDOR XORNANDNOR

45 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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).

46 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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.

47 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 (2 3 bit = 1 byte, 2 4 bit = 1 word, ecc.).

48 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 c 0 che seleziona B o il suo complemento, e una linea di controllo c 1 che seleziona A oppure 0, si ottiene una rete in grado di effettuare sia la somma che la sottrazione (questultima richiede C -1 =1). Per quanto semplice, il circuito risultante rappresenta una unità aritmetica e logica (ALU).

49 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Unità Aritmetica e Logica (ALU) c 1 c 0 C -1 Risultato Commento S=0+B=B Selezione di B S=0+B+1=B+1 Incremento di B S=0+B=B Complementazione di B S=0+B+1=–B Cambio di segno di B S=A+B Somma di A e B S=A+B S=A+B=A–B– S=A+B+1=A–1 Differenza tra A e B A B C C -1 c0c0 c1c1 n n n S

50 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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)

51 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 T CK. – Frequenza del clock: f CK = 1/T CK ; Nel periodo T CK il segnale assume il valore logico 1 per un tempo T H e il valore logico 0 per un tempo T L – Il rapporto T H / T CK è detto duty-cycle Il passaggio dal valore 0 al valore 1 è detto fronte di salita Il passaggio dal valore 1 al valore 0 è detto fronte di discesa

52 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione Prof. M. Amoretti Flip-flop Il flip-flop è un circuito bistabile sincrono, cioè regolato da un segnale di clock. Leffetto 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

53 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 linformazione nei sistemi di elaborazione. Se R in =0, lingresso ai FF è 00 per cui il registro mantiene lo stato precedente. Se R in =1, sul prossimo clock lo stato di ogni FF diventa quello corrispondente allingresso IN i. R out ha funzione di output enable delluscita a tre stati.

54 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione 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 DR AR


Scaricare ppt "UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Rappresentazione ed elaborazione automatica dellinformazione."

Presentazioni simili


Annunci Google