DSP Curs Tipuri Date
-
Upload
david-stefan -
Category
Documents
-
view
226 -
download
0
Transcript of DSP Curs Tipuri Date
-
7/26/2019 DSP Curs Tipuri Date
1/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 TMS320C32poate opera cu trei tipuri de date numerice: numere ntregi frsemn (unsigned integer) numere ntregi cu semn, numite pe scurt numere ntregi (signed integersau integer) numere reale reprezentate n virgulmobil(floating-point).
Numerele ntregi cu sau frsemn sunt reprezentate n virgulfixi pot fi n format scurtsau n format simplprecizie, iar numerele reale sunt reprezentate n virgulmobil, putnd fi nformat scurt, precizie simplsau precizie extins.
Arhitectura procesorului permite realizarea operaiilor n virgulmobil, la aceeai vitezcu cele n virgulfix, fra necesita o tratare speciala 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 cunumere reale.
3.1. Reprezentarea numerelor n virgulfix
Numerele ntregi sunt reprezentate n virgulfix, prin cuvinte binare peNbii, putndu-seastfel reprezenta 2Nnumere diferite. Intervalul de numere ce pot fi reprezentate pe Nbii difernsn funcie de tipul operandului.
Dacoperandul este numr ntreg frsemn, considerat implicit numr natural, atunci toatecele 2Ncombinaii binare vor reprezenta numere naturale, iar intervalul de reprezentare pe Nbiieste: I1= [0, 2
N-1].
Dacoperandul este numr ntreg cu semn, atunci trebuie generato regulde reprezentarea semnului, care nu este unic. Existmai multe coduri de reprezentare a numerelor negative,cum ar fi: codul semn-magnitudine, codul complement fade 1 sau codul complement fade 2.
Toate codurile de reprezentare a operanzilor ntregi cu semn au o serie de caracteristicicomune: semnul (S) reprezint bitul cel mai semnificativ din combinaia binar (bitN-1), avnd
semnificaia: S = 0numr pozitiv i S = 1numr negativ; numerele pozitive au aceeai reprezentare n toate codurile; numerele negative sunt reprezentate diferit, nscodurile trebuie srespecte regula de negare
aritmetica oricrui numrA: - ( -A ) = A.
n codul complement fade 2, reprezentarea binara unui numr negativ (-A) se obine dinreprezentarea numrului pozitivA, negnd logic toi biii i adunnd 1. De exemplu, pentru N =8, pornind de la numrul ntreg pozitivA = 85 = 01010101b, se poate obine reprezentarea binara numrului negativA:
b1010101185A2C
2
-
7/26/2019 DSP Curs Tipuri Date
2/6
Tipuri de date
Codul complement fa de 2 are dou avantaje majore fa de celelalte dou coduri dereprezentare:- valoarea 0 are reprezentare unic(+0), fade reprezentarea dubln celelalte doucoduri (- 0i respectiv + 0). Din acest motiv, intervalul de reprezentare n complement fade 2 este maimare cu 1, n zona numerelor negative;- rezultatul operaiilor aritmetice simple se obine direct, fra fi necesare alte corecii efectuateasupra sa.
Datorit acestor avantaje, codul complement fa de 2 este implementat n majoritateamicroprocesoarelor.
Pentru codul complement fade 2, intervalul de reprezentare pe Nbii a numerelor ntregicu semn este: I2= [- 2
N - 1, 2N - 1-1].
n figura 3.1 sunt ilustrate intervalele de reprezentare n virgulfixpeNbii a numerelor ntregifrsemn i a celor cu semn, reprezentate n complement fade 2.
Fig. 3.1.Intervalele de reprezentare n virgulfixpe N bii
Operaiile cu numere n virgul fix sunt realizate de aceeai unitate aritmetico-logic,indiferent dacoperanzii sunt ntregi cu semn sau frsemn. Trebuie precizat cALUopereazcu numere binare, iar semnificaia acestora, de operanzi cu sau frsemn, este cunoscutdoar de
programator.De exemplu, pentruN = 8, intervalele de reprezentare a numerelor n virgulfixpe 8 bii
sunt: I1= [0, 255], respectiv I2= [- 128, 127].n aceste condiii, operandul binar pe 8 biiM = 10110100bpoate reprezenta numrul ntreg frsemn 180 sau numrul ntreg cu semn 76.
n funcie de tipul operanzilor, programatorul testeaz indicatorii de condiii la sfrituloperaiei, pentru interpretarea rezultatului.
Procesorul de semnal TMS320C32poate opera cu numere n virgul fix, reprezentate ndou tipuri de formate: formatul scurt, n care numerele sunt reprezentate pe 16 bii (N = 16),respectiv formatul simplprecizie, n care numerele sunt reprezentate pe 32 bii (N = 32).
Numerele ntregi fr semn n format scurt sunt reprezentate pe 16 bii, rezultndintervalul de reprezentare I1= [0, 2
16-1].Un operand imediat frsemn n format scurt va fi indicat n cmpul instruciunii pe 16 bii.
ns, procesorul TMS320C32memoreazoperanzii n virgulfix, n registrele proprii, pe 32 debii i toate operaiile de virgulfixsunt realizate pe 32 de bii.
De aceea, operanzii frsemn n format scurt sunt utilizai pe 32 de bii, completndu-se cei
mai semnificativi 16 bii cu 0, dupcum se aratn figura 3.2.
3
-
7/26/2019 DSP Curs Tipuri Date
3/6
-
7/26/2019 DSP Curs Tipuri Date
4/6
Tipuri de date
Pentru procesorul de semnal TMS320C32, formatul general al numerelor n virgulmobilconine trei cmpuri, fiind ilustrat n figura 3.4: cmpul exponent (E), bitul de semn (S) i cmpulfracie (F). Bitul de semn i cmpul fracie formeazcmpul mantis.
Fracie (F)Exponent (E) S
Mantis(M)
Fig. 3.4.Formatul general al numerelor n virgulmobil
Formula generalde calcul al unui numr realx, reprezentat n virgulmobiln formatul
specific procesorului TMS320C32, este: E2 2F.SSx ,
unde S= bitul de semn, S= valoarea negata bitului de semn,F2= valoarea binara cmpuluifracie, iarE= valoarea zecimalechivalenta cmpului exponent.Comparnd acest format cu formatul general al numerelor reprezentate n virgulmobil, se
constatcmantisa este un numr binar, care are parte ntreag(formatdin doi bii SS) i partefracionar(F2): 2F.SSM
Mantisa (M) reprezint un numr cu semn n complement fa de 2, normalizat. nreprezentarea normalizat, n afarde bitul de semn (S), pentru partea ntreageste utilizat un bit
suplimentar, care reprezinttotdeauna valoarea negata bitului de semn ( S). Se obine astfel oprecizie mritcu un bit.
Dac S = 0 (numrul real este pozitiv), atunci cei doi bii ai mantisei din faa punctuluibinar sunt 01SS . n acest caz, partea ntreaga mantisei va fi egalcu 1, iar mantisaMva fi un
numr pozitiv, . Dacvaloarea binara fraciei este zero (F2= 0b), atunciM=1. Se observc, pentruE = S = F =0b,x= 1.
2,1F.01M 2
DacS= 1 (numrul real este negativ), atunci cei doi bii ai mantisei din faa punctului
binar sunt 10SS . n acest caz, partea ntreaga mantisei va fi egalcu -2 (complement fade
2), iar mantisaMva fi un numr negativ, 1,2F.10M 2 . Dacvaloarea binara fracieieste zero (F2= 0b), atunciM= -2. De asemenea, se observc, pentruE = F =0b i S =1,x= -
2.0.
n orice baz, nmulirea unui numr cu bazaBla o putere k(Bk) se obine prin deplasareavirgulei k poziii la dreapta sau la stnga, n funcie de valoarea lui k, eventual completndnumrul cu zerouri.
Deoarece mantisa M este un numr binar, nmulirea ei cu 2E se obine prin deplasareavirgulei la dreapta (dacexponentul este pozitiv) sau la stnga (dacexponentul este negativ), unnumr de poziii egal cu valoarea exponentuluiE.
n funcie de dimensiunile exponentului (E) i ale fraciei (F), procesorul TMS320C32poateopera cu numere n virgulmobil, reprezentate n trei tipuri de formate: format scurt, precizie
simplsau precizie extins.
5
-
7/26/2019 DSP Curs Tipuri Date
5/6
Tipuri de date
Numerele reale n format scurt sunt reprezentate n virgul mobil pe 16 bii ncomplement fa de 2, astfel: 4 bii pentru exponent, 1 bit de semn i 11 bii pentru cmpulfracie, dupcum se aratn figura 3.5.
Fracie (F)Exponent (E) S
Mantis(M)
010111215
Fig. 3.5.Reprezentarea numerelor n virgulmobiln format scurt
Exponentul este operand cu semn n complement fa de 2 pe 4 bii, avnd valori nintervalul [-8, 7]. Valorile maxime pozitive i negative se obin pentruE= 7, iar valorile minime
pozitive i negative se obin pentruE= -7, ilustrate n tabelul 3.1. ValoareaE= -8 este rezervat
pentru reprezentarea numrului real 0.0 (E=-8, S=F=0), a crui reprezentare n format scurt este8000h.
Tab. 3.1. Valorile maxime i minime pentru virgula mobiln format scurt
Numr
real
Reprezentare
n format
scurt (hexa)
Valoare real(binar)
Valoare real
(zecimal)
maxim pozitiv 77FFh 01.11111111111227 255.94
minim pozitiv 9000h 01.0000000000022-7 0.0078125
minim negativ 9FFFh 10.1111111111122-7
-0.0078163maxim negativ 7800h 10.00000000000227 -256
Cnd un operand imediat este indicat n format scurt n cmpul instruciunii, el estememorat n registrele procesorului de 32 de bii, aliniat la stnga, pe poziiile celor maisemnificativi 16 bii.
Numerele reale n format simpl precizie sunt reprezentate n virgulmobil pe 32 debii, astfel: 8 bii pentru exponent, 1 bit de semn i 23 de bii pentru cmpul fracie, dupcum searatn figura 3.6.
Exponentul este operand cu semn n complement fade 2 pe 8 bii, cu valori n intervalul[-128, 127]. Valoarea minimE= -128 este rezervatpentru reprezentarea numrului real 0.0 (E= -128, S=F=0), a crui reprezentare n format simplprecizie este 80000000h.
Fracie (F)Exponent (E) S
Mantis(M)
022232431
Fig. 3.6.Reprezentarea n virgulmobiln format simplprecizie
6
-
7/26/2019 DSP Curs Tipuri Date
6/6
Tipuri de date
7
Valorile maxime pozitive i negative se obin pentruE = 127, iar valorile minime pozitivei negative se obin pentruE = -127, fiind ilustrate n tabelul 3.2.
Tab. 3.2. Valori maxime i minime pentru virgula mobiln simplprecizie
Numr real
Format
simplpre-
cizie (hexa)Valoare real(binar)
Valoare real
(zecimal)
maxim pozitiv 7F7FFFFFh 01.1111111111111111111111122127 3.40282341038
minim pozitiv 81000000h 01.0000000000000000000000022-127 5.877471710-39
minim negativ 81FFFFFFh 10.1111111111111111111111122-127 -5.877472410-
maxim negativ 7F800000h 10.0000000000000000000000022127 -3.40282361038
Numerele reale n format precizie extinssunt reprezentate n virgulmobilpe 40 debii, astfel: 8 bii pentru exponent, 1 bit de semn i 31 de bii pentru cmpul fracie, dupcum searat n figura 3.7. Aceste numere pot fi memorate n registrele de precizie mritR7 R0isunt exprimate pe 10 cifre hexa.
Similar formatului simplprecizie, exponentul este tot operand cu semn n complement fade 2 pe 8 bii, cu valori n intervalul [-128, 127]. Valoarea minimE=-128 este rezervatpentrureprezentarea numrului real 0.0 (E = -128, S = F = 0), a crui reprezentare n format precizieextinseste 8000000000h.
Fracie (F)Exponent (E) S
Mantis(M)
030313239
Fig. 3.7.Reprezentarea n virgulmobiln format precizie extins
De asemenea, valorile maxime pozitive i negative se obin pentruE = 127, iar cele minimepozitive i negative se obin pentruE = -127, fiind ilustrate n tabelul 3.3.
Tab. 3.3. Valori maxime i minime pentru virgula mobiln precizie extins
Numr real Format simpl
precizie (hexa)
Valoare real(zecimal)
maxim pozitiv 7F7FFFFFFFh 3.40282366841038
minim pozitiv 8100000000h 5.877471754110-39
minim negativ 81FFFFFFFFh -5.877471756810-39
maxim negativ 7F80000000h -3.40282366921038
Valoarea realn binar este similarformatului anterior, fracia fiind nsreprezentatpe 31 de
bii. Deoarece cmpul fracie are dimensiune mai mare, numerele reprezentate vor avea preciziemai mare fade formatul simplprecizie.