2. unitatea aritmetică și logică

59
2. Unitatea aritmetică și logică Adunarea Înmulțirea Împărțirea Numere și operații în virgulă mobilă 23.03.2015 1 Structura sistemelor de calcul (02-5)

Upload: yardley-hoover

Post on 02-Jan-2016

69 views

Category:

Documents


4 download

DESCRIPTION

2. Unitatea aritmetică și logică. Adunarea Înmulțirea Împărțirea Numere și operații în virgulă mobilă. Numere și operații în virgulă mobilă. Numere și operații în virgulă mobilă Reprezentarea numerelor în virgulă mobilă Standardul IEEE 754 pentru numere în virgulă mobilă - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2.  Unitatea aritmetică  și  logică

1Structura sistemelor de calcul (02-5)

2. Unitatea aritmetică și logică

AdunareaÎnmulțireaÎmpărțireaNumere și operații în virgulă mobilă

23.03.2015

Page 2: 2.  Unitatea aritmetică  și  logică

2Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 3: 2.  Unitatea aritmetică  și  logică

3Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (1)

Mai multe posibilități pentru reprezentarea valorilor care nu sunt întregi Reprezentare în virgulă fixă

Virgula binară plasată într-o poziție predefinită Sunt necesare operații de scalare și deplasare

Reprezentare în virgulă mobilăFactorul de scală devine o parte a cuvântului din calculator Poziția virgulei binare variază în mod automat

23.03.2015

Page 4: 2.  Unitatea aritmetică  și  logică

4Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (2)

Reprezentarea în virgulă mobilă (VM) a numărului N:

N = (–1)s be ms – semn (0 sau 1)b – bază e – exponent: ordinul de mărime al număruluim – mantisă: valoarea exactă a numărului într un ‑anumit domeniu

Codificarea reprezentării: un șir de biți Exemplu de codificare

23.03.2015

Page 5: 2.  Unitatea aritmetică  și  logică

Structura sistemelor de calcul (02-5) 5

Reprezentarea numerelor în virgulă mobilă (3)

3130 23

22 0

S Exponent Mantisă

Reprezentare în mărime și semn Nu există un câmp rezervat pentru baza b

De obicei, nu se reprezintă exponentul real exponent deplasat (caracteristică)

E = e + deplasament Exponentul deplasat este întotdeauna pozitiv

23.03.2015

Page 6: 2.  Unitatea aritmetică  și  logică

6Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (4)

Exemplu: Exponent deplasat de 8 biți: E [0, 255]Deplasament = 128 (80h)Exponentul real: e [–128, +127]Exponentul real este:

Negativ dacă E < 128 Pozitiv dacă E > 128 Zero dacă E = 128

Exponentul este reprezentat în exces 128

23.03.2015

Page 7: 2.  Unitatea aritmetică  și  logică

7Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (5)

Avantaje ale exponentului deplasat: Simplificarea operațiilor cu exponentul Reprezentarea numărului zero

Mantisa: cifre de 0 în toate pozițiile Exponentul: poate avea, teoretic, orice valoare “zero impur” sau “zero pur” “Zero pur”: reprezentarea în VM a numărului zero este aceeași cu reprezentarea numerelor întregi se pot utiliza aceleași circuite

23.03.2015

Page 8: 2.  Unitatea aritmetică  și  logică

8Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (6)

Ordonarea numerelorNumerele pozitive în VM sunt ordonate în același fel ca și numerele întregiMărimea numerelor în VM poate fi comparată cu un comparator pentru numere întregi

Dezavantaj al exponenților deplasați:Adunarea exponenților este mai complicată deplasamentul trebuie scăzut din suma exponenților

23.03.2015

Page 9: 2.  Unitatea aritmetică  și  logică

9Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (7)

Reprezentările în VM nu sunt unice: 0,1 100; 1 10-1; 0,01 101

Reprezentare sub formă normalizată:Bitul c.m.s. al mantisei este 1 Avantaje: operațiile sunt simplificate și precizia este crescută

