sistemi digitali

73
1 Sistemi Digitali

Upload: zoie

Post on 07-Jan-2016

58 views

Category:

Documents


1 download

DESCRIPTION

Sistemi Digitali. Definizione. Analog Waveform. 5. Voltage (V). Time. 0. Digital Waveform. 5. 1. 1. Voltage (V). 0. Time. 0. Analisi e Sintesi. “Viste” della progettazione digitale. Campi di Applicazione. Componenti di un Computer digitale. Componenti di un Computer digitale (2). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sistemi Digitali

1

Sistemi Digitali

Page 2: Sistemi Digitali

2

Definizione

DEF Sistemi Digitali Sono tutti quegli apparati al cuiinterno le grandezze fisiche impiegate come segnali sonovincolate ad assumere solo valori discreti.

DEF Sistemi Binari Sono quei sistemi digitali in cui isegnali sono limitati a due valori di regime.

Page 3: Sistemi Digitali

3

0

5 Analog Waveform

Time

Vol

tage

(V

)

0

5Digital Waveform

Time

Vol

tage

(V

)

1

0

1

Page 4: Sistemi Digitali

4

Analisi e Sintesi

Rispetto ai sistemi analogici, nei quali i segnali possonoassumere tutti i possibili valori in un continuo, i sistemidigitali consentono una minore complessità dei dispositiviche devono generare i segnali, ed una maggiore immunitàai disturbi.

Un sistema digitale é un circuito costituito da componentielementari e dai collegamenti c he li int erconnettono. Icomponenti elementari possono essere di due tipi: porte oelementi di memoria.

L'obiettivo di questo corso é lo studio diproblemi di analisi e sintesi di sistemi digitali.

• analisi dal circuito alla specifica formale• sintesi dalla specifica funzionale al circuito

Page 5: Sistemi Digitali

5

“Viste” della progettazione digitale.

I. Vista comportamentale: descrive le funzioniindipendentemente dall’i mplementazione (es:progettare un circuito che esegua la somma aritmeticafra due numeri interi )

II. Vista strutturale: decsrive il modello diinterconnessione dei componenti (es: disegno deicomponenti digitali elementari e loro interconnessioni)

III. Vista fisica: componenti fisici (es. transistors, layout)

Page 6: Sistemi Digitali

6

Page 7: Sistemi Digitali

7

Campi di ApplicazioneLa progettazione digitale interessa tutti i campi diapplicazione dell'elettronica:

Calcolo AutomaticoTelecomunicazioni

Controlli AutomaticiMisure Elettriche

....In questo corso, oltre ad introdurre i principi generalidi progetto di sistemi digitali, siamo interessati astudiare applicazioni nel campo del CalcoloAutomatico.

Gli Elaboratori Elettronici sono sistemi digitalicomplessi in grado di leggere, elaborare e trasmettereinformazioni binarie.

Page 8: Sistemi Digitali

8

Componenti di un Computer digitale

4 funzioni logiche fondamentali:-Controllo : sequenziare le operazioni di uncomputer, controllando le azioni di tutti gli altrimoduli.- Elaborazione Logico-Aritmetica: eseguireoperazioni aritmetiche e logiche (descritte in questocorso). L'unità di controllo indica quali operazionieseguire e come.

Page 9: Sistemi Digitali

9

Componenti di un Computer digitale (2)

- Memoria: q uesta sezione contienel'informazione da utili zzare durantel'elaborazione. Per informazione si i ntendonoistruzioni e dati.

Distinguiamo due tipi di memoria:o la memoria principaleo la memoria secondaria

- Ingresso-uscita: abilita la lettura di datiall'interno della macchina ed il trasferimento di datiall'esterno. I dispositivi esterni possono essere:- dispositivi di memorizzazione (dischi, nastri, ecc.)- dispositivi di ingresso (sensori, tastiere, fax..)- dispositivi di uscita (stampanti, video, fax..)

Page 10: Sistemi Digitali

10

UnitàdiControllo

