Sunteți pe pagina 1din 6

Tipuri de date

3. Tipuri de date ale procesorului TMS320C32


n general, datele numerice pot fi reprezentate n virgul fix sau n virgul mobil,
necesitnd uniti de prelucrare diferite n procesor.
Procesorul de semnal TMS320C32 poate opera cu trei tipuri de date numerice:
numere ntregi fr semn (unsigned integer)
numere ntregi cu semn, numite pe scurt numere ntregi (signed integer sau integer)
numere reale reprezentate n virgul mobil (floating-point).
Numerele ntregi cu sau fr semn sunt reprezentate n virgul fix i pot fi n format scurt
sau n format simpl precizie, iar numerele reale sunt reprezentate n virgul mobil, putnd fi n
format scurt, precizie simpl sau precizie extins.
Arhitectura procesorului permite realizarea operaiilor n virgul mobil, la aceeai vitez
cu cele n virgul fix, fr a necesita o tratare special a acestor numere. n plus, sunt eliminate
problemele specifice operaiilor cu numere ntregi, cum ar fi depirea, alinierea operanzilor etc.
De aceea, aceste DSP-uri se folosesc la aplicaii care cer un volum de calcul foarte mare cu
numere reale.

3.1. Reprezentarea numerelor n virgul fix


Numerele ntregi sunt reprezentate n virgul fix, prin cuvinte binare pe N bii, putndu-se
astfel reprezenta 2N numere diferite. Intervalul de numere ce pot fi reprezentate pe N bii difer
ns n funcie de tipul operandului.
Dac operandul este numr ntreg fr semn, considerat implicit numr natural, atunci toate
cele 2N combinaii binare vor reprezenta numere naturale, iar intervalul de reprezentare pe N bii
este:
I1 = [0, 2N-1].
Dac operandul este numr ntreg cu semn, atunci trebuie generat o regul de reprezentare
a semnului, care nu este unic. Exist mai multe coduri de reprezentare a numerelor negative,
cum ar fi: codul semn-magnitudine, codul complement fa de 1 sau codul complement fa de 2.
Toate codurile de reprezentare a operanzilor ntregi cu semn au o serie de caracteristici
comune:
semnul (S) reprezint bitul cel mai semnificativ din combinaia binar (bitN-1), avnd
semnificaia: S = 0 numr pozitiv i S = 1 numr negativ;
numerele pozitive au aceeai reprezentare n toate codurile;
numerele negative sunt reprezentate diferit, ns codurile trebuie s respecte regula de negare
aritmetic a oricrui numr A:
- ( -A ) = A.
n codul complement fa de 2, reprezentarea binar a unui numr negativ (-A) se obine din
reprezentarea numrului pozitiv A, negnd logic toi biii i adunnd 1. De exemplu, pentru N =
8, pornind de la numrul ntreg pozitiv A = 85 = 01010101b, se poate obine reprezentarea binar
a numrului negativ A:
C2

A 85 10101011 b

Tipuri de date
Codul complement fa de 2 are dou avantaje majore fa de celelalte dou coduri de
reprezentare:
- valoarea 0 are reprezentare unic (+0), fa de reprezentarea dubl n celelalte dou coduri (- 0
i respectiv + 0). Din acest motiv, intervalul de reprezentare n complement fa de 2 este mai
mare cu 1, n zona numerelor negative;
- rezultatul operaiilor aritmetice simple se obine direct, fr a fi necesare alte corecii efectuate
asupra sa.
Datorit acestor avantaje, codul complement fa de 2 este implementat n majoritatea
microprocesoarelor.
Pentru codul complement fa de 2, intervalul de reprezentare pe N bii a numerelor ntregi
cu semn este: I2 = [- 2N - 1, 2N - 1-1].
n figura 3.1 sunt ilustrate intervalele de reprezentare n virgul fix pe N bii a numerelor ntregi
fr semn i a celor cu semn, reprezentate n complement fa de 2.

Fig. 3.1. Intervalele de reprezentare n virgul fix pe N bii


