1 sistemi digitali. 2 definizione 3 segnali elettronici: giunzione p-n p: zona drogata con lacune n:...

98
1 Sistemi Digitali

Upload: velia-angelini

Post on 01-May-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

1

Sistemi Digitali

Page 2: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

2

Definizione

DEF Sistemi Digitali Sono tutti quegli apparati al cui interno le grandezze fisiche impiegate come segnali sono vincolate ad assumere solo valori discreti. DEF Sistemi Binari Sono quei sistemi digitali in cui i segnali sono limitati a due valori di regime.

Page 3: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

3

Segnali elettronici: giunzione P-N

P: zona “drogata” conlacune

N: zona drogata conelettroni

Zona di “svuotamento”

Page 4: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

4

Segnali elettronici: variazioni di potenziale

I “transistor” si costruiscono con connessioni P-N-P o N-P-N

Aumenta la zona disvuotamento e la differenzadi potenziale

+

Si riduce la zona disvuotamento, la differenzadi potenziale diminuisce

+ -

Page 5: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

5

Segnali analogici e digitali

“0” logico

“1” logico

Page 6: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

6

0

5 Analog Waveform

Time

Vol

tage

(V

)

0

5Digital Waveform

Time

Vol

tage

(V

)

1

0

1

Forme d’onda “idealizzate”

Page 7: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

7

Analisi e Sintesi• Rispetto ai sistemi analogici, nei quali i segnali possono

assumere tutti i possibili valori in un continuo, i sistemi digitali consentono una minore complessità dei dispositivi che devono generare i segnali, ed una maggiore immunità ai disturbi.

• Un sistema digitale é un circuito costituito da componenti elementari e dai collegamenti che li interconnettono.

• Obiettivo: analisi e sintesi di sistemi digitali.

• analisi dal circuito alla specifica formale

• sintesi dalla specifica funzionale al circuito

Page 8: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

8

“Viste” della progettazione digitale.

• Vista comportamentale: descrive le funzioni indipendentemente dall’implementazione (es: progettare un circuito che esegua la somma aritmetica fra due numeri interi )

• Vista strutturale: descrive il modello di interconnessione dei componenti (es: disegno dei componenti digitali elementari e loro interconnessioni)

• Vista fisica: componenti fisici (es. transistors, layout su silicio, tecnologie di integrazione..)

Page 9: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

9

adderX

YX+Y

Comportamentale ofunzionale (qualefunzione)

Strutturale o simbolica (collegamenti)

fisica (layout)

Esempio: sommatore aritmetico

Page 10: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

10

Campi di Applicazione• La progettazione digitale interessa tutti i campi di

applicazione dell'elettronica:• Calcolo Automatico• Telecomunicazioni• Controlli Automatici• Misure Elettriche • ....• In questo corso, oltre ad introdurre i principi generali di

progetto di sistemi digitali, siamo interessati a studiare applicazioni nel campo del Calcolo Automatico.

Page 11: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

11

Aspetti della progettazione digitale

• Come si rappresenta l’informazione (dati, istruzioni, comandi..) in un sistema digitale

• Analisi

• Sintesi

Page 12: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

12

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 13: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

13

Esempi di codici

Codice 1: linguaItaliana

Macchina

Razzo

Aereo

Codice 2:LinguaggioBinario

00

01

10

Codice 1 Codice 2Macchina 00Razzo 01Aereo 10

Page 14: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

14

Codifica e decodifica

• CODIFICA• La codifica di un insieme di informazioni I in un dato codice C é

una funzione f: I C

• Esempio:macchina 00, razzo 01, aereo 01 dove I è un sottoinsieme di parole della lingua italiana, e C è un

sottoinsieme delle parole composte da due simboli binariDECODIFICALa decodifica di una informazione codificata in precedenza é una

corrispondenza g : C I

Page 15: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

15

La funzione di co-decodifica

• La funzione f può essere descritta in modo estensionale, cioè ad ogni simbolo di I si fa corrispondere un simbolo di C (vedi esempio dei mezzi di locomozione)

