La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 Tabella riassuntiva aritmeticaTabella riassuntiva aritmetica CodiciCodici Aritmetica a virgola.

Presentazioni simili


Presentazione sul tema: "A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 Tabella riassuntiva aritmeticaTabella riassuntiva aritmetica CodiciCodici Aritmetica a virgola."— Transcript della presentazione:

1 A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 Tabella riassuntiva aritmeticaTabella riassuntiva aritmetica CodiciCodici Aritmetica a virgola mobileAritmetica a virgola mobile

2 A.S.E.7.2 Tabella Riassuntiva Con riferimento a una word di “n” bit, si ha:Con riferimento a una word di “n” bit, si ha: K = 2 n K = 2 n H =2 n-1H =2 n-1 W numero in base 2 da convertireW numero in base 2 da convertire W’ numero convertitoW’ numero convertito

3 A.S.E.7.3 Modulo e segno Somma [-2 n-1 <(X+Y)<2 n-1 ]Somma [-2 n-1 <(X+Y)<2 n-1 ] X= -1 s xX= -1 s x * Valido se |X| > |Y|. Scambiare X e Y se |Y| > |X|. Il segno del risultato è il segno del numero con modulo maggiore.

4 A.S.E.7.4 Traslazione Somma [-2 n-1  (X+Y)<2 n-1 ]Somma [-2 n-1  (X+Y)<2 n-1 ] X=x+T  x=X-T  OperazioniX=x+T  x=X-T  Operazioni –Attenzione: si è assunto T=2 n-1 ma non è necessario (vedi virgola mobile)

5 A.S.E.7.5 Complemento a 1 Somma [-2 n-1 <(X+Y)<2 n-1 ]Somma [-2 n-1 <(X+Y)<2 n-1 ] X=x se >0, 2 n -1-|x| se 0, 2 n -1-|x| se <0 Osservare che K non è possibile rappresentarlo su n bitOsservare che K non è possibile rappresentarlo su n bit * se il risultato è negativo è già rappresentato in C. 1, non è necessaria la correzione* se il risultato è negativo è già rappresentato in C. 1, non è necessaria la correzione ** è sempre necessario aggiungere 1 per ottenere il risultato in C. 1** è sempre necessario aggiungere 1 per ottenere il risultato in C. 1

6 A.S.E.7.6 Esempi Parola di 4 bitParola di 4 bit = 75 + (-3) = 2(-5) + 3 = (-2) = 75 + (-3) = 2(-5) + 3 = (-2) (- 4) +(-3) = =11 (-6) + (-5) =(-11)(- 4) +(-3) = =11 (-6) + (-5) =(-11)

7 A.S.E.7.7 Complemento a 2 Somma [-2 n-1  (X+Y)<2 n-1 ]Somma [-2 n-1  (X+Y)<2 n-1 ] X=2 n +xX=2 n +x Osservare che K non è possibile rappresentarlo su n bitOsservare che K non è possibile rappresentarlo su n bit *Per X < |Y| il risultato è rappresentato in C. 2 *Per X < |Y| il risultato è rappresentato in C. 2 **Per Y < |X| il risultato è rappresentato in C. 2**Per Y < |X| il risultato è rappresentato in C. 2 ***Il risultato è rappresentato in C. 2***Il risultato è rappresentato in C. 2

8 A.S.E.7.8 Esempi Parola di 4 bitParola di 4 bit = 75 + (-3) = 2(-5) + 3 = (-2) = 75 + (-3) = 2(-5) + 3 = (-2) (- 4) +(-3) = =11 (-6) + (-5) =(-11)(- 4) +(-3) = =11 (-6) + (-5) =(-11)

9 A.S.E.7.9 Osservazioni Se la word si estende “K” bit si haSe la word si estende “K” bit si ha per numeri positivi si aggiungono in testa K zeriper numeri positivi si aggiungono in testa K zeri per numeri negativi si aggiungono in testa K unoper numeri negativi si aggiungono in testa K uno EsempioEsempio Word di 4 bit Word di 6 bit

