Sunteți pe pagina 1din 20

1

Caracteristicile sistemelor de prelucrare digital! a


semnalelor .


Majoritatea aplica!iilor de procesare a semnalelor ( Digital Signal Processing - DSP)
necesit" o prelucrare n timp real cu o intrziere minim" ntre momentele de timp ale achizitiei
semnalului de intrare #i generarea semnalului de iesire. Pentru aceste aplica!ii datele de intrare
nu pot fi stocate (pentru a fi prelucrate " off line" ) deci procesorul trebuie sa fie suficient de
rapid pentru a se evita pierderea de date.
Pe de alt" parte algoritmii DSP snt caracteriza!i de paralelism n ceea ce prive#te
organizarea calculelor; acest paralelism poate fi exploatat de arhitectura procesorului de
semnal .
Vedere general! asupra unui procesor de semnal

n figura 1. este prezentat" o configuratie generic" a unui procesor de semnal constituit
din: unitatea de procesare, memorie, unitatea detransfer a datelor, procesorul de intrare / ie#ire
#i procesorul de control.
n structur" pot exista mai multe unit"ti de prelucrare distribuite, cu memorii private
sau comune. Transferul datelor #i conflictele de acces la memorie pot constitui elemente de
reducere a vitezei globale de operare a procesorului. Pentru evitarea acestui fenomen se
utilizeaz" proiectarea modularizat", cu partajarea sarcinilor ntre unit"tile de prelucrare. Acest
lucru este valabil att pentru procesoarele de semnal nou create ct #i pentru structurile de
prelucrare cu mai multe procesoare integrate interconectate.
Procesorul de intrare - iesire (I /O) asigur" preluarea semnalului de intrare #i generarea
semnalului de ie#ire (filtrare de band", conversii, stocare a datelor, protocolul de comuni!ie cu
exteriorul).
Memoria este caracterizat" prin: capacitatea de stocare a datelor, l"rgimea cuvntului
de date, modurile de adresare a datelor, timpul de acces).


2
I / O
Intrare
Iesire
Memorie
Retea de
transfer
a datelor
Procesor
de control
Procesor
Unitate
prelucrare
de


Figura 1 Procesor de semnal generic

Re!eaua de transfer a datelor asigur" transmiterea datelor c"tre toate unit"tile
func!ionale ale procesorului de semnal (transmisie de date, rutarea datelor, controlul asupra
erorilor ).
Procesorul de control este caracterizat de: capacitatea de stocare a instruc!iunilor,
viteza de execu!ie , setul de instruc!iuni.
Unitatea de prelucrare asigur" efectuarea opera!iilor de baz" (opera!ii aritmetice,
logice) #i este caracterizat" de: timpul de execu!ie a intruc!iunilor, gradul de flexibilitate.
Func!iile procesorului de control snt: interpretarea comenzilor primite din exterior,
controlul transferului de date, controlul unit"!ilor de prelucrare #i controlul interfe!elor de
intrare-ie#ire.
Aceste func!ii pot fi distribuite #i c"tre alte elemente ale sistemului. De exemplu
unit"!ile de prelucrare au posibilitatea de a controla local transferul datelor #i func!iile
aritmetice - logice proprii.
Procesorul de control poate efectua prelucr"ri complementare aplica!iei DSP (de uz
general care nu au cerinte critice de timp : monitorizare , ntre!inere etc. )
Resursele procesorului de control includ capacitatea de stocare a datelor #i
instruc!iunilor, setul de instruc!iuni, capabilitatea aritmetic".
Elementele de prelucrare execut" algoritmul DSP n timp real . Aceste elemente snt
specializate n efectuarea prelucr"rilor specifice algoritmilor DSP.
3
Re!eaua de transfer a datelor reprezint" un bloc esen!ial n sistem; acest bloc poate
avea influen!e majore n viteza de prelucrare global" a sistemului.
Resursele re!elei de transfer a datelor includ: c"ile de rutare a datelor, l"rgimea
busurilor de transfer a datelor, viteza de transmisie, posibilitatea de transfer pe blocuri de date.
Cerin!ele de control a retelei de transfer includ protocoalele de comunica!ie #i modurile de
adresare. Num"rul de busuri reprezint" o problem" care diminueaz" capacitatea de transfer a
datelor ntre blocurile din figura 1; nu este convenabil" realizarea unei interconect"ri totale
ntre blocuri datorit" complexit"tii tehnologice #i a necesit"!ii introducerii unor blocuri
suplimentare de arbitare a cererilor de acces multiple.
Resursele memoriilor includ: capacitatea de stocare , l"rgimea cuvintului de date,
modurile de adresare #i controlul general al memoriei ( decodificare , comenzi ).
Unit!"i aritmetice #i de control pentru procesoare DSP