• La funzione f può viceversa avere una rappresentazione intensiva, come ad esempio il cifrario di Cesare

Page 16: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

16

Cifrario di Cesare: codifica intensiva

• Il cifrario di Cesare, usato nei tempi dell'antica Roma, aveva la seguente funzione di codifica:f: i i+3(modulo 26) i=0,1..25dove al numero 0 corrisponde la lettera a, 1 a b ecc.

• Secondo tale codice, la parola "babbo" é codificata come "edeer" , perché b b+3=e

ecc;

Page 17: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

17

Criteri di valutazione di una codifica

• Economicità: sono considerate migliori rispetto a questa caratteristica le codifiche che utilizzano pochi simboli.

• Semplicità di codifica e decodifica: é auspicabile poter trasformare un linguaggio da un codice all'altro in modo efficiente

• Semplicità di elaborazione: sono preferibili le codifiche che consentono di eseguire le operazioni definite sui dati in modo agevole (ad esempio, sostituendo ai simboli arabi i simboli dei numeri romani, "saltano" il meccanismo del riporto e della posizionalità).

Page 18: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

18

Sistemi posizionali (def) Un sistema numerico posizionale in base b , ovvero basato su un alfabeto di b simboli distinti, consente di esprimere un qualsiasi numero naturale N di m cifre, mediante la: Ad esempio, nel sistema decimale (b=10,=0,1,..9), la sequenza N10= 284 può essere espressa come:

N cii0

m 1 bi , ci

2x102+8x101+4x100

Page 19: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

19