10 A.S.E.7.10 Estensione di segno Prova:Prova: –In C2, X=|x+2 n | 2^n =X n xse x>0 X m =| x+2 m | 2^m = | 2 n +x+2 m -2 n | 2^m = | X n +2 m -2 n | 2^m se x 0 X m =| x+2 m | 2^m = | 2 n +x+2 m -2 n | 2^m = | X n +2 m -2 n | 2^m se x<0 –Ma |2 m -2 n | 2^m = 10…000…0 – 00…010…0 01…110…0 1…11 X n e X n =1xxxxx in quanto <0 quindi 1…111xxxx se x<0 0…000xxxxse x>0 0…000xxxxse x>0 2n2n 2m2m

11 A.S.E.7.11 Codici E’ possibile rappresentare con notazione binaria insiemi di simboli arbitrariE’ possibile rappresentare con notazione binaria insiemi di simboli arbitrari Cio’ avviene attraverso dei codici, che associano ad ogni simbolo un numero binarioCio’ avviene attraverso dei codici, che associano ad ogni simbolo un numero binario Codici di comune impiego sono:Codici di comune impiego sono: –BCD –Gray –ASCII –….

12 A.S.E.7.12 BCD (Binary-Coded Decimal numbers) Necessità di rappresentare i numeri decimali in codice binarioNecessità di rappresentare i numeri decimali in codice binario 8421 BCD si codifica in binario ciascuna cifra decimale utilizzando i primi 10 numeri binari su 4 bitsi codifica in binario ciascuna cifra decimale utilizzando i primi 10 numeri binari su 4 bit EsempioEsempio è possibile eseguire somme e sottrazioni in BCDè possibile eseguire somme e sottrazioni in BCD

13 A.S.E.7.13 BCD – Sette Segmenti Per visualizzare le cifre decimali si usa frequentemente un Display a sette segmentiPer visualizzare le cifre decimali si usa frequentemente un Display a sette segmenti È possibile realizzare un codificatoreÈ possibile realizzare un codificatore BCD SETTE SEGMENTIBCD SETTE SEGMENTI a b c e f d g

14 A.S.E.7.14 Tabella di verità La tabella di verità risultaLa tabella di verità risulta 8421abcdefg

15 A.S.E.7.15 Codice di Gray Nel mondo reale, ad esempio nelle trasmissioni, i bit possono venire affetti da erroreNel mondo reale, ad esempio nelle trasmissioni, i bit possono venire affetti da errore Nella codifica binaria, l’effetto dell’errore dipende dal bit “colpito”Nella codifica binaria, l’effetto dell’errore dipende dal bit “colpito” –Supponiamo di trasmettere x=01101 (=13| 10 ) –Se il bit 0 viene affetto da errore (=x-x’) riceviamo x’=01100 = 12| 10  |errore| = 1 –Se il bit 4 viene affetto da errore riceviamo x’=11101 = 29| 10  |errore| = 16 La codifica binaria non e’ robusta nei confronti di erroriLa codifica binaria non e’ robusta nei confronti di errori

16 A.S.E.7.16 Codice di Gray Nel codice Gray, due numeri consecutivi differiscono per un solo bitNel codice Gray, due numeri consecutivi differiscono per un solo bit Esempio su 2 bit:Esempio su 2 bit: Su 3 bitSu 3 bit Utile nelle macchine asincrone

17 A.S.E.7.17 Codici a rilevamento di errore Si puo’ aggiungere ridondanza ai dati per poter rilevare errori sulla parolaSi puo’ aggiungere ridondanza ai dati per poter rilevare errori sulla parola L’esempio piu’ semplice e’ il bit di parita’L’esempio piu’ semplice e’ il bit di parita’ –Data una parola su n bit, si aggiunge un n+1 esimo bit di valore pari ad 1 se e solo se il numero di ‘uni’ nella parola e’ dispari  ,   ,  In questo modo, la parola complessiva ha sempre parita’ pari a 0 se non ci sono erroriIn questo modo, la parola complessiva ha sempre parita’ pari a 0 se non ci sono errori –Qualunque errore di un singolo bit viene rilevato –Errori multipli possono passare inosservati