Dispositividi Ingresso

terminali sensori, ecc

Dispositividi uscita

stampantivideo, display, ecc.

Unitàlogico-aritmetica

MemoriaPrincipale

Interfacciacon

Interfacciacon

Interfaccia condispositivi di memorizzazione

Dischi,Dischi ottici,nastri, ecc.

Page 11: Sistemi Digitali

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).

Page 12: Sistemi Digitali

12

Codifica e decodificaCODIFICALa codifica di un insieme di informazioni I in un datocodice C é una funzionef: I → C

Esempio:mela⏐ → ⏐ 00, pera⏐ → ⏐ 01, uva⏐ → ⏐ 10, aranci a ⏐ → ⏐ 11,dove = {0,1}

DECODI FICALa decodifica di una informazione codificata in precedenza éun acorrisponden za :g C → I

Page 13: Sistemi Digitali

13

Esempio

Il cifrario di Cesare, usato nei tempi dell'antica Roma,aveva la seguente funzione di codifica:f: i ⏐ → ⏐ +i 3(mod 26) =i 0,1..25dov eal numer o0 corrispond ela lettera a, 1 a becc.Secondo tale codice, la parola "babb "o é codificata come"edeer" ecc;

Page 14: Sistemi Digitali

14

Criteri di valutazione di una codifica

Economicità: sono considerate migliori rispetto a questacaratteristica le codifiche che utilizzano pochi simboli.

Semplicità di codifica e decodifica: é auspicabile potertrasformare un linguaggio da un codice all'altro in modoefficiente

Semplicità di elaborazione: sono preferibili le codificheche consentono di eseguire le operazioni definite sui dati inmodo agevole (ad esempio, sostituendo ai simboli arabi isimboli dei numeri romani, "saltano" il meccanismo delriporto e della posizionalità).

Page 15: Sistemi Digitali

15

Sistemi posizionali

Un sistema numerico posizionale in base b , ovvero basatosu un alfabeto dib simb olidistin , ti consente d i esprimereu n qualsiasi numer onaturale N di mcifre, mediant ela:

Ad esempio, nel sistema decimale (b=10, Σ=0,1,..9), lasequenza N10= 284 può essere espressa come:

N = c

i

i = 0

m − 1

∑ b

i

, c

i

∈ Σ

2x102+8x101+4x10†0

Page 16: Sistemi Digitali

16

Page 17: Sistemi Digitali

17

Codice binarioCodice binario: costituito dai simboli 0 ed 1. I simboli 0ed 1 prendono il nome di bit, una contrazione per "binarydigit".

George Boole dimostrò come la logica possa essere ridottaad un sistema algebrico molto semplice, che utilizza solo uncodice binario (zero e uno, vero e falso).

Il codice binario fu trovato particolarmente utile nellateoria della commutazione per descrivere il comportamentodei circuiti digitali (1=acceso, 0=spento).

Page 18: Sistemi Digitali

18

Sistemi Binari (2)Claude Shannon definì un metodo per rappresentare unqualsiasi circuito costituto da un combinazione diinterruttori (e/o rélais) mediante un insieme di espressionimatematiche, basate sulle regole dell'algebra Booleana.

Un numero naturale booleano di m bit può essererappresentata mediante la:

Il bit c0 , viene detto LSB (less signifying bit) mentre cm-1viene detto bit più significativo , o MSB.

N = c

i

2

i

,

i = 0 .. m − 1

∑ c

i