Deoarece bitul c.m.s. este 1, acest bit nu este memorat bit ascuns Gama numerelor care pot fi reprezentate pe 32 de biți, întregi și în VM

23.03.2015

Page 10: 2.  Unitatea aritmetică  și  logică

10Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (8)

23.03.2015

Page 11: 2.  Unitatea aritmetică  și  logică

11Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (9)

În unele cazuri, bitul ascuns se presupune poziționat la stânga virgulei binare 1,mDepășire superioară: exponentul depășește valoarea maximă (ex., e > 127) Depășire inferioară: exponentul are o valoare negativă prea mică (ex., e < –128) Unitățile de calcul în VM au mecanisme pentru detectarea, semnalarea și tratarea depășirilor

23.03.2015

Page 12: 2.  Unitatea aritmetică  și  logică

12Structura sistemelor de calcul (02-5)

Reprezentarea numerelor în virgulă mobilă (10)

Alegerea unui format în VM: compromis între dimensiunea mantisei și cea a exponentului

Creșterea dimensiunii mantisei creșterea preciziei Creșterea dimensiunii exponentului creșterea domeniului

Pentru a crește atât precizia, cât și domeniul: utilizarea unui număr mai mare de biți

Formate în precizie simplă și precizie dublă

23.03.2015

Page 13: 2.  Unitatea aritmetică  și  logică

13Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 14: 2.  Unitatea aritmetică  și  logică

14Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (1)

Au existat diferențe în modul de execuție a operațiilor în VM la diferite familii de calculatoare Societatea de Calculatoare a IEEE a elaborat un standard pentru reprezentarea numerelor în VM IEEE 754-1985

Revizia curentă: IEEE 754-2008Majoritatea unităților de calcul în VM se conformează acestui standard

23.03.2015

Page 15: 2.  Unitatea aritmetică  și  logică

15Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (2)

Specifică formate și metode pentru operații în VM la sistemele de calcul Definește condiții de excepție și tratarea acestor condiții Scopul: calcule în VM cu aceleași rezultate

Procesarea prin hardware, software sau o combinație a acestora Erori raportate într-un mod consecvent

23.03.2015

Page 16: 2.  Unitatea aritmetică  și  logică

16Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (3)

Standardul specifică: Formate pentru operații aritmetice cu date binare și zecimale în VMFormate pentru interschimbarea datelorOperații de bază în VMConversii între: diferite formate în VM; formate întregi și în VM; formate în VM și reprezentări externe (șiruri de caractere) Reguli de rotunjireExcepții și tratarea acestora

23.03.2015

Page 17: 2.  Unitatea aritmetică  și  logică

17Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (4)

Reprezentarea mantisei este numită significand în standardul IEEE Formate de bază

Trei formate binare (32, 64 și 128 biți) Două formate zecimale (64 și 128 biți) O implementare conformă trebuie să implementeze cel puțin unul din formatele de bază

Inițializare, operații, conversii, citire și scriere utilizând o codificare definită

23.03.2015

Page 18: 2.  Unitatea aritmetică  și  logică

18Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (5)

Formate cu precizie extinsăExtind formatele de bază: mai multe cifre ale mantisei, domeniu mai larg al exponentului

Formate cu precizie extensibilăLungimea mantisei și domeniul exponentului sunt definite de utilizator

Implementarea formatelor cu precizie extinsă și extensibilă este opționalăCodificarea: dependentă de implementare

23.03.2015

Page 19: 2.  Unitatea aritmetică  și  logică

19Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (6)

Parametrii formatelor în VMDetermină setul finit de numere în VM care poate fi reprezentat cu un format b – baza (2 sau 10) p – precizia (numărul de cifre ale mantisei) emax – exponentul real maxim emin – exponentul real minim emin = 1 – emax pentru toate formatele

23.03.2015

Page 20: 2.  Unitatea aritmetică  și  logică

20Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (7)

Format binary32 binary64 binary128 decimal64 decimal128

Nume Precizie simplă

Precizie dublă

Precizie cvadruplă

b 2 2 2 10 10

p 23+1 52+1 112+1 16 34

emin -126 -1022 -16382 -383 -6143

emax 127 1023 16383 384 6144

Deplasament 127 1023 16383 398 6176

23.03.2015

Page 21: 2.  Unitatea aritmetică  și  logică

Structura sistemelor de calcul (02-5) 21

Standardul IEEE 754 pentru numere în virgulă mobilă (8)

Formatele binare cu precizie simplă, precizie dublă și precizie cvadruplă

23.03.2015

Page 22: 2.  Unitatea aritmetică  și  logică

22Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (9)

Pentru formatele binare:m = 1,Fracție (1,0 m 2,0) Valoarea unui număr într-un format binar:

NS = (–1)s 2E-127 m ND = (–1)s 2E-1023 m NQ = (–1)s 2E-16383 m

Exemplul 2.4Exemplul 2.5

23.03.2015

Page 23: 2.  Unitatea aritmetică  și  logică

23Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (10)

Standardul permite reprezentarea unor valori speciale

Pentru acestea sunt rezervate valoarea minimă și cea maximă a exponentului

Valoarea zero E = 0, Fracție = 0 Două reprezentări pentru valoarea 0: +0, -0 Bitul ascuns de la stânga virgulei binare este implicit 0 în loc de 1

23.03.2015

Page 24: 2.  Unitatea aritmetică  și  logică

24Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (11)

Numere nenormalizate“Subnormal” (“denormal”)E = 0; Fracție 0; bitul ascuns este 0 Un număr nenormalizat este generat prin tehnica numită depășire inferioară gradualăExemplu:

Format cu precizie simplă exponentul real minim este –126 Rezultatul necesită un exponent egal cu –129 pentru a se obține un număr normalizat

23.03.2015

Page 25: 2.  Unitatea aritmetică  și  logică

Structura sistemelor de calcul (02-5) 25

Standardul IEEE 754 pentru numere în virgulă mobilă (12)

Mantisa este deplasată la dreapta și exponentul este incrementat

Operație S Exponent Mantisă

Rezultat normalizat 0 -129 1,01011100000…0

Deplasare mantisă, e++ 0 -128 0,10101110000…0

Deplasare mantisă, e++ 0 -127 0,01010111000…0

Deplasare mantisă, e++ 0 -126 0,00101011100…0

Rezultat nenormalizat 0 -126 0,00101011100…0

23.03.2015

Page 26: 2.  Unitatea aritmetică  și  logică

26Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (13)

Valoarea infinitE = valoarea maximă pentru formatul utilizat, Fracție = 0 Două reprezentări pentru infinit: +, – Valoarea infinit se poate utiliza ca operand:

+ n = ; n / = 0 ; n / 0 = Utilizatorul poate decide dacă va trata depășirea superioară ca o condiție de eroare

23.03.2015

Page 27: 2.  Unitatea aritmetică  și  logică

27Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (14)

NaN (Not a Number) S-a prevăzut pentru indicarea unor excepții

Operații nedefinite: /, – , 0, 0/, 0/0 Extragerea rădăcinii pătrate dintr un număr negativ‑

E = valoarea maximă, Fracție 0 Două tipuri de valori NaN:

qNaN: nu se semnalează o excepție (“quiet” NaN) sNaN: este semnalată o excepție (“signaling” NaN)

Atunci când argumentul unei operații este NaN, rezultatul trebuie să fie NaN

23.03.2015

Page 28: 2.  Unitatea aritmetică  și  logică

28Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (15)

Formate zecimalePrevăzute pentru aplicații comerciale Un număr poate avea reprezentări multiple sunt admise zerouri în pozițiile c.m.s. ale mantiseiCohortă: set de reprezentări ale unui număr