Riassumiamo:• b è la base, cioè il numero di simboli diversi nell’alfabeto (in

base 10 il numero di simboli è 10, e l’alfabeto dei simboli è ={0,1,2,3,4,5,6,7,8,9}

• Nb indica un numero espresso in base b • Quindi ad esempio 1010 e 102 hanno significato diverso anche se

le sequenze di simboli sono le stesse (1 seguito da 0)!! • Ci dovremo dunque occupare di come tradurre una codifica in

un’altra codifica, o di come interpretare una stringa di simboli una volta che ci venga detto il codice utilizzato per generarla

• Esempio:

– caseIT

ENG

Page 20: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

20

Page 21: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

21

Codice binario

• Codice binario: un codice posizionale costituito dai soli simboli 0 ed 1. Quindi, b=2, ={0,1}

• I simboli 0 ed 1 prendono il nome di bit, una contrazione per "binary digit".

• Perchè il codice binario viene utilizzato nel progetto di circuiti digitali?

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

• Il codice binario fu trovato particolarmente utile nella teoria della commutazione (Shannon) per descrivere il comportamento dei circuiti digitali (1=acceso, 0=spento).

Page 22: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

22

Rélais aperto (nonpassa segnale)

Rélais chiuso (ilsegnale passa)

x variabile che descrive lo stato del rélaisx assume valori in {0,1}

..ai tempi di Shannon i commutatori telefonici erano reti di rélais (interruttori)

Shannon introdusse l’alfabeto binario per descrivere lo stato dei rélais

Page 23: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

23

x y

x

y

xyIl segnale passa solo se sia x che y sono 1, cioè i due rélais sono chiusi

xy Il segnale passa se x o y sono “1” cioè, chiusi

Grazie all’algebra di Boole (che vedremo in seguito) non solo lo stato di un rélais, ma un intero circuito si può descrivere mediante una espressione algebrica

I moderni componenti digitali hanno un funzionamentoche approssima quello del rélais: il loro stato può esseredescritto da una variabile binaria, cioè che assume soloI valori 0 o 1 (variabile booleana, da Boole)

Page 24: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

24

Codici binari

• L’alfabeto binario può essere usato per rappresentare lo STATO di un circuito, e, come vedremo, anche le sue funzioni

• Inoltre l’alfabeto binario può essere utilizzato per codificare l’informazione che viene elaborata da un circuito

• Codici binari sono tutti quelli che usano un alfabeto binario per codificare l’informazione

• Informazione: numeri e simboli• Cominciamo con i numeri: i codici saranno diversi a

seconda che si vogliano rapprsentare numeri naturali, interi, reali..

Page 25: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

25

Riassumiamo• Un alfabeto binario può essere usato per

rappresentare lo stato di un componente digitale (aperto/chiuso, acceso/spento)

• Variabili binarie (booleane) ed un insieme di operatori algebrici possono essere usati per esprimere mediante espressioni algebriche la vista comportamentale di un circuito (xy)

• Infine, possiamo utilizzare codici binari per rappresentare le informazioni che entrano, vengono elaborate, ed escono in un circuito digitale (ad esempio gli addendi da sommare in un sommatore, ed il risultato della somma)

Page 26: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

26

1.Rappresentazione dell’informazione numerica

Rappresentzione dei numeri naturali (= interi non negativi)

Page 27: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

27

Rappresentazione binaria di numeri naturali

Un numero naturale booleano di n bit può essere rappresentata mediante la: Il bit c0 , viene detto LSB (less signifying bit) mentre cn-1 viene detto bit più significativo , o MSB.

1,01..0

,2

icni

iicN

Page 28: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

28

Cambiamenti di base e artimetica in base b

•Le regole di codifica, di cambiamento di base e di calcolo variano a seconda che si vogliano rappresentare:

–Numeri Naturali–Numeri Interi–Numeri decimali in virgola fissa e mobile

•Tuttavia tali regole restano le stesse indipendentemente dalla base!

Page 29: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

29

Per ogni insieme di numeri (naturali, interi e reali) vedremo:

• Modalità di rappresentazione in base b• Trasformazione da una base a ad una base b• Aritmetica nella base considerata• Perché ci occupiamo di basi diverse da 2, se i circuiti

digitali usano un alfabeto binario?• Perché le informazioni vengono manipolate da altri

dispositivi (es. tastiere e stampanti) che usano altri codici. Inoltre nei linguaggi di programmazione i numeri possono essere codificati in codici diversi (es. esadecimale), e vengono poi “tradotti” in binario

Page 30: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

30

Cambiamento di base per i numeri naturali

• Problema : convertire un numero N espresso in base a Na in un numero N’ espresso in base b: N’b

Page 31: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

31

Conversione di Base (2)

• Metodo polinomiale: usare l’espressione:

aician

iicaN

1

0

Page 32: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

32

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

1011128

02112122032121011

Page 33: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

33

Conversione di base• Metodo iterativo:1. Si divide N per b (b va espresso in base a e la divisione va fatta in

base a), sia Q il quoziente e r il resto. r è la cifra meno significativo di N’b, poiché r èb

2. (finché Q>0) ripeti: esegui Q/b : quoziente=Q’ resto=r’

Q’Q N’b r’ N’bEsempio: 2310=101112 (a=10 e b=2)

Nota: divido per 2 con l’aritmetica decimale. (2 espresso con codice binario è la stringa 10!!!)

MSBN=23 Q=

r=11 5 2 1 01 1 1 0 1

Page 34: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

34

Osservazioni• Il risultato si ottiene affiancando a sinistra le cifre che

rappresentano i resti delle divisioni per b in base a. • Questi resti saranno sicuramente <b (ad esempio se b è 3, e divido

Na per 3, i resti possibili saranno 0,1 o 2)• Le divisioni vanno fatte nella “matematica” di a, b va espresso in

base a, ed i resti che si accumulano sono in base a. Tutto ok se a>b!! Ma..

• Ma che succede se la base di arrivo è> di quella di partenza?? (ad esempio, a=10 e b=16)

• La base sedici utilizza 16 simboli, 0 1 2 3 4 5 6 7 8 9 A B C D E F, perciò “16” si rappresenta col simbolo F

• Ma le divisioni vanno fatte in base 10, quindi F16=1610

• Inoltre i resti, pur essendo <16, risulteranno espressi in base 10• Quindi alla fine ogni singolo resto va ri-espresso nella base di

arrivo,cioè 16 (quindi se nell’ i-esimo passo r=11, devo trasformarlo in B)

Page 35: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

35

Esempio 2 (da base 10 a base 16)

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

Dividere 31710 per 1610 notate che 1610= F16

La base di arrivo va convertitanella base di partenza!!

Quindi

31710=13D16

1) 317 : 16