∈ 0 , 1 }{

Page 19: Sistemi Digitali

19

Page 20: Sistemi Digitali

20

Cambiamenti di base e artimetica in base b

•Numeri Naturali

•Numeri Interi

•Numeri decimali in virgola fissa e mobile

Page 21: Sistemi Digitali

21

RAPPRESENTAZIONE DEI NATURALI

Sistema posizionale (in base b ≥ 2)

c -m i c -2m … c1 c0 = i = 0,…, -1m ci bi

con ci ∈ { 0 , … , b-1 }

Problema : passare da Na a Nb (con N un naturale eda e b le basi desiderate)

Page 22: Sistemi Digitali

22

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:

Na= pii=−m

n∑ ai pi ∈Σa

Page 23: Sistemi Digitali

23

Conversione di base

• Metodo polinomiale:Si esprime il numero Na come un polinomio,

usando i numeri dell’alfabeto b nel polinomioSi valuta il polinomio usando l’aritmetica in

base b

1011.1012 =1×23+1×21+1×20+1×2−1+0×2−2+1×2−3 =

8+2+1+1/2+1/8=(11,625)10

Page 24: Sistemi Digitali

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: 2310=101112 (a=10 e b=2)

23 Q: 11 5 2 1 0

r: 1 1 1 0 1Nota: divido per 2 con l’aritmetica decimale. 2 espresso con codice

binario è la stringa 10!!!

MSB

Page 25: Sistemi Digitali

25

Esempio 2

Esempio 1 : esprimere in base 16 il numero 31710

Pertanto 317 10 = 13D 16

3 1 7 1 6

1 3 1 9 1 6

I. 1

1 0

DD

0

16

3 1NOTATE che, nell’algoritmo sopra descritto, ladivisione va eseguita in base a (cioè nella base delnumero di partenza). Se a≠10, questo può risultarecomplicato.

Page 26: Sistemi Digitali

26

Esempio 3Convertire il numero 102202 da base 3 abase 5

Due strade :

a) eseguire 102202 /3 12 (cioè effettuarela divisione in base 3)

=> DIFFICILE!!!

b) convertire 102202 in base 10 e poiconvertire il risultato in base 5- 102202 3 = 35 + 2⋅33 + 2⋅32 + 2 = 317 10

col procedimento dell'esempio precedente317 10 = 2232 5

Page 27: Sistemi Digitali

27

Conversioni da base 2 a base 2n

Prop. : lavorando il aritmetica in base b si hache1) nm-1 … n1 n0 DIV bi = nm-1 … ni r=ni-1 … n02) nm-1 … n1 n0 MOD bi = ni-1 … n0 (r = resto, MOD = modulo)

Es: 35310 DIV 100 =35 (r=3) 10112 DIV 21

= 101 r=1

Da ciò :Conversione da base 2 a base 2n : considera ibit a n-uple partendo dal meno significativo etraducile in base 2n

Esempio 3 : convertire 100111101 da base 2 abase 4=22

1 00 11 11 01 2 = 1 0 3 3 1 4 (sequenza dei resti per successive divisioni per22)

Page 28: Sistemi Digitali

28

ARITMETICA IN BASE b PER I NATURALI

Tutte le operazioni vengono eseguite come inbase 10 , ma modulo b ( Es.: ( 1 + 1 ) 2 = 10 2 )e quindi anche i riporti e i prestiti agiscono modulo b.

In base 2 si ha:

0+0=0, riporto=00+1=1+0=1. rip=01+1=0, rip=1

Esempio: sommare in base 2 i numeri 1001 e111

1 0 0 1 + 1 1 1 =⏐⏐⏐⏐⏐⏐⏐ 1 0 0 0 0

Page 29: Sistemi Digitali

29

Aritmetica binaria (2)• Sottrazione:

Differenza Prestito

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

Page 30: Sistemi Digitali

30

Aritmetica binaria (2)• Sottrazione:

Differenza Prestito

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

Page 31: Sistemi Digitali

31

Page 32: Sistemi Digitali

32

Page 33: Sistemi Digitali

33

Aritmetica binaria (3)

• Esempio:

011 01011

11000 101000

-10001 - 011001

00111 001111

(24-17=7) (40-25=15)

Page 34: Sistemi Digitali

34

Lunghezza di parolaNota: Un elaboratore lavora con “parole” (stringhebinarie) di lunghezza fissa (diciamo n ). Ladimensione massima e minima dei numerirappresentabili dipende dalla lunghezza di parola.