18 A.S.E.7.18 Errori nella rappresentazione In generale, la rappresentazione con un numero finito di cifre di un numero reale introduce erroreIn generale, la rappresentazione con un numero finito di cifre di un numero reale introduce errore Se lavoriamo con interi, possiamo convertire un numero decimale attraverso l’arrotondamento o il troncamentoSe lavoriamo con interi, possiamo convertire un numero decimale attraverso l’arrotondamento o il troncamento –11.6  12 (arr.) o 11 (tronc.) –  (arr.) o (tronc.) Per numeri frazionari si procede in maniera analogaPer numeri frazionari si procede in maniera analoga – su 2 cifre decimali  (sia arr. che tronc.)

19 A.S.E.7.19 Errori di rappresentazione Attenzione ai numeri negativi in C2Attenzione ai numeri negativi in C2 –  -12 (arr.) o –11(tronc.) –In C2  = = *2 3 = *2 3 = –Arr.  = tronc.  = -12 Il troncamento in C2 tronca verso -  !Il troncamento in C2 tronca verso -  !

20 A.S.E.7.20 Errori di rappresentazione Detta x * la rappresentazione di x, si definiscono due errori:Detta x * la rappresentazione di x, si definiscono due errori: –Errore assoluto:  A =|x-x * | –Errore relativo:  R =|x-x * |/|x| Supponiamo di operare con 3 cifre intere e 1 decimaleSupponiamo di operare con 3 cifre intere e 1 decimale –   A =0.0008,  R = –   A =0.0008,  R = Inoltre, supponiamo di voler rappresentare distanze per uso scientifico:Inoltre, supponiamo di voler rappresentare distanze per uso scientifico: –Atomi: m –Galassie: m

21 A.S.E.7.21 Rappresentazione esponenziale La rappresentazione fixed point (e quindi quella intera) hanno in  A costanteLa rappresentazione fixed point (e quindi quella intera) hanno in  A costante Esistono rappresentazioni con  R costanteEsistono rappresentazioni con  R costante – = – = Evidentemente,  A e’ molto diverso nei due casiEvidentemente,  A e’ molto diverso nei due casi In generale, d 0. d -1 d -2 d -3 …d -n 10 espon.In generale, d 0. d -1 d -2 d -3 …d -n 10 espon. –d 0  0 –In base 2, l’unica cifra diversa da 0 e’ 1….

22 A.S.E.7.22 Rappresentazione esponenziale La parte frazionaria viene rappresentata in modulo&segno, l’esponente in traslazioneLa parte frazionaria viene rappresentata in modulo&segno, l’esponente in traslazione In binario, b 0. b -1 b -2 b -3 …b -n 2 espon.+trasl = 1. b -1 b -2 b -3 …b -n 2 espon.+traslIn binario, b 0. b -1 b -2 b -3 …b -n 2 espon.+trasl = 1. b -1 b -2 b -3 …b -n 2 espon.+trasl Quindi possiamo sottintendere la cifra b 0 =1 e non rappresentarlaQuindi possiamo sottintendere la cifra b 0 =1 e non rappresentarla  0.101| 2  =  0.101| 2  = –Si e’ usato traslazione 011 –Si rappresentano solo le cifre sottolineate

23 A.S.E.7.23 Standard IEEE-754 s 1. b -1 b -2 b -3 …b -n 2 exps 1. b -1 b -2 b -3 …b -n 2 exp s – bit di segno, 0  ’+’, 1  ’-’s – bit di segno, 0  ’+’, 1  ’-’ b -1 b -2 b -3 …b -n – parte frazionaria o mantissab -1 b -2 b -3 …b -n – parte frazionaria o mantissa exp – esponenteexp – esponente N N exp Trasl. Singola Prec Doppia Prec

24 A.S.E.7.24 Standard IEEE-754 Valori Speciali dell'Esponente:Valori Speciali dell'Esponente: esponente = 255esponente = 255 –mantissa = 0  infinito con segno +/-INF –mantissa != 0  NaN (not a number, ad es., 0/0, infinito – infinito) esponente = 0esponente = 0 –mantissa = 0  zero –mantissa != 0  denormalizzato (-1) s (0.m)( )