Q=19 , r1=1310

1310=D16 (LSB)

2) 19:16Q=1 r2=3

310=316

3) 1:16 Q=0 r3=1 110=116

Page 36: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

36

Provate!!

• 52110 in base 12 = ???

• 0 1 2 3 4 5 6 7 8 9 10 A B

Page 37: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

37

Esempio 3 (se la base dipartenza non è 10)

• Convertire il numero 102202 da base 3 a base 5• Due strade :a) eseguire 1022023 : 123 (Notate: 123=105=510)

Dovrei effettuare la divisione con aritmetica in base 3 DIFFICILE!!!

b) (più semplice) convertire 102202 in base 10 (metodo polinomiale) e poi convertire il risultato in base 5 (resti)

102202 3 = 35 + 233 + 232 + 2 = 317 10

col procedimento dell'esempio precedente 317 10 :5 ecc.Si ottiene 317 10 = 2232 5

Page 38: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

38

Conversioni da base b a base bn

• Prop. : lavorando in aritmetica in base b si ha che

1) nm-1 … n1 n0 DIV bi = nm-1 … ni r= ni-1 … n0

2) nm-1 … n1 n0 MOD bi = ni-1 … n0

(r = resto, MOD = modulo)

Es: 35310 DIV 100 (102)=35 (r=310) 10112 DIV 2(21) = 101 (r=1)

Da ciò :• Conversione da base 2 a base 2n : considera i bit a n-uple

partendo dal meno significativo e traducile in base 2n

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

1 00 11 11 01 2 = 1 0 3 3 1 4

Page 39: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

39

Esempio

• Converti 101001101101 da base 2 a base 8 e 16• 8=23 16=24

• Prima conversione: dividi in triple e converti 101 001 101 101 5 1 5 5 dunque 51558

• 1010 0110 1101 A 6 D dunque A6D16

• Notate: nel dividere in gruppi da “k” bit il gruppo di bit più significativi potrebbe avere meno di k bit se la stringa di partenza non ha m=nk bit; in tal caso vanno aggiunti degli zeri

• Es: converti 1001101101 da base due a base 8: 001 001 101 101

Page 40: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

40

ARITMETICA IN BASE b PER I NATURALI

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

Page 41: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

41

Somma

In base 2 si ha: 0+0=0, riporto=0 0+1=1+0=1. rip=0 1+1=0, rip=1 Esempio: sommare in base 2 i numeri 1001 e 111 1 0 0 1 + 1 1 1 = 1 0 0 0 0

Page 42: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

42

Sottrazione• 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 43: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

43

Sottrazione (2)

• Esempio (l’avanzo si propaga verso sinistra!!):

011 01011

11000 101000

-10001 - 011001

00111 001111

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

Page 44: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

44

Moltiplicazione

• Complessa

• Funziona con prodotti parziali

• Slittamento dei prodotti parziali

• Somma prodotti parziali

Page 45: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

45

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 46: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

46

Divisione

• Più complessa della moltiplicazione

• In particolare per numeri negativi

• In dettaglio nel corso di Arc. Elab. (II sem)

Page 47: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

47

001111

Divisione per Interi senza segno

1011

1101

100100111011001110

1011

1011100

Quoziente

Dividendo

Resto

Resti parziali

Divisore

Page 48: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

48

Lunghezza di parola: di quante cifrein base b abbiamo bisogno per rappresentare un numero Nb?

• Nota: Un elaboratore lavora con “parole” (stringhe binarie) di lunghezza fissa (diciamo W ). La dimensione massima e minima dei numeri rappresentabili dipende dalla lunghezza di parola. In base due, posso rappresentare numeri naturali fra 0 e 2W-1