Membrii unei cohorte se pot deosebi între ei Operațiile au exponenți preferați pentru rezultatele lor

Se păstrează alinierea virgulei zecimale 23.03.2015

Page 29: 2.  Unitatea aritmetică  și  logică

29Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (16)

Excepții Depășire inferioarăDepășire superioarăÎmpărțire la zeroRezultat inexact: rezultatul trebuie rotunjit Operație invalidă: apare în cazul unor operații ca 0/0 sau – Implicit, la apariția unei excepții este setat un indicator și calculele continuă

23.03.2015

Page 30: 2.  Unitatea aritmetică  și  logică

30Structura sistemelor de calcul (02-5)

Standardul IEEE 754 pentru numere în virgulă mobilă (17)

Avantaje ale standardului IEEE 754:Facilitează scrierea unor programe portabileDefinește condiții pentru scrierea programelor reproductibile produc același rezultat cu diferite implementări ale unui limbaj

Dezavantaje:Conține specificații opționale Implementare lentă a depășirii inferioare graduale comparativ cu setarea la zeroNu se specifică aritmetica pt. valori complexe

23.03.2015

Page 31: 2.  Unitatea aritmetică  și  logică

31Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 32: 2.  Unitatea aritmetică  și  logică

Structura sistemelor de calcul (02-5) 32

Operații cu numere în VM

Considerăm numerele în VM:X = bEx mX Y = bEy my

Operațiile aritmetice elementareOperație Rezultat

X + Y bEy (bEx-Ey mx + my), Ex < Ey

X – Y bEy (bEx-Ey mx – my), Ex < Ey

X Y bEx+Ey (mx my)

X Y bEx-Ey (mx my)

23.03.2015

Page 33: 2.  Unitatea aritmetică  și  logică

33Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 34: 2.  Unitatea aritmetică  și  logică

34Structura sistemelor de calcul (02-5)

Adunarea și scăderea în VM (1)

Pentru adunare sau scădere, trebuie să se realizeze egalizarea exponenților numerelor

Compararea mărimii exponenților Alinierea mantisei numărului cu exponentul mai mic

Etapele algoritmului Alinierea mantiselor Adunarea sau scăderea mantiselor Normalizarea rezultatului Rotunjirea rezultatului

23.03.2015

Page 35: 2.  Unitatea aritmetică  și  logică

35Structura sistemelor de calcul (02-5)

Adunarea și scăderea în VM (2)

23.03.2015

Page 36: 2.  Unitatea aritmetică  și  logică

36Structura sistemelor de calcul (02-5)

Adunarea și scăderea în VM (3)

23.03.2015

Page 37: 2.  Unitatea aritmetică  și  logică

37Structura sistemelor de calcul (02-5)

Adunarea și scăderea în VM (4)

23.03.2015

Page 38: 2.  Unitatea aritmetică  și  logică

38Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 39: 2.  Unitatea aritmetică  și  logică

39Structura sistemelor de calcul (02-5)

Înmulțirea și împărțirea în VM (1)

23.03.2015

Page 40: 2.  Unitatea aritmetică  și  logică

40Structura sistemelor de calcul (02-5)

Înmulțirea și împărțirea în VM (2)

23.03.2015

Page 41: 2.  Unitatea aritmetică  și  logică

41Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 42: 2.  Unitatea aritmetică  și  logică

42Structura sistemelor de calcul (02-5)

Considerații de precizie (1)

Numerele în VM sunt aproximări ale unor numere reale pe care nu le pot reprezenta exact

Există o infinitate de numere reale într un ‑anumit interval

Este necesară o metodă de rotunjire Pentru executarea cu acuratețe a operațiilor aritmetice, circuitele trebuie să utilizeze cifre suplimentare

23.03.2015

Page 43: 2.  Unitatea aritmetică  și  logică

43Structura sistemelor de calcul (02-5)

Considerații de precizie (2)

Fie p numărul corespunzător de cifre ale mantisei pentru o precizie dată Cifre de gardă g