25 A.S.E.7.25 Aritmetica in Virgola Mobile Consideriamo X=X M xB XEConsideriamo X=X M xB XE Somma Z = X+Y=(X M 2 XE-YE +Y M ) x2 YESomma Z = X+Y=(X M 2 XE-YE +Y M ) x2 YE Sottrazione Z = X-Y=(X M 2 XE-YE -Y M ) x2 YESottrazione Z = X-Y=(X M 2 XE-YE -Y M ) x2 YE Moltiplicazione Z = XxY=(X M xY M ) x2 XE+YEMoltiplicazione Z = XxY=(X M xY M ) x2 XE+YE Divisione Z = X÷Y=(X M ÷Y M )x2 XE-YEDivisione Z = X÷Y=(X M ÷Y M )x2 XE-YE Somma e sottrazione sono più complesse di moltiplicazione e divisione!Somma e sottrazione sono più complesse di moltiplicazione e divisione! –Occorre allineare gli esponenti prima di effettuare l’operazione Slides adattate da webservices.polito.it/.../architettura_dei_calcolatori/ lucidi/aa /aritm-virg-mob.PDF

26 A.S.E.7.26 Somma e Sottrazione Richiedono che gli esponenti siano uguali prima di eseguire la somma (sottrazione) delle mantisse.Richiedono che gli esponenti siano uguali prima di eseguire la somma (sottrazione) delle mantisse. La sottrazione può essere ricondotta alla somma cambiando il segno del sottraendo.La sottrazione può essere ricondotta alla somma cambiando il segno del sottraendo. La procedura si compone di 4 passi:La procedura si compone di 4 passi: –identificazione di operandi nulli –allineamento degli esponenti –somma o sottrazione delle mantisse –normalizzazione del risultato.

27 A.S.E.7.27 Identificazione di Operandi Nulli

28 A.S.E.7.28 Allineamento degli Esponenti

29 A.S.E.7.29 Somma/Sottrazione delle Mantisse

30 A.S.E.7.30 Normalizzazione del Risultato

31 A.S.E.7.31 Moltiplicazione e Divisione Si compongono delle seguenti fasi:Si compongono delle seguenti fasi: –identificazione di operandi nulli –somma/sottrazione degli esponenti –moltiplicazione/divisione delle mantisse –normalizzazione e arrotondamento.

32 A.S.E.7.32 Somma/Sottrazione degli Esponenti

33 A.S.E.7.33 Polarizzazione dell’Esponente Se si esegue la somma/sottrazione su esponenti polarizzati,Se si esegue la somma/sottrazione su esponenti polarizzati, al termine è necessario sottrarre o sommare il valore dellaal termine è necessario sottrarre o sommare il valore della polarizzazione.polarizzazione. EsempioEsempio Si supponga che il valore di polarizzazione sia 8.Si supponga che il valore di polarizzazione sia 8. X E = 15 = 7+8X E = 15 = 7+8 Y E = 5 = -3+8Y E = 5 = = = Correzione: si sottrae 8.Correzione: si sottrae 8.

34 A.S.E.7.34 Situazioni Particolari Se la mantissa diventa nulla, bisogna azzerare anche l’esponente.Se la mantissa diventa nulla, bisogna azzerare anche l’esponente. Nel caso di overflow ed underflow derivanti da operazioni sulla mantissa, si può riparare scalando la mantissa e incrementando/decrementando l'esponente.Nel caso di overflow ed underflow derivanti da operazioni sulla mantissa, si può riparare scalando la mantissa e incrementando/decrementando l'esponente. Nel caso di underflow ed overflow dell'esponente si deve produrre una segnalazione di errore.Nel caso di underflow ed overflow dell'esponente si deve produrre una segnalazione di errore.


Scaricare ppt "A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 Tabella riassuntiva aritmeticaTabella riassuntiva aritmetica CodiciCodici Aritmetica a virgola."

Presentazioni simili


Annunci Google