Operaiile cu numere n virgul fix sunt realizate de aceeai unitate aritmetico-logic,
indiferent dac operanzii sunt ntregi cu semn sau fr semn. Trebuie precizat c ALU opereaz
cu numere binare, iar semnificaia acestora, de operanzi cu sau fr semn, este cunoscut doar de
programator.
De exemplu, pentru N = 8, intervalele de reprezentare a numerelor n virgul fix pe 8 bii
I2 = [- 128, 127].
sunt: I1 = [0, 255], respectiv
n aceste condiii, operandul binar pe 8 bii M = 10110100b poate reprezenta numrul ntreg fr
semn 180 sau numrul ntreg cu semn 76.
n funcie de tipul operanzilor, programatorul testeaz indicatorii de condiii la sfritul
operaiei, pentru interpretarea rezultatului.
Procesorul de semnal TMS320C32 poate opera cu numere n virgul fix, reprezentate n
dou tipuri de formate: formatul scurt, n care numerele sunt reprezentate pe 16 bii (N = 16),
respectiv formatul simpl precizie, n care numerele sunt reprezentate pe 32 bii (N = 32).
Numerele ntregi fr semn n format scurt sunt reprezentate pe 16 bii, rezultnd
intervalul de reprezentare
I1 = [0, 216-1].
Un operand imediat fr semn n format scurt va fi indicat n cmpul instruciunii pe 16 bii.
ns, procesorul TMS320C32 memoreaz operanzii n virgul fix, n registrele proprii, pe 32 de
bii i toate operaiile de virgul fix sunt realizate pe 32 de bii.
De aceea, operanzii fr semn n format scurt sunt utilizai pe 32 de bii, completndu-se cei
mai semnificativi 16 bii cu 0, dup cum se arat n figura 3.2.

Tipuri de date
15

Operand fr semn n format scurt

31

16 15

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Operand fr semn n format scurt


Fig. 3.2. Reprezentarea numerelor ntregi fr semn n format scurt
Numerele ntregi cu semn n format scurt sunt reprezentate tot pe 16 bii, n complement
fa de 2, pentru care intervalul de reprezentare este I2 = [-215, 215-1].
Similar, un operand imediat cu semn n format scurt va fi indicat n cmpul instruciunii pe 16
bii, ns, utilizarea sa de ctre procesor se va face pe 32 de bii, completndu-se cei mai
semnificativi 16 bii cu valoarea semnului (S), dup cum se arat n figura 3.3.
15

Operand cu semn n format scurt

31

16 15

SSSSSSSSSSSSSSSS

0
Op. cu semn n format scurt

Fig. 3.3. Reprezentarea numerelor ntregi cu semn n format scurt


Numerele ntregi n format simpl precizie sunt reprezentate pe 32 de bii. Intervalele de
reprezentare a numerelor n virgul fix pe 32 de bii sunt: I1 = [0, 232-1] pentru operanzi fr
semn, respectiv I2 = [-231, 231-1] pentru operanzi cu semn n complement fa de 2.

3.2. Reprezentarea numerelor n virgul mobil


Spre deosebire de reprezentarea n virgul fix, formatul n virgul mobil permite
reprezentarea numerelor reale foarte mici ( 10-38) sau foarte mari ( 1038).
Numerele reale sunt reprezentate n virgul mobil, n formatul: MBE, n care M
reprezint mantisa, B este baza, iar E reprezint exponentul. Baza are valoare fixat, fiind n
general aleas B = 2.
Mantisa este un numr n virgul fix cu semn, ce poate fi reprezentat diferit, n funcie de
formatul de virgul mobil utilizat, n cod semn-magnitudine (formatul standard IEEE 754) sau
complement fa de 2 (formatul procesorului TMS320C32).
Exponentul este un numr ntreg cu semn, exprimat n complement fa de 2. Pentru
majoritatea microprocesoarelor, exponentul este pe maxim 8 bii, de unde rezult valorile maxime
i minime de reprezentare a numerelor reale.
Deoarece baza are valoare fixat i cunoscut, un numr real exprimat n virgul mobil
poate fi reprezentat printr-o pereche de numere n virgul fix: (M, E). Astfel, operaiile cu
numere reale, care sunt realizate n uniti aritmetice speciale de virgul mobil, se reduc la un set
de operaii de virgul fix.
4