Sunt plasate la dreapta primelor p cifre ale mantisei pentru a evita pierderea cifrelor

Cifre de rotunjire rDacă rezultatul este normalizat, dar există cifre diferite de zero la dreapta mantisei, numărul trebuie rotunjit

23.03.2015

Page 44: 2.  Unitatea aritmetică  și  logică

44Structura sistemelor de calcul (02-5)

Considerații de precizie (3)

Sunt plasate la dreapta cifrelor de gardă După deplasarea la stânga a rezultatului pentru normalizare, acesta poate fi rotunjit

Exemplul 2.6Moduri de rotunjire IEEE 754

Rotunjire spre plus infinit (rotunjire în sus) Rotunjire spre minus infinit (rotunjire în jos) Rotunjire spre zero (trunchiere) Rotunjire la cel mai apropiat număr par

23.03.2015

Page 45: 2.  Unitatea aritmetică  și  logică

45Structura sistemelor de calcul (02-5)

Considerații de precizie (4)

Ultimul mod: prevăzut pentru situațiile în care numărul real se află exact la jumătatea intervalului dintre două reprezentări în VM

Dacă bitul c.m.p.s. este impar, se adună 1 Dacă bitul este par, numărul este trunchiat Pentru a se obține o rotunjire corectă în ultimul caz, este necesar un alt tip de cifră suplimentară bit de colectare s (sticky bit)

Este setat dacă există biți 0 la dreapta bitului r

23.03.2015

Page 46: 2.  Unitatea aritmetică  și  logică

46Structura sistemelor de calcul (02-5)

Considerații de precizie (5)

Pentru aritmetica zecimală este specificat un mod de rotunjire suplimentar

Necesar pentru a efectua rotunjirea în același mod ca și la calculele financiare

Rotunjire la cel mai apropiat număr, cu îndepărtare de la zero

Dacă numărul real se află exact la jumătatea intervalului dintre două reprezentări în VM, este rotunjit la valoarea cea mai apropiată cu mărimea mai mare

23.03.2015

Page 47: 2.  Unitatea aritmetică  și  logică

47Structura sistemelor de calcul (02-5)

Numere și operații în virgulă mobilă

Numere și operații în virgulă mobilăReprezentarea numerelor în virgulă mobilăStandardul IEEE 754 pentru numere în virgulă mobilăOperații cu numere în virgulă mobilă

Adunarea și scăderea în virgulă mobilăÎnmulțirea și împărțirea în virgulă mobilăConsiderații de precizie

Circuite pipeline pentru operații în virgulă mobilă

23.03.2015

Page 48: 2.  Unitatea aritmetică  și  logică

48Structura sistemelor de calcul (02-5)

Circuite pipeline pentru operații în VM (1)

Operațiile în VM pot fi implementate printr un circuit ‑ pipeline

Operațiile pot fi descompuseExemplu: Adunarea a două numere normalizate în virgulă mobilă, X și Y

Compararea exponențilorAlinierea mantiselor Adunarea mantiselor Normalizarea rezultatului

23.03.2015

Page 49: 2.  Unitatea aritmetică  și  logică

Structura sistemelor de calcul (02-5) 49

Circuite pipeline pentru operații în VM (2)

Sumator în VM cu patru etajeMantisa numărului cu exponentul mai mic (XM) se deplasează la dreaptaNoua mantisă este X'M (X'M, YE) = (XM, XE)

23.03.2015

Page 50: 2.  Unitatea aritmetică  și  logică

50Structura sistemelor de calcul (02-5)

Circuite pipeline pentru operații în VM (3)

Etape de proiectare pentru un circuit aritmetic pipeline:

Găsirea unui algoritm secvențial cu mai multe etape etapele trebuie să fie echilibrate Plasarea unor registre buffer între etaje

Exemplu: Unitatea de adunare în VM a calculatorului IBM System/360 Model 91