Quindi:• se un numero è codificato con m <W bit dobbiamo inserire in

testa (W-m) zeri non significativi• se un numero è codificato con m> W bit : dobbiamo

considerare solo le W cifre meno significative del numero (situazione di errore detta overflow)

Page 49: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

49

Rappresentazione dell’informazione numerica

2) Rappresentazione dei numeri interi (positivi e

negativi)

Page 50: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

50

RAPPRESENTAZIONE DEGLI INTERI POS E

NEG• Rispetto ai naturali, il problema è la rappresentazionedel segno. • Esistono tre modalità di rappresentazione:

– in modulo e segno, – in complemento a uno e – in complemento a due.

• I primi due rendono le operazioni di somma e sottrazione delicate (sono necessari controlli preliminari sul segno e sui valori assoluti degli operandi)

• Col secondo, invece, la sottrazione si esegue semplicemente come somma dell’opposto (a patto di ignorare l’eventuale overflow derivante dalla somma di numeri negativi).

Page 51: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

51

Rappresentazione con modulo e segno

• Data una sequenza di simboli cn-1cn-2..c0,

cn-1 rappresenta il SEGNO e non concorre a rappresentare il valore assoluto del numero

• 1011 - 011 -310

• Quindi se ho n bit, uno va “perso” per codificare il segno. In valore assoluto, con n bit, rappresento un range di numeri da –(bn-1 – 1) a +(bn-1-1)

• Es con n=4 min 1111= -111=-7 e max 0111=+7

Page 52: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

52

Rappresentazione in complemento a 2 (Ca2):

2N = -bn-1c n-1+

)1,0(,2

0

icic

n

i

ib

L’espressione per rappresentare col metodo polinomialeun intero N in Ca2 in base b è:

Page 53: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

53

Esempi (in base 2 e con n=8)

• +3 = 00000011

• +2 = 00000010

• +1 = 00000001

• +0 = 00000000

• -1 = 11111111

• -2 = 11111110

• -3 = 11111101

Page 54: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

54

Verifica

• Il digit più significativo non ha valore i segno ma concorre al calcolo del numero!! Applicando la formula, si ha:

3125128021221

32142152162172-111111101

Page 55: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

55

Page 56: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

56

Descrizione geometrica della rappresentazione di interi in Ca2

Page 57: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

57

Range dei Numeri in Ca2 (max e min interi rappresentabili con W cifre)

• 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 58: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

58

Range di rappresentazione

• In generale con n bit, il range va da

2n-1 -1 a -2n-1

• E in base b2?

Page 59: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

59

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 60: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

60

Artimetica dei numeri interi in Ca2

• Il vantaggio è che somma e sottrazione si eseguono (quasi) nello stesso modo (mentre con la rappresentazione col segno devo considerare separatamente la parte della stringa che rappresenta il numero, ed il bit di segno, ed eseguire i calcoli in modo diverso a seconda dei casi)

Page 61: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

61

Sottrazione in complemento a 2

• Sia A un intero binario espresso in complemento a 2:N=

Invertiamo tutti i bit di N e sommiamo 1:

Si dimostra che N’= - N !!!! Ne consegue:

2

121

12n

iici

ncn

icn

i

incnNN

2

0211

121'

2(N1 N2) 2 (N1 N2 1)

Page 62: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

62

Dimostrazione

• -N2=N2+1 N2+N2+1=0

N2+N2+1=

0)12(12212

)(212)(

112

0

1

2

0

111

nn

n

i

in

ii

n

i

innn pppp

( 2n 1 pn 1 2i pi )i1

n 2 ( 2n 1 pn 1 2i pi 1)

i1

n 2

1

Page 63: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

63

Sottrazione in Ca2

• 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 64: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

64

Corollario (-N=N+1)

• Per trasformare un numero negativo –N da base 10 a base 2 in Ca2:1) Applicare il metodo polinomiale a N come se fosse un numero naturale (es. se –N è -8, ricavare la rappresentazione di 8: 1000)2) Se il MSB è zero, la rappresentazione ottenuta è la stessa in Ca2. Altrimenti, si aggiunga uno zero a sinistra (nell’esempio, +8 in Ca2 è 01000)3)Si complementano tutti i bit di +N e si somma 1 (nell’esempio, si ottiene 10111+1=11000 che è proprio -8 (-16+8=-8)

Page 65: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

65

3) Rappresentazione dei numeri Reali