Tipuri de date
Pentru procesorul de semnal TMS320C32, formatul general al numerelor n virgul mobil
conine trei cmpuri, fiind ilustrat n figura 3.4: cmpul exponent (E), bitul de semn (S) i cmpul
fracie (F). Bitul de semn i cmpul fracie formeaz cmpul mantis.

Exponent (E) S

Fracie (F)
Mantis (M)

Fig. 3.4. Formatul general al numerelor n virgul mobil


Formula general de calcul al unui numr real x, reprezentat n virgul mobil n formatul
specific procesorului TMS320C32, este: x SS .F2 2 E ,
unde S = bitul de semn, S = valoarea negat a bitului de semn, F2 = valoarea binar a cmpului
fracie, iar E = valoarea zecimal echivalent a cmpului exponent.
Comparnd acest format cu formatul general al numerelor reprezentate n virgul mobil, se
constat c mantisa este un numr binar, care are parte ntreag (format din doi bii S S ) i parte
fracionar (F2): M SS .F2
Mantisa (M) reprezint un numr cu semn n complement fa de 2, normalizat. n
reprezentarea normalizat, n afar de bitul de semn (S), pentru partea ntreag este utilizat un bit
suplimentar, care reprezint totdeauna valoarea negat a bitului de semn ( S ). Se obine astfel o
precizie mrit cu un bit.
Dac S = 0 (numrul real este pozitiv), atunci cei doi bii ai mantisei din faa punctului
binar sunt SS 01 . n acest caz, partea ntreag a mantisei va fi egal cu 1, iar mantisa M va fi un
numr pozitiv, M 01.F2 1, 2 . Dac valoarea binar a fraciei este zero (F2 = 0b), atunci M =
1. Se observ c, pentru E = S = F = 0b, x = 1.
Dac S = 1 (numrul real este negativ), atunci cei doi bii ai mantisei din faa punctului
binar sunt SS 10 . n acest caz, partea ntreag a mantisei va fi egal cu -2 (complement fa de
2), iar mantisa M va fi un numr negativ, M 10.F2 2 , 1 . Dac valoarea binar a fraciei
este zero (F2 = 0b), atunci M = -2. De asemenea, se observ c, pentru E = F = 0b i S = 1, x = 2.0.
n orice baz, nmulirea unui numr cu baza B la o putere k (Bk) se obine prin deplasarea
virgulei k poziii la dreapta sau la stnga, n funcie de valoarea lui k, eventual completnd
numrul cu zerouri.
Deoarece mantisa M este un numr binar, nmulirea ei cu 2E se obine prin deplasarea
virgulei la dreapta (dac exponentul este pozitiv) sau la stnga (dac exponentul este negativ), un
numr de poziii egal cu valoarea exponentului E.
n funcie de dimensiunile exponentului (E) i ale fraciei (F), procesorul TMS320C32 poate
opera cu numere n virgul mobil, reprezentate n trei tipuri de formate: format scurt, precizie
simpl sau precizie extins.
5

Tipuri de date
Numerele reale n format scurt sunt reprezentate n virgul mobil pe 16 bii n
complement fa de 2, astfel: 4 bii pentru exponent, 1 bit de semn i 11 bii pentru cmpul
fracie, dup cum se arat n figura 3.5.
15

12 11 10

Exponent (E) S

Fracie (F)
Mantis (M)

Fig. 3.5. Reprezentarea numerelor n virgul mobil n format scurt


Exponentul este operand cu semn n complement fa de 2 pe 4 bii, avnd valori n
intervalul [-8, 7]. Valorile maxime pozitive i negative se obin pentru E = 7, iar valorile minime
pozitive i negative se obin pentru E = -7, ilustrate n tabelul 3.1. Valoarea E = -8 este rezervat
pentru reprezentarea numrului real 0.0 (E=-8, S=F=0), a crui reprezentare n format scurt este
8000h.
Tab. 3.1. Valorile maxime i minime pentru virgula mobil n format scurt

