Sistemi Digitali
Definizione
5 Analog Waveform Time Voltage (V) Digital Waveform 1
Analisi e Sintesi
“Viste” della progettazione digitale.
Campi di Applicazione
Componenti di un Computer digitale
Componenti di un Computer digitale (2)
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 S (detto alfabeto di supporto di C).
Codifica e decodifica
Esempio
Criteri di valutazione di una codifica
Sistemi posizionali
Codice binario
Sistemi Binari (2)
Cambiamenti di base e artimetica in base b Numeri Naturali Numeri Interi Numeri decimali in virgola fissa e mobile
RAPPRESENTAZIONE DEI NATURALI
Conversione di Base Problema: convertire un numero N espresso in base a Na in un numero N’ espresso in base b: N’b Metodo polinomiale: usare l’espressione:
Conversione di base Metodo polinomiale: Si esprime il numero Na come un polinomio, usando i numeri dell’alfabeto b nel polinomio Si valuta il polinomio usando l’aritmetica in base b
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: 2310=101112 (a=10 e b=2) 23 Q: 11 5 2 1 0 r: 1 1 1 0 1 Nota: divido per 2 con l’aritmetica decimale. 2 espresso con codice binario è la stringa 10!!! MSB
Esempio 2
Esempio 3
Conversioni da base 2 a base 2n
ARITMETICA IN BASE b PER I NATURALI
Aritmetica binaria (2) Sottrazione: Differenza Prestito 0-0 0 0 0-0 0 0 0-1 1 1 1-0 1 0 1-1 0 0 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
Aritmetica binaria (2) Sottrazione: Differenza Prestito 0-0 0 0 0-0 0 0 0-1 1 1 1-0 1 0 1-1 0 0 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
Aritmetica binaria (3) Esempio: 011 01011 11000 101000 -10001 - 011001 011 01011 11000 101000 -10001 - 011001 00111 001111 (24-17=7) (40-25=15)
Lunghezza di parola
RAPPRESENTAZIONE DEGLI INTERI
Aritmetica binaria (4) Rappresentazione in complemento a 2: (utile per trattare interi negativi) 2N = -2n-1p n-1+ Il bit MSB rappresenta il segno: 0 = +, 1= - I numeri negativi vanno da -2n-1 a -1 Quindi, per n=4 da 1000 (-8) a 1111 (-1)
Esempi +3 = 00000011 +2 = 00000010 +1 = 00000001 +0 = 00000000 -1 = 11111111 -2 = 11111110 -3 = 11111101
Descrizione geometrica della rappresentazione di interi in Ca2
Range dei Numeri in Ca2 8 bit (Ca2) 16 bit (Ca2) +127 = 01111111 = 27 -1 -128 = 10000000 = -27 16 bit (Ca2) +32767 = 011111111 11111111 = 215 - 1 -32768 = 100000000 00000000 = -215 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
Complemento a 2 Proprietà-benefici: Rappresenta i numeri da -2n-1 a +2n+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
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:
Dimostrazione A=-A’A-A’=0 A-A’=
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
Moltiplicazione Complessa Funziona con prodotti parziali Slittamento dei prodotti parziali Somma prodotti parziali
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=0 10001111 Prodotto (143 dec) Nota: il risultato ha lunghezza doppia!
Divisione Più complessa della moltiplicazione In particolare per numeri negativi In dettaglio nel corso di Arc. II
Divisione per Interi senza segno Quoziente 1101 Divisore 1011 10010011 Dividendo 1011 001110 Resti parziali 1011 001111 1011 Resto 100
Rappresentazione dei numeri Reali Virgola fissa e mobile
Numeri reali in virgola fissa
Precisione
Cambiamento di base
Conversione di base Metodo iterativo, parte intera: come per i numeri interi Metodo iterativo, parte frazionaria 1. Si moltiplica Nf per b (sempre con l’aritmetica di a!!) . Il prodotto sia p=pi,pf (es 0,46) pi è la cifra più significativa di N’f (in base b). 2. (finché pf=0) esegui: pfb = p’i,p’f N’f = N’fp’i (concatena la cifra p’i a destra di N’f) p’fpf NOTA: Il processo può o meno terminare (pf può non essere mai zero!)
Conversione di base Esempio (0,625)10=(0,N’f)8 0,6258=5,00 N’f=5
Precisione in virgola fissa
Rappresentazione in virgola mobile
Forma Normalizzata
Forma Normalizzata ((2)
CAMBIAMENTO di BASE in virgola mobile
Esempio
“Range” della rappresentazione
Precisione e Ampiezza
STANDARD IEEE 85
Standard IEEE
Operazioni fra reali in VM
Esempio
Somma
Somma (2)
Esempio