Quindi:ß se un numero è codificato con meno di n bit

dobbiamo inserire in testa (n-m) zeri nonsignificativi

ß se un numero è codificato con più di n bit :dobbiamo considerare solo le n cifre menosignificative (situazione di errore detta overflow)

Page 35: Sistemi Digitali

35

RAPPRESENTAZIONE DEGLI INTERI

• Rispetto ai naturali, il problema è larappresentazione del segno.• Esistono tre modalità di rappresentazione: inmodulo e segno, in complemento a uno e incomplemento a due.• I primi due rendono le operazioni di somma esottrazione delicate (sono necessari controllipreliminari sul segno e sui valori assoluti deglioperandi)• Col secondo, invece, la sottrazione si eseguesemplicemente come somma dell’opposto (apatto di ignorare l’eventuale overflow derivantedalla somma di numeri negativi).

Page 36: Sistemi Digitali

36

Page 37: Sistemi Digitali

37

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)

2i

i=0

n−2∑ pi ,pi ∈(0,1)

Page 38: Sistemi Digitali

38

Esempi

• +3 = 00000011

• +2 = 00000010

• +1 = 00000001

• +0 = 00000000

• -1 = 11111111

• -2 = 11111110

• -3 = 11111101

Page 39: Sistemi Digitali

39

Descrizione geometrica della rappresentazione di interi in Ca2

Page 40: Sistemi Digitali

40

Range dei Numeri in Ca2• 8 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

Page 41: Sistemi Digitali

41

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

Page 42: Sistemi Digitali

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:

−2n−1pn−1+ 2i pii=1

n−2∑

A'=A+1=−2n−1pn−1+1+ 2i

i=0

n−2∑ pi

2(N1−N2) =2(N1+N2+1)

Page 43: Sistemi Digitali

43

Dimostrazione

• A=-A’A+A’=0

A+A’=

−(pn−1+pn−1)2n−1+1+ 2i

i=0

n−2∑ (pi +pi )=

−2n−1+1+ 2ii=0

n_ 1∑ =−2n−1+1+(2n−1−1)=0

(−2n−1pn−1+ 2ipi)i=1

n−2∑ +(−2n−1pn−1+ 2ipi +1)

i=1

n−2∑ =

Page 44: Sistemi Digitali

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

Page 45: Sistemi Digitali

45

Moltiplicazione

• Complessa

• Funziona con prodotti parziali

• Slittamento dei prodotti parziali

• Somma prodotti parziali

Page 46: Sistemi Digitali

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=0• 10001111 Prodotto (143 dec)• Nota: il risultato ha lunghezza doppia!

Page 47: Sistemi Digitali

47

Divisione

• Più complessa della moltiplicazione

• In particolare per numeri negativi

• In dettaglio nel corso di Arc. II

Page 48: Sistemi Digitali

48

001111

Divisione per Interi senza segno

1011

1101

100100111011001110

1011

1011100

Quoziente

Dividendo

Resto

Resti parziali

Divisore

Page 49: Sistemi Digitali

49

Rappresentazione dei numeri Reali

Virgola fissa e mobile

Page 50: Sistemi Digitali

50

Numeri reali in virgola fissa

Il problema aggiuntivo è la rappresentazione dellaparte intera e di quella frazionaria.

Abbiamo sempre un sistema posizionale (in base b ≥2). I primi m bit rappresentano la parte ,intera i

successivi n la parte .frazionaria

cm−1.... c0

parteintera1 2 4 3 4

c−1c−2...c−n

parte frazionaria1 2 4 3 4

= c ibi

i =m−1

−n∑

con ci ∈ { 0 , … , b-1 }

Page 51: Sistemi Digitali

51

Precisione

NOTA: la precisione con cui i numeri possono essereespressi è f inita e predeterminata perchè questidevono essere memorizzati in un determinato spaziodi memoria

2 = 1 . 141421356

Page 52: Sistemi Digitali

52

Cambiamento di base