Versiunea fără utilizarea tehnicii pipelineVersiunea pipeline

23.03.2015

Page 51: 2.  Unitatea aritmetică  și  logică

51Structura sistemelor de calcul (02-5)

Circuite pipeline pentru operații în VM (4)

Formatul în VM al familiei IBM System/360 Numere de 32 sau 64 de bițiBitul de semn S Exponentul E de 7 biți: întreg în codul exces 64 Mantisa M de 24 sau 56 de bițiNu există un bit ascunsBaza reprezentării este 16Nu există formate echivalente ale valorilor NaN, infinit și denormalizate

23.03.2015

Page 52: 2.  Unitatea aritmetică  și  logică

52Structura sistemelor de calcul (02-5)

Circuite pipeline pentru operații în VM (5)

23.03.2015

Page 53: 2.  Unitatea aritmetică  și  logică

53Structura sistemelor de calcul (02-5)

Circuite pipeline pentru operații în VM (6)

23.03.2015

Page 54: 2.  Unitatea aritmetică  și  logică

54Structura sistemelor de calcul (02-5)

Circuite pipeline pentru operații în VM (7)

23.03.2015

Page 55: 2.  Unitatea aritmetică  și  logică

55Structura sistemelor de calcul (02-5)

Rezumat (1)

Pentru numere fracționare, este avantajoasă reprezentarea în virgulă mobilă (VM)Reprezentarea în VM cu exponent deplasat prezintă mai multe avantajeStandardul IEEE 754 a fost elaborat pentru a facilita portabilitatea programelor

Permite obținerea acelorași rezultate, indiferent de implementareDefinește formate de bază (binare, zecimale), cu precizie extinsă și cu precizie extensibilă

23.03.2015

Page 56: 2.  Unitatea aritmetică  și  logică

56Structura sistemelor de calcul (02-5)

Rezumat (2)

Definește reprezentarea unor valori speciale: zero, infinit, NaN, numere nenormalizate

Adunarea și scăderea în VM necesită alinierea mantiselor (egalizarea exponenților)Pentru creșterea preciziei, circuitele aritmetice în VM trebuie să utilizeze cifre suplimentare: de gardă, de rotunjire, de colectareDe obicei, pentru implementarea circuitelor aritmetice în VM se utilizează tehnica pipeline

Sunt plasate registre buffer între etajele circuitului

23.03.2015

Page 57: 2.  Unitatea aritmetică  și  logică

57Structura sistemelor de calcul (02-5)

Noțiuni, cunoștințe (1)

Reprezentare în VM cu exponent deplasatReprezentare normalizată în VMFormate specificate de standardul IEEE 754 pentru numere în VMValori speciale specificate de standardul IEEE 754 pentru numere în VMNumere nenormalizate specificate de standardul IEEE 754 pentru numere în VMTehnica de depășire inferioară gradualăValoarea specială NaN

23.03.2015

Page 58: 2.  Unitatea aritmetică  și  logică

58Structura sistemelor de calcul (02-5)

Noțiuni, cunoștințe (2)

Excepții specificate de standardul IEEE 754 pentru numere în VMAvantaje/dezavantaje ale standardului IEEE 754Algoritmul de adunare/scădere în VMAlgoritmul de înmulțire/împărțire în VMCifre de gardă și de rotunjireModuri de rotunjire specificate de standardul IEEE 754 pentru numere în VMSchema bloc a unui sumator pipeline în VM

23.03.2015

Page 59: 2.  Unitatea aritmetică  și  logică

59Structura sistemelor de calcul (02-5)

Întrebări

1. Care sunt avantajele reprezentării în VM cu exponent deplasat?

2. Ce este depășirea inferioară graduală?3. Care sunt excepțiile specificate de

standardul IEEE 754?4. Cum se realizează egalizarea exponenților

pentru adunarea și scăderea în VM?5. Ce sunt cifrele de gardă și de rotunjire?

23.03.2015