Unitatea aritmetica poate fi organizata n 3 moduri prezentate mai jos:
1.Unitate aritmetica fara multiplicator (numai sumator #i shifter); este prezentat" n figura 2.


Figura 2.
Nota!ii: Acc - acumulator
Mux - multiplexor

4
n acest caz inmul!irea se realizeaz" prin deplas"ri #i adun"ri (conform unui algoritm
secven!ial de nmultire implementat prin program); solutia este foarte economic", dar de
vitez" mica.

2.Unitate aritmetic" cu multiplicator #i sumator

a) structura n cascada (figura 3 a)

Structura este potrivit" pentru sume de produse; se pot efectua nmul!iri rapide. Timpul
de efectuare al unei sume de produs (nmul!ire #i acumulare la suma anterior") este destul de
mare. Pentru mbunat"!irea performan!elor acestei structuri se pot folosi n paralel nmultitorul
#i sumatorul. Multiplicatorul se poate folosi n mod secven!ial (se efectueaz" cte un produs
apoi se face acumularea rezultatului) sau n timp ce se efectueaza un produs se acumuleaza
rezultatul anterior (utilizarea n paralel a multiplicatorului #i a sumatorului).
Dezavantajele acestei structuri snt: efectuarea sumelor simple se face cu utilizarea
suplimentar" a multiplicatorului (ceea ce m"re#te timpul de calcul) #i efectuarea produselor
multiple se face cu utilizarea suplimentar" a sumatorului.



Figura 3 a)



5
b) structura paralel" (figura 3 b)


Figura 3 b)

Avantajul acestei structuri este posibilitatea efectu"rii unor calcule, de tip x.y+z, cu
vitez" foarte mare datorit" faptului ca sumatorul #i multiplicatorul pot lucra paralel.
Dezavantajele structurii snt: num"rul de busuri interne mare; pentru reducerea
num"rului de busuri se alege varianta transferurilor pe busuri comune sumatorului #i
multiplicatorului: paralelismul nu mai este total.
Unitatea de control a unui procesor de semnal poate fi realizat" microprogramat
utiliznd tehnica pipe-line pentru a mari viteza de lucru. n figura 3.c este ilustrat" realizarea
unei unit"!i de control microprogramate f"r" pipe-line. Modific"rile introduse prin tehnica
pipe line snt ilustrate n figura 3d.
Nota!iile utilizate snt:
t
secv
- timp de calcul al adresei pentru memoria demicroprograme
t
acc
- timp de acces la memoria de microprograme
t
PR
,t
SR
- timp de nc"rcare a registrelor R1,R2
t
stat
- timp de stabilire a st"rii unit"tii aritmetice (n avans)
t
c
- timp de calcul efectiv (opera!ii interne n unitatea aritmetic")

n timp ce unitatea aritmetic" execut" instructiunea (n) secventorul calculeaz" deja
adresa pentru instructiunea (n+1) folosind ca informa!ie instructiunea (n) #i starea unit"!ii
aritmetice de la instructiunea (n-1).


6
Figura 3 c)


Figura 3 d)

7
Exemple de arhitecturi de procesoare de semnal

Aceast" sec!iune prezint" cteva exemple de familii de procesoare de semnal.
Procesoare de virgul! fix!
ADSP 2$00 ( Analog Devices )