Virgola fissa e mobile

Page 66: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

66

3.1) Numeri reali in virgola fissa

• Il problema aggiuntivo è la rappresentazione della parte 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.

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

cm 1....c0parteintera c 1c 2...c n

parte frazionaria cib

i

im 1

n

Page 67: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

67

Precisione

NOTA: la precisione con cui i numeri frazionari possono essere espressi è finita e predeterminata perchè questi devono essere memorizzati in un determinato spazio di memoria

2 1.141421356

Page 68: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

68

Cambiamento di base

Trasformare <Ni, Nf >a in <Ni , Nf >b, Ni indica la Parte Intera, Nf indica la Parte Frazionaria, e, ad esempio, Nia indica la parte intera di N in base a. Riserva m bit per la parte intera (P.I.) e n bit per la parte frazionaria (P.F.) ( m e n fissati)

Page 69: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

69

Conversione di base

• Metodo polinomiale (da base b a base 10)

cm 1....c0parteintera c 1c 2...c n

parte frazionaria cib

i

im 1

n

Es: 1011,011 =

375,11125,025,011321221

120021121220321

Page 70: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

70

Conversione di base (da base 10 a b)• Metodo iterativo, parte intera: come per i numeri interi (divisioni

ripetute di Nia per b, nell’aritmetica in base a)

• Metodo iterativo, parte frazionaria

1. Si moltiplica Nfa per b (sempre con l’aritmetica di a!!) . Il prodotto sia p=pi,pf (es

0,46)

pi è la cifra più significativa di N’fb (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 71: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

71

Conversione di base (metodo iterativo, parte frazionaria)

• 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 72: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

72

Esempio 2 : convertire 17,416 in base 2 con 8 bit sia per P.I. che per P.F.1. converti parte intera : 17 10 = 10001 2

2. converti parte frazionaria

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,6640,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,6560,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,49

Perciò 0,416 10 = 0,01101010 2

17,416 10 = 00010001 , 01101010 2

Page 73: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

73

Precisione in virgola fissaN.B.: nell’esercizio precedente la versione binaria è un'approssimazione del numero decimale originale. Infatti (passando di nuovo da base 2 a base 10 col metodo polinomiale): 10001,0110101 2 = 24 + 1 + 2-2 + 2-3 + 2-5 + 2-7 = 17,4140625 10 (anziché 17,416) Problema: l'intervallo dei reali rappresentabile è piccolo e con approssimazioni grossolane Esempio 2 : avendo a disposizione 32 bit e assegnandone 20 per la P.I. e 12 per la P.F. si ha (in rappr. con modulo e segno) a) P.I. {- 2-19 + 1 , … , 219 - 1 } = { -524287 , … , 524287 } b) per la P.F si hanno a disposizione solo 3 o 4 cifre frazionarie (infatti 212 = 4096 )

Page 74: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

74

3.2) 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), espressa come un numero naturale in base b e = esponente , espresso in CaN (complemento a N).

Page 75: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

75

Forma Normalizzata

Tipicamente si adotta una forma normalizzata (tranne che per lo zero) in cui la mantissa è tale che : 1. la sua parte intera è nulla 2. la sua parte frazionaria inizia con una cifra non nulla (es 0,10112)

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

Es: Se b=10 m [0,1 1)

Page 76: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

76

