DSP Curs Tipuri Date

download DSP Curs Tipuri Date

of 6

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.