1 Sistemi Digitali
2 Definizione
3 0 5 Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V) 1 0 1
4 Analisi e Sintesi
5 Viste della progettazione digitale.
6
7 Campi di Applicazione
8 Componenti di un Computer digitale
9 Componenti di un Computer digitale (2)
10
11 Rappresentazione dell'Informazione I calcolatori elettronici sono macchine in grado di elaborare informazioni trasformandole in altre informazioni. Nel mondo dell'informatica, intendiamo in modo più restrittivo per informazione tutto ciò che può essere rappresentato tramite opportune sequenze di simboli in un alfabeto prefissato. La rappresentazione estensionale di un insieme I é un insieme di parole ognuna delle quali esprime un elemento di I. Esempio: mela,pera,uva,arancia Un codice C é un insieme di parole composte da simboli di un alfabeto (detto alfabeto di supporto di C).
12 Codifica e decodifica
13 Esempio
14 Criteri di valutazione di una codifica
15 Sistemi posizionali
16
17 Codice binario
18 Sistemi Binari (2)
19
20 Cambiamenti di base e artimetica in base b Numeri Naturali Numeri Interi Numeri decimali in virgola fissa e mobile
21 RAPPRESENTAZIONE DEI NATURALI
22 Conversione di Base Problema: convertire un numero N espresso in base a Na in un numero N espresso in base b: Nb Metodo polinomiale: usare lespressione:
23 Conversione di base Metodo polinomiale: âSi esprime il numero N a come un polinomio, usando i numeri dellalfabeto b nel polinomio âSi valuta il polinomio usando laritmetica in base b
24 Conversione di base Metodo iterativo: 1. Si divide N per b (in base a), sia Q il quoziente e r il resto. r è il bit meno significativo della parte intera di N b 2. (finché Q>0) ripeti: esegui Q/b : quoziente=Q resto=r Q Q N b r N b Esempio: = (a=10 e b=2) 23Q: r:11101 Nota: divido per 2 con laritmetica decimale. 2 espresso con codice binario è la stringa 10!!! MSB
25 Esempio 2
26 Esempio 3
27 Conversioni da base 2 a base 2 n
28 ARITMETICA IN BASE b PER I NATURALI
29 Aritmetica binaria (2) Sottrazione: DifferenzaPrestito Se cè un prestito (borrow) e il bit adiacente è un 1, questo viene modificato in uno zero Se cè un prestito (borrow) e il bit adiacente è uno 0, questo è modificato in 1, e così tutti i bit successivi, finché non si incontra un bit=1. Questo viene posto=0, e si ripristina il processo di sottrazione
30 Aritmetica binaria (2) Sottrazione: DifferenzaPrestito Se cè un prestito (borrow) e il bit adiacente è un 1, questo viene modificato in uno zero Se cè un prestito (borrow) e il bit adiacente è uno 0, questo è modificato in 1, e così tutti i bit successivi, finché non si incontra un bit=1. Questo viene posto=0, e si ripristina il processo di sottrazione
31
32
33 Aritmetica binaria (3) Esempio: (24-17=7) (40-25=15)
34 Lunghezza di parola
35 RAPPRESENTAZIONE DEGLI INTERI
36
37 Aritmetica binaria (4) Rappresentazione in complemento a 2: (utile per trattare interi negativi) 2 N = -2 n-1 p n-1 + Il bit MSB rappresenta il segno: 0 = +, 1= - I numeri negativi vanno da -2 n-1 a -1 Quindi, per n=4 da 1000 (-8) a 1111 (-1)
38 Esempi +3 = = = = = = =
39 Descrizione geometrica della rappresentazione di interi in Ca2
40 Range dei Numeri in Ca2 8 bit (Ca2) +127 = = = = bit (Ca2) = = = = Il più grande numero positivo ha il primo bit 0 e tutti gli altri 1. Il più grande numero negativo (in valore assoluto) ha il primo bit 1 e tutti gli altri zero
41 Complemento a 2 Proprietà-benefici: Rappresenta i numeri da -2 n-1 a +2 n+1 Una sola interpretazione per 0 Un numero negativo si esprime in complemento a 2 invertendo i bit del corrispondente numero positivo, e poi sommando 1 (segue dimostrazione) Regola della sottrazione in Ca2: N1-N2=N1+not(N2)+1
42 Sottrazione in complemento a 2 Sia A un numero espresso in complemento a 2: A= Invertiamo tutti i bit di A e sommiamo 1: Si dimostra che A=-A !!!! Ne consegue:
43 Dimostrazione A=-A A-A=0 A-A=
44 Sottrazione Quindi, per eseguire una sottrazione in binario fra interi rappresentati in complemento a 2, basta sommare al minuendo il complemento del sottraendo e sommare 1
45 Moltiplicazione Complessa Funziona con prodotti parziali Slittamento dei prodotti parziali Somma prodotti parziali
46 Esempio 1011 Moltiplicando (11 dec) x 1101 Moltiplicatore (13 dec) 1011 Prodotti parziali 0000 Nota: se il Mt=1 COPIA Md 1011 (slittando il valore) 1011 altrimenti prod_parz= Prodotto (143 dec) Nota: il risultato ha lunghezza doppia!
47 Divisione Più complessa della moltiplicazione In particolare per numeri negativi In dettaglio nel corso di Arc. II
Divisione per Interi senza segno Quoziente Dividendo Resto Resti parziali Divisore
49
50 Rappresentazione dei numeri Reali Virgola fissa e mobile
51 Numeri reali in virgola fissa
52 Precisione
53 Cambiamento di base
54 Conversione di base Metodo iterativo, parte intera: come per i numeri interi Metodo iterativo, parte frazionaria 1. Si moltiplica N f per b (sempre con laritmetica di a!!). Il prodotto sia p=p i,p f (es 0,46) pi è la cifra più significativa di N f (in base b). 2. (finché p f =0) esegui: p f b = p i,p f N f = N f p i (concatena la cifra p i a destra di N f ) p f NOTA: Il processo può o meno terminare (p f può non essere mai zero!)
55 Conversione di base Esempio (0,625) 10 =(0,N f ) 8 0,625 8=5,00 N f =5 (0,23) 10 = (0,N f ) 2 0,23 2=0,46 N f =0 0,46 2=0,92 N f =00 0,92 2=1,84 N f =001 0,84 2=1,68 N f =0011… (N f ) 2 =0011
56
57 Precisione in virgola fissa
58 Rappresentazione in virgola mobile
59 Forma Normalizzata
60 Forma Normalizzata ((2)
61 CAMBIAMENTO di BASE in virgola mobile
62 Esempio
63 Range della rappresentazione
64
65
66 Precisione e Ampiezza
67 STANDARD IEEE 85
68 Standard IEEE
69
70 Operazioni fra reali in VM
71 Esempio
72 Somma
73 Somma (2)
74 Esempio