Caracteristici
-ciclul masin" 13 33 ns
-memorie on-chip ( maxim 16 k x24 pentru program #i 16 k x 16 pentru date,
adresabilitate direct", posibilitate de extindere prin overlay )
-porturi seriale ,timer
-stive hardware
-6-12 niveluri de ntrerupere
-aritmetic" n virgul" fix" (C2)
-sumator pe 16 biti
-nmultitor 16 x 16 bi!i cu acumulare pe 40 de bi!i
-adresare direct", indirect", circular", bit-reverse
8

DSP 5600$/56002 Motorola

Caracteristici

-ciclul masin" 30 ns
-memorie on chip
-port serial #i port paralel (pe 8 biti)
-interfa!" paralel" cu un microcalculator (PC)
-stiv" hardware
-aritmetic" n virgul" fix"
-opera!ii aritmetice pe 56 biti , logice pe 24 bi!i
-32 niveluri de ntrerupere







9



TMS 320C2X / 320C5X (Texas Instruments)



Caracteristici

-ciclu masin" 20 ns
-memorie on chip
-porturi seriale
-stiv" hardware
-aritmetic" n virgula fix"
-ALU pe 32 bi!i
-nmultitor 16 x 16 biti cu acumulare pe 32 biti




10


Comentarii despre arhitecturi

DSP 56000/5600$

Sec"iunea aritmetic!

-Unitate aritmetic" rapid" pe 24 (n)/48 (out)/56 (ext) bi!i
-Execut" opera!iile ALU ntr-un singur ciclu

P"r!ile componente snt:
-4 registre de 24 bi!i
-unitate MAC (nmultitor paralel) - ntr-un singur ciclu
- 2 acumulatoare de 48 bi!i
- 2 registre de extensie de 8 bi!i
- 1 shifter (1 pozi!ie)
- 2 circuite de shiftare/limitare (pentru saturarea aritmetic"); de exemplu:
operandul surs" este 01.100 (+1.5), destina!ia are 4 bi!i deci rezult" suma 1.100 (bitii
LSB) adic" (-1.5) rezultat eronat! Pe 4 biti a ap"rut o dep"#ire care prin limitare d" 0.111 adica
+0.875 - eroarea este mai mic".
- acumulator separat pentru MAC
Registrele servesc pentru introducerea operanzilor n ALU sau MAC. Se pot citi /scrie
direct de pe bus-ul de date - se elimin" astfel problemele anun!ate anterior (nmultiri multiple
#i adun"ri multiple - vezi schema b) de unitate aritmetic"). Dup" nmultire se poate face
rotunjire.

Concluzii:

-Unitatea aritmetic" este destinat" efectu"rii calculelor aritmetico-logice, inmultiri #i
sume de produse cu operanzi din 2 zone de date diferite (X sau Y).
-Nu exist" pipe-line;
-Exist" un set de indicatori condi!ionali.
11

Unitatea de adresare a datelor

-Permite adresare liniar", modulo,cu inversarea bitilor, bit-reverse.
-Poate adresa date din memoria de program.
-Genereaz" adresa pentru 2 operanzi ntr-un singur ciclu
-Adresa este de 16 bi!i
-Calculul adresei se face astfel: adresa = (R+N) mod M

Secven"orul de program

Func!iuni:

-generarea adresei de instruc!iune (prefetch)
- decodarea instruc!iunii
- bucle DO (implementate HW, fara "overhead")
- controlul programului
-controlul ntreruperilor (32 ntreruperi pe 4 nivele de prioritate: 'fast ' #i 'long ';
pentru intreruperile 'fast ' se executa maxim 2 intruc!iuni de la adresa fix" apoi se revine n
programul ntrerupt n mod automat f"r" instructiunea de revenire din intrerupere -RETI)
Exista stiv" HW (extensibil" SW). Instructiunile snt de tip "pipe-line" cu 3 nivele
(fetch,decodificare,executie); acest lucru permite execu!ia ntr-un singur ciclu a majorit"!ii
instruc!iunilor.

TMS 320C25

Sec"iunea aritmetic!

- un singur acumulator pentru operatii aritmetice/logice #i MAC;
Nu se pot ncarc" simultan 2 operanzi simultan n ALU ci:
- un operand din acumulator;
- un operand - prin bus-ul de date;
- ie#irea multiplicatorului;
12
O adunare presupune #tergerea acumulatorului, ncarcarea cu o dat" din memorie #i
apoi adunarea cu alt" dat" din memorie (2 cicluri pentru o singur" adunare).

ex.: ZALH <data mem adr>
ADDH <data mem adr>

- nu toate opera!iile ALU se desf"soar" ntr-un singur ciclu;
- nu toate operatiile ALU se desf"soar" cu prefixul REP (de repetare);
- nu are nmul!itor/acumulator dedicat pentru MAC;
- nmultirea nu se desf"soar" ntr-un singur ciclu:
- mai intii se incarc" registrul TR al MPY;
- apoi se efectueaza nmul!irea cu un operand din memoria de date sau de
program.
- nmul!irea cu acumulare se efectueaza ntr-un singur ciclu .

Shifter-ul efectueaz" deplas"ri cu:
- 0-16 bi!i la stnga/dreapta (naintea efectu"rii opera!iilor aritmetice);
- 6 bi!i la dreapta (pentru protec!ie overflow) sau 1-4 bi!i la stnga dup"
efectuarea unei nmultiri ( dup" nmul!itor).
- 0-7 biti la stnga dup" acumulator (nainte de stocarea n memorie, dup"
efectuarea opera!iilor aritmetice).

Adresarea datelor

- folose#te registre auxiliare pentru stocarea adreselor ( adresare indirect");
- are un singur registru modificator (+/-1 numai);
- nu pot fi adresate 2 date (operanzi) simultan;
- nu are adresare "modulo" (deci nu are "buffere circulare");
- adresare direct": pagini de 128 cuvinte de 16 bi!i (un registru de pagina memoreaza pagina
curent" de date);
- num"rul registrului auxiliar care con!ine adresa" este stocat n ARP (auxiliar register
pointer) citit prin ARB (auxiliar register buffer);
- registrele auxiliare pot fi utilizate pentru stocarea unor date;
13
- exist" modul bit-reverse.

Secventorul de program

- instructiuni cu "pipe-line" (instructiunile snt "citite" cu adresa generat" de "prefetch
counter" #i snt depuse n "coada de instruc!iuni"). n func!ie de execu!ia intruc!iunii curente
mai multe instruc!iuni pot fi depuse n coada de instruc!iuni (controlul programului este dificil
de nteles; apar 3 cicluri suplimentare n cazul salturilor, necesare pentru stergerea cozii de
instructiuni).
- stiva pe 8 niveluri;
- nu se salveaz" complet starea microprocesorului la aparitia unei ntreruperi;
- nu se pot implementa hardware bucle de tip DO UNTIL; aceste bucle se pot implementa
numai prin software (apare un ciclu suplimentar pentru tratarea condi!iei de terminare a
buclei).

ADSP 2$0$

Sec"iunea aritmetic!:

- inc"rcare a 2 operanzi ( pe busul de date al memoriei de program PMD #i pe busul de
date al memoriei de dateDMD);
- instruc!iuni ntr-un singur ciclu;
- instructiuni condi!ionale;
- structur" foarte flexibil";
- MAC cu rotunjire aritmetic";
- deplas"ri cu 0-32 pozi!ii stnga / dreapta ntr-un singur ciclu;

Sec"iunea de adresare a datelor

- adresare a 2 operanzi simultan (din memoria de date DM #i din memoria de program
PM) intr-un singur ciclu;
- adresare - direct";
- indirect";
14
- adresare liniar", modulo, bit-reverse;
- adrese pe 14 bi!i - 16k cuvinte de memorie.

Secven"orul de program

Selecteaz" adresa pentru PM
- din registrul program counter PC
- adresa liniar";
- adresa de salt (jump, call);
- stiva PC (reintoarcere din subrutine #i intreruperi);
- vector de intrerupere.
- controler de ntreruperi (exista o stiv" hardware pentru salvarea complet" a st"rii
procesorului);
- bucle DO UNTIL implementate hardware (snt permise pn" la 4 bucle nlan!uite,
exist" o stiv" hardware pentru contorul de itera!ii #i stiv" hardware pentru salvarea condi!iei
de terminare a buclei - 4 niveluri fiecare);
- nu apar cicluri suplimentare (nici la bucle nici la salturile condi!ionate);
- este usor de calculat timpul de execu!ie al programului.
Compara!ia ntre cele trei arhitecturi este centralizat" n tabelele urm"toare:

Posibilit!"i aritmetice ADSP 2101 TMS 320C50 DSP 56000/1

Toate opera!iile ALU
ntr-un singur ciclu DA NU DA

Multiplicarea ntr-un
singur ciclu DA NU DA

MAC ntr-un singur DA (n mod
ciclu DA repetitiv) DA

Shiftare ntr-un 0-32 biti 0-16 biti 0-56 sau 0-24b
singur ciclu stinga/dreapta stnga/dreapta stnga/dreapta

Protec!ie la overflow
a acumulatorului 8 biti 1 bit 8 biti

Multiplic"ri mod cu #i nu are mod nu are mod
fara semn #i mixt DA mixt mixt
15

Normaliz"ri ntr-un
singur ciclu DA NU DA


Posibilit!"i de adresare a datelor ADSP2101 TMS320C50 DSP56000/1

ncarcare a 2 operanzi ntr-un
singur ciclu din memoria on-chip DA NU DA

Modificarea 2 adrese cu 2
valori diferite la fiecare ciclu DA NU DA

Mod "bit-reverse" DA DA DA

Buffere circulare cu pas numai cu
variabil (+/-) DA pas 1 DA

Posibilitati de control
al programului ADSP 2101 TMS 320C50
DSP56000/1

Adncimea stivei PC 16 8 32x16 (globala
PC,bucle, etc.)

Bucle nlantuite 4 NU DA n limita
stivei globale

Instructiuni aritmetice DA NU NU(numai
condi!ionale de transfer #i salt)

Salturi #i bucle f"r"
cicluri suplimentare
DA NU NU (cu excep!ia
buclelor hardware)
Salvare automat" a
st"rii ma#inii la DA NU DA
ntrerupere


Vitezele de lucru ale (*) (*)
celor 3 procesoare DSP DSP 56000 TMS 320C25 ADSP 2101

Inmultire matrici 3x3 1659ns 1800ns 1600ns

FFT n 1024 puncte 3,231ms 9,08ms 4,23ms

Filtru IIR cu 8 poli 2800ns 3520ns 3280ns

16
DTMF - - 12 canale

LPC ord 10 - - 0,36ms

ADPCM full-duplex - - 0,068ms

Procesoare de semnal de virgul! mobil!

Formatul datelor utilizate de un procesor de semnal determin" capacitatea de a prelucra
semnale cu o anumit" precizie, gam" dinamic" #i raport semnal zgomot. Totu#i trebuie luate n
considerare #i aspectele referitoare la modul de manevrare a datelor #i la costul structurii de
prelucrare.
Precizia de prelucrare este corelat" cu precizia convertorului A/D #i cu cerin!ele
impuse de algoritmul DSP .
Algoritmii de compresie #i decompresie utiliza!i n dispozitivele de e#antionare
opereaz" pentru semnale de band" cunoscut" #i au avantajul c" permit utilizarea unor structuri
de prelucrare de precizie mai mic" , deci mai ieftine #i mai usor de implementat. Exist" totu#i
situa!ii n care o gam" dinamic" mare este necesar" (de exemplu filtrarea adaptiv" #i
prelucrarea imaginilor). De asemenea o gam" dinamic" mare permite ob!inerea unui raport
semnal / zgomot mare (de exemplu pentru recunoa#terea vorbirii).
Familia de procesoare de semnal ADSP 2$0$0 / 2$020

Arhitectura procesorului de semnal ADSP 21020 este prezentat" n figura 4
Se observ" faptul c" arhitectura procesorului ADSP 21020 nu difer" , ca principiu de
organizare, de arhitectura procesorului ADSP 2100 ( de virgul" fix" ).
Exist" cele 3 unit"ti de prelucrare ( MAC, ALU, SHIFTER) conectate n parelel.
Busul de date este de 32 bi!i ( extins la 40 bi!i ), iar busul de instructiuni este de 48 bi!i.
Unitatea MAC poate opera att n virgul" mobil" ct #i n virgul" fix", n ceea ce
prive#te nmul!itorul. Registrul de acumulare al unit"!ii MAC este de virgul" fixa. Utiliznd ca
registru acumulator orice registru de virgul" mobil" se pot efectua opera!ii de tip suma de
produse ( cu ajutorul unor instruc!iuni multifunc!ie ) .
Se men!in ca principiu toate caracteristicile familiei de procesoare ADSP 2100
(implementate diferit ) #i se adaug" noi facilit"!i pentru realizarea unor structuri hardware #i a
unor programe mai simple #i mai flexibile.
17
Tendin!a de viitor este realizarea unor procesoare de semnal cu un grad de integrare
foarte ridicat - ca de exemplu procesoarele de semnal SHARC ( Super Harvard Architecture
Computer).
Procesorul SHARC - ADSP 2$060

Acest procesor preia arhitectura procesorului ADSP 21020 #i nglobeaz" suplimentar
urm"toarele:

- memorie intern" SRAM ( configurabil" ca memorie de program sau ca memorie de
date)
- un procesor de intrare / ie#ire
- interfat" cu un calculator gazd"
Procesorul de intrare / ie#ire are structura din figura 5.

Multiplicator
FX/FP cu
acumulator FX
Registre
FX / FP
Shifter
ALU
FX/FP
Interschimbare
DAG1 DAG2
Cache
JTAG
FLAG
Secventor
de program
PMA
DMA
PMD
DMD
(24)
(32)
(48)
(40)
Timer
Memorie


Figura 4. Arhitectura procesorului de semnal ADSP21020
18


Registre
Controler
DMA
Porturi
seriale
Porturi
link


Figura 5. Procesorul I/O din structura circuitului SHARC - ADSP21060

Interfa!a cu calculatorul gazda permite conectarea procesorului ADSP 21060 cu
procesoare de uz general standard pe 16 sau 32 biti cu hardware adi!ional minim.
Controlerul DMA poate fi utilizat pentru transferuri directe cu memoria (intern" #i
extern" sau memoria calculatorului gazd").
Procesorul ADSP 21060 este optimizat pentru interconectarea n sisteme
multiprocesor cu procesoare de semnal.
De asemenea porturile "link" permit comunica!ia ntre procesoare n sisteme
multiprocesor.
Considerente pentru proiectarea procesorului de semnal

Prelucrarea digital" a semnalelor presupune utilizarea unor procesoare de semnal cu
performante ridicate.
Performantele nu pot fi masurate numai prin viteza de multiplicare/acumulare (MIPS).
Deoarece o instruc!iune pentru un procesor de semnal (DSP) nu este echivalent" cu o
instructiune pentru un alt procesor de semnal, rata MIPS poate s" nu fie concludent" #i poate
conduce la erori de apreciere.
Arhitectura unui DSP #i performan!ele pentru fiecare bloc func!ional din aceasta
arhitectur" (cum ar fi unitatea aritmetic", unitatea de adresare #i secven!orul de program) pot
fi mult mai importante n stabilirea caracteristicilor unui procesor de semnal. Ceea ce distinge
un procesor de semnal de un procesor de uz general este reprezentat de urm"toarele:
19

$. Aritmetica rapid! #i flexibil!
Un procesor de semnal trebuie sa permita calcule ntr-un singur ciclu (multiplic"ri,
multiplic"ri #i acumul"ri, deplas"ri, opera!ii aritmetice #i logice). Unitatea aritmetic" trebuie
sa permita implementarea unui algoritm de prelucrare a semnalelor fara ca acesta sa fie
reformulat (modificat) pentru a putea fi implementat.

2. Dinamica extinsa pentru multiplicari/acumulari
Dinamica extins" este fundamental" pentru algoritmii de prelucrare a semnalelor.
Aceasta asigur" protec!ia la dep"#irile aritmetice care apar n decursul sumelor par!iale (de
exemplu efectuarea calculelor pe 40 bi!i cu 8 biti de extensie a bitului de semn).

3. nc!rcarea a 2 operanzi ntr-un singur ciclu (din memoria interna sau externa)
n calculele cu sum" de produse (convolu!ii numerice) trebuie nc"rcati 2 operanzi
pentru a efectua calculele. Capacitatea de adresare flexibil" pentru 2 date din memorie este
important".

4. Buffere circulare hardware (n memoria intern! sau extern!)
O clas" larg" de algoritmi de prelucrare a semnalelor necesit" buffere de memorie
circulare; dac" exist" posibilitatea hardware de a utiliza astfel de buffere se reduce timpul de
execu!ie (de prelucrare) #i se simplific" implementarea algoritmului.

5.Bucle hardware #i salturi condi"ionate f!r! cicluri suplimentare ("zero overhead
")
Algoritmii de prelucrare snt n mod natural repetitivi #i pot fi exprima!i simplu prin
bucle de program. Secventorul de program trebuie s" permit" implementarea buclelor #i a
salturilor conditionate f"r" ciclii ma#in" suplimentari datora!i test"rii condi!iei de terminare a
buclei sau test"rii condi!iei de salt; aceasta conduce la performan!e mai bune din punct de
vedere al timpului de prelucrare.
Proiectarea unui procesor de semnal trebuie sa ia n considerare tipul algoritmilor DSP
ce urmeaz" a fi implementa!i de procesor.
Procesorul de semnal nu trebuie sa aib" un bloc de control centralizat deoarece
majoritatea grafurilor DFG pot fi gndite cu prelucr"ri paralele ( astfel ncit fiecare unitate de
20
prelucrare sa fie utilizat" n paralel cu alte unit"!i - acest lucru este posibil dac" graful
aplica!iei este realizat cu un anumit grad de paralelism ). Ideea principal" este aceea ca fiecare
unitate de prelucrare s" posede un bloc de control propriu (pentru opera!ia specific" ); blocul
de control centralizat se distribuie c"tre fiecare unitate de prelucrare.
n func!ie de complexitatea aplica!iei se poate opta pentru una din formele de procesor
de semnal prezentate anterior ( pipe-line , vectoriale , matriciale , paralele). Apar ins"
probleme n ceea ce prive#te interconectarea elementelor func!ionale n cadrul acestor
procesoare ( sincronizare, comunica!ie ).
Pentru aplica!iile specifice n telecomunica!ii ( cu excep!ia aplica!iilor multimedia )
sistemele "clasice" cu un procesor integrat specializat performant conduc la rezultate bune.
Exista doua categorii de arhitecturi de procesoare de semanl : organizate n timp (time-
line) #i organizate dup" date ( data-driven).
Pentru arhitecturile organizate n timp execu!ia fiec"rei opera!ii se realizeaz"
ntr-un punct specificat al secven!ei de prelucrare. Deoarece prelucrarea este modificat" n
timp n sensul #tergerii unor opera!ii sau inser"rii unor opera!ii noi n secven!a de prelucrare
rezult" algoritmi de planificare #i distribuire a opera!iilor destul de complexi , ceea ce necesit"
un timp de execu!ie mare; aplica!ia poate s" nu mai fie de timp real.
Arhitecturile organizate dup" date preiau datele de intrare ntr-o coada de intrare ;
apari!ia datelor n cozile de intrare determin" planificarea #i distribuirea opera!iilor ;
rezultatele sint plasate ntr-o coad" de iesire. Daca dimensionarea cozilor este corect"
caracterul de aplica!ie de timp real se men!ine chiar #i pentru secven!e de opera!ii complexe.
n procesorul de semnal poate apare o intirziere ntre momentul n care unitatea de
prelucrare este pregatit" de operare #i momentul cnd ncepe execu!ia opera!iei. Aceast"
ntrziere apare n mod aleator datorit" faptului c" blocul de control este dinamic.

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