Numr
real
maxim pozitiv
minim pozitiv
minim negativ
maxim negativ

Reprezentare
n format
scurt (hexa)
77FFh
9000h
9FFFh
7800h

Valoare real (binar)


01.11111111111227
01.0000000000022-7
10.1111111111122-7
10.00000000000227

Valoare real
(zecimal)
255.94
0.0078125
-0.0078163
-256

Cnd un operand imediat este indicat n format scurt n cmpul instruciunii, el este
memorat n registrele procesorului de 32 de bii, aliniat la stnga, pe poziiile celor mai
semnificativi 16 bii.
Numerele reale n format simpl precizie sunt reprezentate n virgul mobil pe 32 de
bii, astfel: 8 bii pentru exponent, 1 bit de semn i 23 de bii pentru cmpul fracie, dup cum se
arat n figura 3.6.
Exponentul este operand cu semn n complement fa de 2 pe 8 bii, cu valori n intervalul
[-128, 127]. Valoarea minim E = -128 este rezervat pentru reprezentarea numrului real 0.0 (E
= -128, S=F=0), a crui reprezentare n format simpl precizie este 80000000h.
31

24 23 22

Exponent (E) S

Fracie (F)
Mantis (M)

Fig. 3.6. Reprezentarea n virgul mobil n format simpl precizie


6

Tipuri de date
Valorile maxime pozitive i negative se obin pentru E = 127, iar valorile minime pozitive
i negative se obin pentru E = -127, fiind ilustrate n tabelul 3.2.
Tab. 3.2. Valori maxime i minime pentru virgula mobil n simpl precizie

Numr real
maxim pozitiv
minim pozitiv
minim negativ
maxim negativ

Format
simpl precizie (hexa)
7F7FFFFFh
81000000h
81FFFFFFh
7F800000h

Valoare real (binar)


01.1111111111111111111111122127
01.0000000000000000000000022-127
10.1111111111111111111111122-127
10.0000000000000000000000022127

Valoare real
(zecimal)
3.40282341038
5.877471710-39
-5.87747241039

-3.40282361038

Numerele reale n format precizie extins sunt reprezentate n virgul mobil pe 40 de


bii, astfel: 8 bii pentru exponent, 1 bit de semn i 31 de bii pentru cmpul fracie, dup cum se
arat n figura 3.7. Aceste numere pot fi memorate n registrele de precizie mrit R7 R0 i
sunt exprimate pe 10 cifre hexa.
Similar formatului simpl precizie, exponentul este tot operand cu semn n complement fa
de 2 pe 8 bii, cu valori n intervalul [-128, 127]. Valoarea minim E=-128 este rezervat pentru
reprezentarea numrului real 0.0 (E = -128, S = F = 0), a crui reprezentare n format precizie
extins este 8000000000h.
39

32 31 30

Exponent (E) S

Fracie (F)
Mantis (M)

Fig. 3.7. Reprezentarea n virgul mobil n format precizie extins


De asemenea, valorile maxime pozitive i negative se obin pentru E = 127, iar cele minime
pozitive i negative se obin pentru E = -127, fiind ilustrate n tabelul 3.3.
Tab. 3.3. Valori maxime i minime pentru virgula mobil n precizie extins
Numr real
maxim pozitiv
minim pozitiv
minim negativ
maxim negativ

Format simpl
precizie (hexa)
7F7FFFFFFFh
8100000000h
81FFFFFFFFh
7F80000000h

Valoare real (zecimal)


3.40282366841038
5.877471754110-39
-5.877471756810-39
-3.40282366921038

Valoarea real n binar este similar formatului anterior, fracia fiind ns reprezentat pe 31 de
bii. Deoarece cmpul fracie are dimensiune mai mare, numerele reprezentate vor avea precizie
mai mare fa de formatul simpl precizie.
7

S-ar putea să vă placă și