Forma Normalizzata ((2)

• Quindi, adottando la rappresentazione normalizzata,r = (–1)s · 0,m · be

dove:• s è il bit di segno della mantissa• m ( m è un intero ) rappresenta la parte frazionariaparte frazionaria del numero normalizzato (quindi la mantissa è un intero rappresentato con bit di segno)• e è l'esponente, rappresentato in complemento a N (ad esempio, in complemento a 2)

Page 77: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

77

CAMBIAMENTO di BASE in virgola mobile

Trasformare Na: < s , ma , ea > in Nb: < s , mb , eb >

1. trasforma la tripla < s , ma , ea > in un numero

in virgola fissa eams ,0)1( =(h,k)a 2. applica il procedimento per numeri in virgola

fissa: (h,k) a ottenendo ( h , k) b 3. Passa di nuovo dalla forma in virgola fissa a

quella in virgola mobile. mb e eb sono la mantissa e l'esponente normalizzati di (h , k) b

Page 78: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

78

EsempioNel seguito assumeremo di avere 1 bit per il segno, 8 per la mantissa e 4 per l'esponente. Esempio 3: convertire in base 2 il numero <+,0,9375,-1>: 1. Trasformo Na in virgola fissa: <+,0,9375,-1>=0,9375x10-1=0,09375 10 2. applico il procedimento iterativo per la P.F., ottenendo: 0,09375 10 = 0,00011 2 3. Trasformo Nb in virgola mobile : 0,112-3 4. la rappresentazione cercata, in forma di tripla, è: < 0 , 11000000 2 ,

21101 > (nota: -3 in complemento a 2 è appunto 1101)

Page 79: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

79

Range dei numeri in v.m.

• Supponiamo di avere M bit di mantissa e E di esponente

• La mantissa va da -0,11…1 a -0,10..0 (M bit dopo la virgola) per i numeri negativi e da +0,10..0 a +0,11..1 per i positivi

• L’esponente, in Ca2, va da -2E-1 a +2E-1-1

Page 80: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

80

“Range” della rappresentazione in v.m. (2)

Mettendo assieme :

1. i numeri positivi sono [0,12 2E 1,0,1.....122E 1 1 ]

M 2.i numeri negativi sono

[ 0,1......122E1 1, 0,12E 1]

M

Page 81: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

81

Esempio• Con 4 bit di mantissa, il range della mantissa (in

valore assoluto) è:

[1000,1111] in decimale: [0.5, 0.875]

• Con 3 bit di esponente in Ca2, il range degli esponenti positivi è: [000,011] cioè [0,+3]

esponenti negativi [100,111] cioè [-4,-1]

0

0,5x2-4-0,5x2-4 0,875x23-0,875x23

Page 82: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

82

Relazione fra numero di bit di M ed E (a parità di M+E)

E=4 e M=4 bit0,5x23

Page 83: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

83

Relazione fra numero di it di M ed E

E=3 M=5

Page 84: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

84

Precisione e Ampiezza

Come si vede, all’aumentare del numero di bit della mantissa aumenta la precisione della rappresentazione (diminuiscono gli intervalli fra numeri adiacenti), mentre all’aumentare del numero di bit dell’esponente aumenta l’ampiezza del campo dei numeri rappresentabili. Occorre dunque trovare un compromesso.

Page 85: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

85

STANDARD IEEE Per 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.

Es. IEEE 724 a 32 bit: n=(s)-1x0,mxb(e-127)

Page 86: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

86

Standard IEEE

NaN è lo standard di rappresentazione di “Not a Number”. Inoltre vengono mostrate le convenzioni di rappresentazione per 0 e per infinito.

Page 87: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

87

Page 88: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

88

Es: Conversione in virgola mobile• Conversione in virgola mobile del numero -11,0625 utilizzando una

rappresentazione con 1 bit di segno, 8 bit di mantissa e 4 di esponente in complemento a 2.

• Passo 1. Si converte il numero da decimale a binario

1.a) Conversione parte intera (divisioni successive per b(2) in base a(10)11: 25 12 1

1 00 1 Quindi (11)10 = (1011)2

Page 89: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

89

Conversione virgola mobile1b) Conversione parte decimale

