Documente Academic
Documente Profesional
Documente Cultură
AC - Capitolul 4.1
AC - Capitolul 4.1
UNITATEA ARITMETICO-LOGICĂ
4
DESPRE PROCESOR. UNITATEA
ARITMETICO-LOGICĂ
şi are valoarea:
m
K c n 1 r n 1 ... c1 r c0 c 1 r 1 ... c m r m c
i n 1
i ri (4.1.1.1-2)
K cn 1 2n 1 cn 2 2n 2 c1 21 c0 (4.1.1.1-4)
..............................................................
Aşadar, cifrele binare ale unui număr pozitiv întreg se pot obţine prin
împărţiri succesive la 2 ale numărului în cauză, respectiv ale câturilor, până
se ajunge la cât nul, ele -cifrele- fiind resturi în aceste împărţiri.
Exemplu:
K 42 :
C0
4210=1010102
n min i i log 2 a
iN
32
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Fie:
~
K '' .c 1 ...c ( m 1) c m (4.1.1.1-10)
K m 1 2 c m (4.1.1.1-15)
Aşadar, cifrele binare ale unui număr pozitiv fracţionar se pot obţine
prin înmulţiri succesive cu 2 ale numărului în cauză, respectiv ale părţilor
fracţionare ale produselor, ele –cifrele- fiind părţile întregi ale produselor;
înmulţirile se efectuează până la determinarea unui număr satisfăcător de
cifre.
Exemple:
1). K 0.8125 2). K 0.8124
c-1 c-1
0.8125ꞏ2=1+0.625 0.8124ꞏ2=1+0.6248
0.625ꞏ2=1+0.25 0.6248ꞏ2=1+0.2496
0.25ꞏ2=0+0.5 0.2496ꞏ2=0+0.4992
0.5ꞏ2=1+0.0 0.4992ꞏ2=0+0.9984
0.9984ꞏ2=1+0.9968
c-4
c-5
0.812510=0.11012 0.812410=0.11001...2
33
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Cifrele binare ale unui număr pozitiv format din parte întreagă şi parte
fracţionară se determină aplicând regulile de mai sus pentru cele două părţi.
Exemplu:
42.8125=42+0.8125=1010102+0.11012=101010.11012
x
M ( 0;1 ), daca x 0
x
sm( x ) 1 ( 1;2 ), daca x 0 (4.1.1.2.1-1)
M
0 sau 1 daca x 0
Evident, legea de mai sus ne spune că numerele pozitive se reprezintă
prin numere din intervalul (0; 1), iar numerele negative, prin numere din
intervalul (1; 2), în timp ce numărul zero are o dublă imagine, pe zero,
respectiv pe unu:
-M 0 +M
0 1 2
34
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
rezultă:
a~ a0 .a1...a ( m n ) (4.1.1.2.1-3)
caracterul “.” nu se reprezintă în calculator prin nimic,
el fiind considerat în mod implicit
unde:
0 , daca A 0
a0= (4.1.1.2.1-4)
1, daca A 0
2M
lc _ sm log 2 (4.1.1.2.1-6)
r
unde:
r: rezoluţia cu care se iau în considerare numerele de reprezentat în
intervalul (-M; M).
Observaţie:
Atât M, cât şi r, sunt, în practică, puteri ale lui 2.
Tabelele din figurile 4.1.1.2.1_1 şi 4.1.1.2.1_2 exemplifică
reprezentarea numerelor în semn mărime în ipotezele:
(-M; M)=(-2; 2)
r=0.25
respectiv:
(-M; M)=(-8; 8)
r=1
Numărul -1.75 -1.50 -1.25 -1.00 -0.75 -0.50 -0.25 0 0.25 0.50 0.75 1.00 1.25 1.50 1.75
de
reprezentat
Codul 1111 1110 1101 1100 1011 1010 1001 0000 0001 0010 0011 0100 0101 0110 0111
semn- 1000
mărime
Valoarea 1.875 1.750 1.625 1.500 1.375 1.250 1.125 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875
codului 1.000
semn-
mărime
Numărul -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
de
reprezentat
Codul 1111 1110 1101 1100 1011 1010 1001 0000 0001 0010 0011 0100 0101 0110 0111
semn- 1000
mărime
Valoarea 1.875 1.750 1.625 1.500 1.375 1.250 1.125 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875
codului 1.000
semn-
mărime
36
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
x
M ( 0;1 ), daca x 0
x
c1( x ) 2 2 n [ 1; 2 2 n ), daca x 0 (4.1.1.2.1-1)
M
0 sau 2 2 n , daca x 0
Evident, legea de mai sus ne spune că, la fel ca în cazul reprezentării în
semn-mărime, numerele pozitive se reprezintă prin numere din intervalul
(0; 1), iar numerele negative, prin numere din intervalul (1; 2); numărul
zero are și în acest caz o dublă imagine, de data aceasta, pe zero, respectiv
pe 2 – 2-n:
-M 0 +M
0 1 2
rezultă:
a~ a0 . a1...a ( m n ) (4.1.1.2.2-3)
caracterul “.” nu se reprezintă în calculator prin nimic,
el fiind considerat în mod implicit
unde:
0, daca A 0
a0= (4.1.1.2.2-4)
1, daca A 0
cni , daca A 0
a i , i 1...m n (4.1.1.2.2-5)
cni , daca A 0, unde cni NOT (cni )
37
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Fig. 4.1.1.2.2_1. Reprezentarea în complement de unu a numerelor din intervalul (-2; 2),
considerate cu rezoluţia 0.25.
Numărul -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
de
reprezentat
Codul 1000 1001 1010 1011 1100 1101 1110 0000 0001 0010 0011 0100 0101 0110 0111
complement 1111
de unu
Valoarea 1.000 1.125 1.250 1.375 1.500 1.625 1.750 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875
codului 1.875
complement
de unu
Fig. 4.1.1.2.2_2. Reprezentarea în complement de unu a numerelor din intervalul (-8; 8),
considerate cu rezoluţia 1.
38
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Exemple:
Fie:
(-M; M)=(-8; 8), r=1
Rezultă:
lc_c1 = 4 şi n = 3
Fie:
1). a= -1, b= -5
Se va avea:
a = -110 = -0012 = 1001sm = 1110c1
b = -510 = -1012 = 1101sm = 1010c1
1110+
1010
11000+
1
1001
cu:
39
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
2). a= 1, b= 5
Se va avea:
a = 110 = 0012 = 0001sm = 0001c1
b = 510 = 1012 = 0101sm = 0101c1
0001+
0101
00110+
0
0110
cu:
40
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
0 1 2
41
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
42
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Numărul -2.00 -1.75 -1.50 -1.25 -1.00 -0.75 -0.50 -0.25 0 0.25 0.50 0.75 1.00 1.25 1.50 1.75
de
reprezentat
Codul 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
complement
de doi
Valoarea 1.000 1.125 1.250 1.375 1.5001.625 1.7501.875 0.0000.125 0.2500.375 0.500 0.625 0.7500.875
codului
complement
de doi
Fig. 4.1.1.2.3_1. Reprezentarea în complement de doi a numerelor din intervalul [-2; 2),
considerate cu rezoluţia 0.25.
Numărul -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
de
reprezentat
Codul 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
complement
de doi
Valoarea 1.000 1.125 1.250 1.375 1.5001.625 1.7501.875 0.0000.125 0.2500.375 0.500 0.625 0.7500.875
codului
complement
de doi
Fig. 4.1.1.2.3_2. Reprezentarea în complement de doi a numerelor din intervalul [-8; 8),
considerate cu rezoluţia 1.
43
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
44
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Observaţie:
Ignorarea termenilor de valoare “2” înseamnă, în practică,
neglijarea transportului generat în procesul de adunare din rangul
20 către rangul 21.
Exemple:
Fie:
[-M; M)=[-8; 8), r=1
Rezultă:
lc_c2 = 4 şi n = 3
Fie:
1). a= -1, b= -5
Se va avea:
a = -110 = -0012 = 1001sm = 1111c2
b = -510 = -1012 = 1101sm = 1011c2
1111+
1011
11010
se pierde
cu:
1010c2 = -610
2). a= 1, b= 5
Se va avea:
a = 110 = 0012 = 0001sm = 0001c2
b = 510 = 1012 = 0101sm = 0101c2
0001+
0101
00110
cu:
0110c2 = 610
45
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
47
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
Aşadar, diferenţa între numărul care are toţi biţii nuli, în afară de
bitul cel mai semnificativ al mantisei şi numărul zero este 2 7 , când se
lucrează cu exponentul netranslatat şi 2 135 , când se lucrează cu
exponentul translatat.
unde:
S este semnul mantisei: 1 pentru mantisă negativă, 0 pentru
mantisă pozitivă
E este exponentul pe 8 biți, translatat, cu bias=127
M este excesul de 1al mantisei (partea vizibilă a mantisei), pe 23
de biți
Valoarea unui număr real x reprezentat în standardul IEEE 754 pe 32 de
biți este dată de expresia:
48
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
şi are valoarea:
cmMnpr (1) 0 (1.11...11) 2 254127 (1 (1 2 23 )) 2127 3.4 10 38
şi are valoarea:
cmmnnr (1)1 (1.11...11) 2 254127 (1 (1 2 23 )) 2127 3.4 10 38
şi are valoarea:
cmmnpr (1) 0 (1.00...00) 21127 2 126 1.18 10 38
şi are valoarea:
cmMnnr (1)1 (1.00...00) 21127 2 126 1.18 10 38
şi are valoarea:
zero (1) 0 (1.00...00) 2 0127 2 127 0.59 10 38
49
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
unde:
S este semnul mantisei: 1 pentru mantisă negativă, 0 pentru
mantisă pozitivă
E este exponentul pe 11 biți, translatat, cu bias=1023
M este excesul de 1 al mantisei (partea vizibilă a mantisei), pe 52
de biți
Valoarea unui număr real x reprezentat în standardul IEEE 754 pe 64 de
biți este dată de expresia:
50
CAP. 4. DESPRE PROCESOR. UNITATEA ARITMETICO-LOGICĂ
4.2.1. Principii
Aşadar, pentru un rang "i", se vor avea situaţiile din figura 4.2.1_2 şi
circuistica din figura 4.2.1_3.
Rezultatele obţinute în procesul de adunare pot fi afectate de erori,
atunci când ele se situează în afara intervalului de reprezentabilitate
corespunzător numărului de biţi pe care se lucrează. Se spune, în astfel de
situaţii, că intervine fenomenul de "depăşire". Evident, fenomenul de
depăşire poate apărea doar atunci când se adună operanzi cu acelaşi semn şi
se manifestă prin aceea că semnul rezultatului diferă de semnul comun al
celor doi operanzi. Tabelul din figura 4.2.1.4 evidenţiază clar cazurile de
depăşire, precum şi modul în care ele pot fi detectate.
51