2. Unitatea aritmetică și logică
-
Upload
yardley-hoover -
Category
Documents
-
view
70 -
download
4
description
Transcript of 2. Unitatea aritmetică și logică
![Page 1: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/1.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/2.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/3.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/4.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/5.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/6.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/7.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/8.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/9.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/10.jpg)
10Structura sistemelor de calcul (02-5)
Reprezentarea numerelor în virgulă mobilă (8)
23.03.2015
![Page 11: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/11.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/12.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/13.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/14.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/15.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/16.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/17.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/18.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/19.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/20.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/21.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/22.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/23.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/24.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/25.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/26.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/27.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/28.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/29.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/30.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/31.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/32.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/33.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/34.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/35.jpg)
35Structura sistemelor de calcul (02-5)
Adunarea și scăderea în VM (2)
23.03.2015
![Page 36: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/36.jpg)
36Structura sistemelor de calcul (02-5)
Adunarea și scăderea în VM (3)
23.03.2015
![Page 37: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/37.jpg)
37Structura sistemelor de calcul (02-5)
Adunarea și scăderea în VM (4)
23.03.2015
![Page 38: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/38.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/39.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/40.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/41.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/42.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/43.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/44.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/45.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/46.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/47.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/48.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/49.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/50.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/51.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/52.jpg)
52Structura sistemelor de calcul (02-5)
Circuite pipeline pentru operații în VM (5)
23.03.2015
![Page 53: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/53.jpg)
53Structura sistemelor de calcul (02-5)
Circuite pipeline pentru operații în VM (6)
23.03.2015
![Page 54: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/54.jpg)
54Structura sistemelor de calcul (02-5)
Circuite pipeline pentru operații în VM (7)
23.03.2015
![Page 55: 2. Unitatea aritmetică și logică](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/55.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/56.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/57.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/58.jpg)
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ă](https://reader036.fdocument.pub/reader036/viewer/2022081503/56813322550346895d99f740/html5/thumbnails/59.jpg)
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