Riserva m bit per la parte intera (P.I.) e n bit per la partefrazionaria (P.F.) ( m e n fissati)

trasformare <Ni, Nf >a in <Ni , Nf >b, Ni indica laParte Intera, Nf indica la Parte Frazionaria.

Page 53: Sistemi Digitali

53

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!)

Page 54: Sistemi Digitali

54

Conversione di base

• Esempio

(0,625)10=(0,N’f)8 0,6258=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

Page 55: Sistemi Digitali

55

Esempio 2 : convertire 17,416 in base 2 con 8 bit siaper P.I. che per P.F.

1. 17 10 = 10001 22. - 0,416 * 2 = 0,832

da cui P.I. = 0 P.F. = 0,8320,832 * 2 = 1,664

da cui P.I. = 1 P.F. = 0,664 0,664 * 2 = 1,328

da cui P.I. = 1 P.F. = 0,3280,328 * 2 = 0,656

da cui P.I. = 0 P.F. = 0,656 0,656 * 2 = 1,312

da cui P.I. = 1 P.F. = 0,3120,312 * 2 = 0,624

da cui P.I. = 0 P.F. = 0,6240,624 * 2 = 1,248

da cui P.I. = 1 P.F. = 0,2480,248 * 2 = 0,496

da cui P.I. = 0 P.F. = 0,49Perciò 0,416 10 = 0,01101010 2

17,416 10 = 00010001 , 01101010 2

Page 56: Sistemi Digitali

56

Precisione in virgola fissaN.B.: nell’esercizio precedente la versione binaria èun'approssimazione del numero decimale originale.

Infatti :10001,0110101 2 = 24 + 1 + 2-2 + 2-3 + 2-5 + 2-7 =17,4140625 10

Problema: l'intervallo dei reali rappresentabile èpiccolo e con approssimazioni grossolane

Esempio 2 : avendo a disposizione 32 bit e dandone20 per la P.I. e 12 per la P.F. si haa) P.I. ∈ { 2-19 + 1 , … , 219 - 1 } = { -524287 , … , 524287})b si hann o adisposizion e so 3 lo o4 cifre frazionarie

(infatti 212 = 4096 )

Page 57: Sistemi Digitali

57

Rappresentazione in virgola mobile

Un reale r è rappresentato dalla terna < s , m , e >dove

r = (–1)s · m · be

e gli elementi della terna sono chiamati rispettivamente s=bit di segno , m= mantissa (o significante) e e = esponente, espresso in Ca2.

Page 58: Sistemi Digitali

58

Forma Normalizzata

Tipicamente si adotta una forma normalizzata (tranneche per lo zero) in cui la mantissa è tale che :

1. la sua parte intera è nulla2. la sua parte frazionaria inizia con una cifra non

nulla

Banalmente < s , m , e > soddisfa ciò se e solo seb-1 ≤ m < 1 .

Page 59: Sistemi Digitali

59