0.0625 x 2 = 0.1250.125 x 2 = 0.250.25 x 2 = 0.50.5 x 2 = 1.0

Quindi (0.0625)10 = (0.0001)2

da cui (11.0625)10 = (1011.0001)2

Page 90: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

90

Conversione virgola mobile• Passo 2. Determinazione del segno-11.0625 è negativo quindi S=1• Passo 3. Determinazione della mantissaLa mantissa contiene tutte le cifre significative del numero, a partire dall’1

più significativo, eventualmente trascurando le meno significative se il loro numero è maggiore del numero di bit a disposizione

Quindi M = 10110001che, per definizione, rappresenta il valore 0.10110001 (si sottintende che

la virgola sia posizionata immediatamente a sinistra della cifra più significativa)

Page 91: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

91

Conversione virgola mobile• Passo 4. Determinazione dell’esponente

– Dalla definizione della rappresentazione in virgola mobile un numero n è uguale a:

n = S x M x 2E – Poiché una moltiplicazione per una potenza positiva della base

equivale ad uno spostamento verso destra della virgola di un numero di posizioni pari all’esponente, e poiché il numero da rappresentare ha la virgola 4 posizioni più a destra rispetto al numero rappresentato dalla sola mantissa, l’esponente dovrà essere uguale a 4.

1011,0001 -> 0,10110001

Page 92: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

92

Conversione virgola mobile

• In complemento a due su 4 bit, rappresentazione con cui posso rappresentare i numeri interi relativi da -8 a +7, 4 è rappresentato da 0100

• Infatti, poiché 4 un numero positivo, non lo devo complementare e lo rappresento come il corrispondente numero naturale.

• Quindi la rappresentazione di -11.0625 in virgola mobile, con 8 bit di mantissa, 4 di esponente e 1 di segno, è la seguente

S=1 M=10110001 E=0100

Page 93: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

93

Aritmetica in VMMoltiplicazione (in base b ) < s1 , m1 , e1 > * < s2 , m2 , e2 > = < s , m , e > dove 0 se s1 = s2 1. s = 1 altrimenti 2. m ed e sono la mantissa e l'esponente normalizzati di m1 · m2 · b

e1 + e2 N.B. : attenzione all'overflow degli esponenti!! Analoga è la formula per la divisione: m1m2b

e1 e2.

Page 94: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

94

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 95: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

95

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 le normalizzazioni di m’ ed e’ definiti come : (i) e = e1 m1 + m2 se s1 = s2 (ii) m = | m1 – m2 | altrimenti

Page 96: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

96

Somma (2) altrimenti (sia e1 < e2 ) slitta a destra m1 di e2 – e1 posizioni (inserendo 0 a sinistra)

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

Page 97: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

97

Esempio 1

• <+,1100,001> + <-,1111,011>1. s= - perché e1<e2 (+1<+3)2. Sposta mantissa m1 di due posizioni a destra e

aumenta l’esponente di due, poiché (e2-e1)=23. m=|m1-m2| = (1111-0011)=11004. Poiché m è normalizzata, non c’è altro da fare.

Il risultato è <-,1100,011>

Page 98: 1 Sistemi Digitali. 2 Definizione 3 Segnali elettronici: giunzione P-N P: zona drogata con lacune N: zona drogata con elettroni Zona di svuotamento

98

Esempio 2eseguire in base 2 18 – 100 1810=0001001020=0,1001000025

10010=0110010020=0,110010027 < 0 , 10010000 , 0101 > – < 1 , 11001000 , 0111 > =(e1=+5, e2=+7, e2 – e1=2) < 0 , 00100100 , 0111 > – < 1 , 11001000 , 0111 > =< 1 , 10100100 , 0111 > - 0,1010010027 = - 0101001020 = – 82 N.B. : nell'operazione di shift ci può essere perdita di cifre significative !!

1. Esprimi in formanormalizzata

2.Confronta esponenti

3.Allinea esponenti e slitta mantissa

4. Risultato