200 likes | 344 Views
ARCHITETTURA DEI SISTEMI ELETTRONICI. LEZIONE N° 14 Rappresentazione esponenziale Virgola mobile Operazioni in virgola mobile Algoritmi per le operazioni. Richiami. Interi assoluti Somma, sottrazione Moltiplicazione Interi relativi Somma, sottrazione Moltiplicazione Virgola mobile
E N D
ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 14 • Rappresentazione esponenziale • Virgola mobile • Operazioni in virgola mobile • Algoritmi per le operazioni A.S.E.
Richiami • Interi assoluti • Somma, sottrazione • Moltiplicazione • Interi relativi • Somma, sottrazione • Moltiplicazione • Virgola mobile • Errori di rappresentazione A.S.E.
Rappresentazione esponenziale • La rappresentazione fixed point (e quindi quella intera) hanno in A costante • Esistono rappresentazioni con R costante • 31415.9212 = 3.141592 104 • 0.00314159212 = 3.141592 10-3 • Evidentemente, A e’ molto diverso nei due casi • In generale, d0. d-1 d-2 d-3 …d-n 10espon. • d0 0 • In base 2, l’unica cifra diversa da 0 e’ 1…. A.S.E.
Virgola mobile 1 • Dato un generico numero reale W* • Si può rappresentare in complemento a due con N bit utilizzando W tale che: • Esempio N = 10 (+esponente 6 bit) mantissa esponente A.S.E.
Virgola mobile 2 • Fra tutte le rappresentazioni possibili ne esiste una che utilizza al meglio la dinamica a disposizione ( minimo errore) • Per numeri positivi è • Per numeri negativi è A.S.E.
Virgola mobile 3 • La rappresentazione normalizzata è caratterizzata dal fatto che le due cifre più significative sono diverse • Esempio rappresentare p su 10 bit A.S.E.
Virgola mobile 4 • Esempio rappresentare -p su 10 bit A.S.E.
Somma in virgola mobile • calcolare p + ln59 =3.1415 + 4.0775=7.219 A.S.E.
Prodotto in virgola mobile • calcolare p ∙ ln59 =3.1415 ∙ 4.0775=12.8099 A.S.E.
Aritmetica in Virgola Mobile • Consideriamo X=XMxBXE • Somma Z = X+Y=(XM2 XE-YE +YM)x2YE • Sottrazione Z = X-Y=(XM2XE-YE-YM)x2YE • Moltiplicazione Z = XxY=(XMxYM)x2XE+YE • Divisione Z = X÷Y=(XM÷YM)x2XE-YE • 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/aa1998-99/aritm-virg-mob.PDF A.S.E.
Somma e Sottrazione • 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 procedura si compone di 4 passi: • identificazione di operandi nulli • allineamento degli esponenti • somma o sottrazione delle mantisse • normalizzazione del risultato. A.S.E.
Allineamento degli Esponenti A.S.E.
Moltiplicazione e Divisione • Si compongono delle seguenti fasi: • identificazione di operandi nulli • somma/sottrazione degli esponenti • moltiplicazione/divisione delle mantisse • normalizzazione e arrotondamento. A.S.E.
Polarizzazione dell’Esponente • Se si esegue la somma/sottrazione su esponenti polarizzati, • al termine è necessario sottrarre o sommare il valore della • polarizzazione. • Esempio • Si supponga che il valore di polarizzazione sia 8. • X E = 15 = 7+8 • Y E = 5 = -3+8 • ------------------------------------------ • 20 = 4+8+8 • Correzione: si sottrae 8. A.S.E.
Situazioni Particolari • 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 underflow ed overflow dell'esponente si deve produrre una segnalazione di errore. A.S.E.
Conclusioni • Rappresentazione esponenziale • Virgola mobile • Operazioni in virgola mobile • Algoritmi per le operazioni A.S.E.