Forma Normalizzata ((2)Quindi, adottando la rappresentazione normalizzata,

r = (–1)s · 0,m · be

doves è il bit di segno della mantissam ( m è un intero ) rappresenta la parte frazionariadel numero normalizzato (quindi la mantissa è unintero rappresentato con bit di segno)e è l'esponente, rappresentato in complemento alla base (seb=2, in complemento a 2)

Page 60: Sistemi Digitali

60

CAMBIAMENTO di BASE in virgola mobile

Trasformare < s , ma , ea > in < s , mb , eb >

1. applica il procedimento per numeri in virgolafissa a ( 0,ma · ae ) a ottenendo h , k b

2. mb e eb sono la mantissa e l'esponente normalizzatidi h , k b

Page 61: Sistemi Digitali

61

EsempioNel seguito assumeremo di avere 1 bit per il segno, 8per la mantissa e 4 per l'esponente.

Esempio 3 : convertire in base 2 il numero0,09375 10 = <+,0,9375,-1>

1. applico il procedimento per la P.F., ottenendo 0,09375 10 = 0,00011 2=0,11×2-3

2. la rappresentazione cercata è < 0 , 11000000 2 ,1101 2 >

(-3 in complemento a 2 è appunto 1101)

Page 62: Sistemi Digitali

62

“Range” della rappresentazioneIn base 2, intervallo rappresentato dando M bit allamantissa e E all'esponente :1. i numeri positivi sono

[ 0 ,1 × 2−2 E −1

, 0 ,1 ..... 1 × 22 E −1 −1 ]

M2. i numeri negativi sono

[ −0 ,1 ...... 1 × 22

E −1−1

, −0 , 1 × 2E −1 ]

M

Page 63: Sistemi Digitali

63

Page 64: Sistemi Digitali

64

Page 65: Sistemi Digitali

65

Precisione e Ampiezza

Come si vede, all’aumentare del numerodi bit della mantissa aumenta laprecisione della rappresentazione(diminuiscono gli intervalli fra numeriadiacenti), mentre all’aumentare delnumero di bit dell’esponente aumental’ampiezza del campo dei numerirappresentabili.Occorre dunque trovare un compromesso.

Page 66: Sistemi Digitali

66

STANDARD IEEE 85Per uniformare la gestione della rappresentazione invirgola mobile nei vari sistemi digitali (ad evitare cioèche gli stessi dati elaborati su sistemi digitali diversidiano risultati diversi) l’IEEE ha emesso deglistandard di rappresentazione.

La rappresentazione utilizza una polarizzazione , obias, cioè un valore costante che viene sommatoall’esponente e, per ottenere un esponentepolarizzato .

Page 67: Sistemi Digitali

67

Standard IEEE

NaN è lo standard di rappresentazione di Not aNumber. Inoltre vengono mostrate le convenzioni dirappresentazione per 0 e per infinito.

Page 68: Sistemi Digitali

68

Page 69: Sistemi Digitali

69

Operazioni fra reali in VMMoltiplicazione (in base b )

< s1 , m1 , e1 > * < s2 , m2 , e2 > = < s , m , e >

dove0 se s1 = s2

1. s = 1 altrimenti

2. m ed e sono la mantissa e l'esponentenormalizzati di m1 · m2 · b

e1 + e2

N.B. : attenzione all'overflow degli esponenti!!

Analoga è la formula per la divisione:

m 1 ÷ m 2 ⋅be1 − e 2

.

Page 70: Sistemi Digitali

70

Esempio

Eseguire in base 2 18 * -0,06640625

< 0 , 10010000 , 0101 > * < 1 , 10001000 , 1101 > =

< 1 , 10011001 , 0001 >

Il risultato, convertito in base 10, è correttamente – 1,1953125

Page 71: Sistemi Digitali

71

SommaSomma< s1 , m1 , e1 > + < s2 , m2 , e2 > = < s , m , e >

-se e1 = e2 s1 se ( –1 ) s1 · m1 ≥ ( –1 ) s2 · m2 s =

s2 altrimenti

m ed e sono lenormalizzazioni di ’m ed ’e definiti come:

( )i e = e1

m1 + m2 se s1 = s2 ( )ii m =

| m1 – m2 | altrimenti

Page 72: Sistemi Digitali

72

Somma (2)

altrimenti (sia e1 < e2 )

shift a destra di m1 di e2 – e1 posizioni (inserendo 0 asinistra)

- porta così i numeri allo stesso esponente- procede come al punto precedente

Page 73: Sistemi Digitali

73

Esempioeseguire in base 2 18 – 100

1810=00001010×20=0,10010000×25

10010=01100100×20=0,1100100×27

< 0 , 10010000 , 0101 > – < 1 , 11001000 , 0111 > =( 1=+5, e 2=+7, e e2 – e1=2)

< 0 , 00100100 , 0111 > – < 1 , 11001000 , 0111 >

=< 1 , 10100100 , 0111 >

- 0,10100100×27 = - 01010010×20 = – 82

. .N B : nell'operazione di shift ci può essere perdita di cifre significative!!