Sunteți pe pagina 1din 28

Procesoare Numerice de Semnal - CURS 1

2.4 Arhitectura generală a procesoarelor DSP

Procesorul DSP realizează funcţiile esenţiale de


prelucrare a semnalelor.
Dezvoltarea unui sistem DSP eficient se bazează pe:
• arhitecturile hard şi soft ale procesorului DSP,
• resursele disponibile pentru transferul datelor,
• capacităţile aritmetice ale procesorului,
• configuraţiile posibile ale memoriei,
• complexitatea structurilor I/O,
• programabilitatea procesorului, şi
• setul de instrucţiuni al procesorului.
Procesoare Numerice de Semnal - CURS 2

2.4 Arhitectura generală a procesoarelor DSP

Arhitectura procesorului şi algoritmul DSP folosit trebuie să fie


complementare.
Pentru unele aplicaţii, algoritmul este dat şi trebuie ales cel mai
potrivit procesor care să-l realizeze.
Pentru altele, procesorul disponibil este cunoscut şi sarcina
proiectării este de a dezvolta algoritmi eficienţi care să satisfacă
cerinţele aplicaţiei.
Scopul este de a dezvolta un algoritm DSP astfel încât să se
utilizeze un minim de resurse ale procesorului, lăsând astfel
neutilizate resurse pentru îmbunătăţiri şi dezvoltări ulterioare.
Procesoare Numerice de Semnal - CURS 3

2.4.1 Introducere
Marea majoritate a procesoarelor Calculul ieşirii y(n) necesită
DSP sunt proiectate să realizeze parcurgerea următorilor paşi:
operaţii repetitive de tip MAC 1. Aducerea a doi operanzi, bi şi x(n-i)
(multiply-add computation), din memorie
precum filtrarea răspunsului la 2. Înmulţirea lui bi cu x(n-i)
impuls finit (FIR - Finite-Impulse
3. Adunarea rezultatului bix(n-i) la
Response), definită prin relaţia:
acumulator
L −1
y ( n) = 4. Repetarea paşilor 1, 2 şi 3 pentru
∑ bi ⋅ x ( n − i ) i=0,1,2,...,L-1
i =0
5. Transferul rezultatului y(n) din
unde:
acumulator în memorie
{ b0 , b1, ... , bL−1}
6. Actualizarea indicatorilor
sunt coeficienţii de filtrare, (pointerilor) pentru bi şi x(n-i) şi
{ x ( n ) , x ( n − 1) , ... , x ( n − L + 1)} repetarea paşilor de la 1 la 5 pentru
sunt eşantioanele semnalului, următorul eşantion de intrare.
iar L reprezintă lungimea filtrului.
Procesoare Numerice de Semnal - CURS 4

2.4.1 Introducere
Procesoare Numerice de Semnal - CURS 5

Această structură este optimizată pentru operaţiile de filtrare FIR


Exemplu descrise în relaţia anterioara, pentru multiplicarea matricilor, calculul
functiilor de transfer (control), etc. In exemplul urmator, se calculeaza
suma a 4 produse; sunt necesare 12 locaţii din memoria de program,
executia necesitand 12 cicluri.

L
Procesoare Numerice de Semnal - CURS 6

2.4.1 Introducere

Trăsătura specifică a DSP-urilor constă în puternicul paralelism utilizat în


vederea îmbunătăţirii vitezei de procesare. DSP-urile dispun de unităţi speciale
de prelucrare deservite prin bus-uri specifice multiple, multe dintre acestea
putând lucra independent şi în mod complementar.
Unitatea logico-aritmetică (ALU - Arithmetic Logic Unit) realizează adunarea,
scăderea şi operaţii logice. Registrul de deplasare este utilizat pentru scalarea
datelor, iar multiplicatorul şi acumulatoarele hardware realizează operaţii MAC.
Generatoarele de adrese pentru date (DAGENs - Data Address Generators)
definesc adresele operanzilor utilizaţi în instrucţiuni. Cu aceste resurse
disponibile, procesorul DSP atinge o viteză ridicată de execuţie, realizând
operaţiile în aceste unităţi în mod simultan.
Majoritatea procesoarelor DSP utilizează o arhitectură Harvard modificată, cu
două sau trei magistrale de memorie (una de program şi încă una sau două
pentru date). Este facilitat astfel accesul simultan la coeficienţii filtrului şi la
semnalul de intrare în acelaşi ciclu de ceas.
Procesoare Numerice de Semnal - CURS 7

2.4.2 Operaţii efectuate de unitatea centrală


Multe dintre funcţiile unităţii centrale de prelucrare (CPU) a procesoarelor DSP sunt
comune cu cele ale microprocesoarelor de uz general, cu excepţia unităţii/unităţilor
MAC, a registrelor de deplasare, a blocurilor multiple de memorie împreună cu
magistralele care le deservesc şi a puternicelor generatoare de adrese pentru date.
Multiplicarea cu acumulare
Pentru a atinge viteza cerută de algoritmii DSP bazaţi pe multiple
operaţii de înmulţire, procesoarele TMS320 utilizează un multiplicator
hardware cu operare paralelă, care poate înmulţi doi termeni (date)
într-un singur ciclu de ceas. În acelaşi timp, un sumator plasat imediat
după multiplicator adună rezultatul înmulţirii anterioare la conţinutul
unui acumulator cu dublă-precizie.
Unele procesoare, precum C55x, dispun de două unităţi MAC şi 4
acumulatoare de 40 biţi.
O serie de instrucţiuni specifice care pot realiza înmulţirea, acumularea,
deplasarea datelor şi operaţiile de actualizare a pointerilor
(indicatorilor) într-o singură instrucţiune sunt prevăzute pentru
algoritmii de filtrare şi de corelare. Aceste instrucţiuni se bazează pe
arhitectura paralelă pentru a realiza o execuţie foarte rapidă.
Procesoare Numerice de Semnal - CURS 8

2.4.2 Operaţii efectuate de unitatea centrală

Unitatea logico-aritmetică (ALU)

Operaţiile aritmetice de bază realizate de procesoarele DSP sunt


adunarea, scăderea, etc.
Unitatea logică realizează operaţii logice booleene, precum AND, OR şi
NOT, asupra biţilor individuali ai unui cuvânt de date şi execută
deplasări logice ale întregului cuvânt de date.
Atât blocul logic, cât şi cel aritmetic, sunt cuprinse de obicei într-o
singură unitate ALU.
Împărţirea binară este de obicei implementată printr-o rutină software
deoarece ea necesită o serie repetată de operaţii de deplasare şi de
scădere condiţionată.
Procesoare Numerice de Semnal - CURS 9

2.4.2 Operaţii efectuate de unitatea centrală

Registrele de deplasare (shifter-ele)

Registrele de deplasare utilizate pentru operaţii de scalare sunt acţionate


de instrucţiuni specifice de deplasare.
Shifter-ul poate fi utilizat pentru pre-scalarea unui operand din memoria
de date sau din acumulator înaintea unei operaţii ALU, sau pentru post-
scalarea valorii din acumulator înaintea stocării rezultatului în memoria
de date.
În plus, shifter-ul realizează şi o deplasare logică sau aritmetică a valorii
din acumulator. De exemplu, shifter-ul lui TMS320C5000 poate produce o
deplasare spre stânga a 0 până la 31 biţi şi o deplasare spre dreapta a 0
până la 32 biţi a datelor de intrare într-un singur ciclu.
Procesoare Numerice de Semnal - CURS 10

2.4.2 Operaţii efectuate de unitatea centrală


Paralelismul
Instrucţiunile care controlează operaţiile efectuate de un procesor DSP necesită
mai mulţi paşi pentru a fi executate.
Mai întâi, este generată adresa instrucţiunii, iar conţinutul locaţiei de memorie
program de la adresa indicată este citit şi decodificat.
În funcţie de instrucţiunea decodificată, unul sau mai mulţi operanzi sunt extraşi
pentru a dispune de datele cerute de instrucţiune.
În sfârşit, rezultatul este stocat, iar adresa următoarei instrucţiuni este calculată.
Fiecare instrucţiune poate necesita mai multe cicluri de ceas pentru a executa mai
mulţi paşi de pre-extragere, decodificare, extragere operand, execuţie şi scriere a
rezultatului.
Aceşti paşi pot fi executaţi succesiv în structuri paralele prin tehnici pipeline.
Dacă fiecare pas necesită un singur ciclu de ceas, atunci de exemplu în cazul lui
TMS320C55x, ei pot fi executaţi printr-o secvenţă de până la 7 instrucţiuni care
necesită de asemenea câte un ciclu de ceas. Arhitectura paralelă se bazează în
totalitate pe descompunerea sistematică a instrucţiunilor în multiple operaţii
elementare succesive.
Procesoare Numerice de Semnal - CURS 11

2.4.2 Operaţii efectuate de unitatea centrală


Magistralele
Magistralele, precum şi alte interconexiuni, permit realizarea unor căi de
comunicaţie între unităţile care alcătuiesc un procesor DSP.

În loc de a solicita extragerea succesiva a celor doi operanzi pe aceeaşi magistrală


de date, ei pot fi aduşi simultan pe două magistrale de date distincte.

Cele două magistrale de date şi magistralele de adrese specifice se conectează la


două memorii separate: memoria A pentru coeficientul bi şi memoria B pentru
semnalul x(n-i). Această configuraţie înlătură conflictul care ar apare la accesarea
celor doi operanzi de la aceeaşi memorie, în acelaşi timp.

O a treia memorie, cu magistralele sale de date şi adrese, este utilizată pentru


stocarea valorii din acumulator înapoi în memoria C.

În afara acestor blocuri de memorie de date, există şi o memorie program cu


magistrale de date şi de adrese specifice (dedicate) pentru extragerea
instrucţiunilor şi pentru a împiedica astfel întârzierile în accesarea datelor.
Procesoare Numerice de Semnal - CURS 12

2.4.2 Operaţii efectuate de unitatea centrală


Generatorul de adrese pentru date
Fiecare memorie dispune de magistrala sa proprie de adrese creată de blocul
DAGEN. Accesarea succesiva a operanzilor bi şi a celor corespunzători x(n-i),
i=0,1,...,L-1, reprezintă o operaţie secvenţială naturală în care aceşti operanzi sunt
stocaţi în locaţii consecutive ale memoriei.

Fiecare bloc DAGEN determină doar incrementarea (sau decrementarea)


indicatorului de adrese pentru poziţionarea la data următoare în acelaşi ciclu de
ceas în care multiplicatorul şi ALU realizează operaţii aritmetice; ca urmare, nu
este necesar un ciclu de ceas suplimentar pentru a actualiza pointerul de adrese.

După accesarea ultimului coeficient, bL-1, indicatorul de coeficienţi trebuie


iniţializat la adresa lui b0, în vederea execuţiei iteraţiei următoare. Această
operaţie poate fi realizată uşor prin organizarea buffer-ului de coeficienţi într-o
manieră ciclică, sau prin implementarea unei aritmetici modulo L în buffer-ele
circulare.

În plus, DAGEN permite şi adresarea cu bit inversat pentru calculul algoritmilor


FFT (Fast Fourier Transform).
Procesoare Numerice de Semnal - CURS 13

2.4.3 Configuraţii ale memoriei

Memoria TMS320 este organizată în trei spaţii individuale: program, date


şi I/O. În cadrul fiecăruia dintre aceste trei spaţii, memoria ROM, RAM,
sau perifericele mapate în memorie pot fi rezidente pe cip, sau în afara
acestuia.
Memoria de program conţine instrucţiunile care implementează algoritmii
DSP. Aceste instrucţiuni pot conţine date (constante), adrese de memorie
pentru ramificaţiile din program şi comenzi care controlează funcţionarea
procesorului.
Memoria de date stochează coeficienţi şi eşantioane de semnal utilizate în
instrucţiuni.
Spaţiul de memorie I/O se interfaţează cu perifericele mapate în memoria
externă.
Multe dintre procesoarele DSP evoluate dispun de memorii cache, de
program şi de date pe cip şi pot accesa spaţii largi de memorie externă.
Procesoare Numerice de Semnal - CURS 14

2.4.3 Configuraţii ale memoriei

În majoritatea procesoarelor DSP moderne este inclusă şi o facilitate


de manipulare a blocurilor de date, fie din memoria internă, fie în cea
externă, ceea ce face posibil ca volume mari de date sau programe să
fie stocate în afara cip-ului, în memorii mai lente şi care să fie
transferate în memoria internă, mai rapidă, atunci când este necesar.
De exemplu, procesoarele TMS320C2000 nu au două blocuri de
memorie de date pe cip împreună cu magistralele aferente, ci doar de
un singur bloc de memorie internă care poate fi configurat software
să îndeplinească rolul de memorie de program, sau memorie de date.
Procesoare Numerice de Semnal - CURS 15

2.4.3 Configuraţii ale memoriei

Spaţiul de memorie
Multe procesoare utilizează o memorie de program programabilă pe cip
pentru aplicaţii complexe, aceasta permiţând cel mai eficient acces.
Adăugând o memorie flash pe cip se face un pas important spre
aplicaţiile compacte, cu cost scăzut, şi în special pentru fazele de
dezvoltare şi pentru aplicaţii relativ simple.
Unele procesoare dispun şi de un mic spaţiu de memorie RAM pe cip,
care poate fi configurată în mod dinamic ca memorie de program.
Atunci când este necesară o memorie program externă, trebuie avute în
vedere mărimea memoriei şi viteza de acces. Cu cât frecvenţa ceasului
procesoarelor DSP creşte, cu atât timpul de acces la memoria externă
trebuie să scadă.
Procesoare Numerice de Semnal - CURS 16

2.4.3 Configuraţii ale memoriei


Harta memoriei
Exemplu TMS320C5510
Acest procesor dispune de o hartă de memorie
unificată, astfel încât accesurile la program şi la
date au loc în acelaşi spaţiu fizic.
Memoria totală de pe cip, incluzând 32Kb de
ROM, este de 352Kb (sau 176 Kcuvinte de 16
biţi).
RAM-ul cu acces dual (DARAM - Dual-access
RAM) se compune din 8 blocuri a câte 8Kb
fiecare. Fiecare bloc DARAM poate realiza
două accesuri pe ciclu (două citiri, două scrieri,
sau o scriere şi o citire). Atât CPU, cât şi
perifericele, pot citi sau scrie în memoria
DARAM în acelaşi ciclu. Memoria DARAM este
întotdeauna mapată în spaţiul de date şi are
rolul de a stoca date.
Memoria RAM cu acces unic (SARAM - Single-
access RAM) se compune din blocuri de 8Kb.
Fiecare bloc SARAM poate realiza un singur
acces pe ciclu (fie o citire, fie o scriere).
Procesoare Numerice de Semnal - CURS 17

2.4.3 Configuraţii ale memoriei

Spaţiul de memorie
Atunci când viteza procesorului nu este un factor critic, timpul de acces
la memorie poate fi extins utilizând o frecvenţă a ceasului mai mică.
Această metodă duce la încetinirea ciclului procesorului, reducând
astfel şi timpul de acces la memorie.
O altă metodă este de a lăsa procesorul să ruleze la întreaga sa viteză,
dar incluzând o serie de stări de aşteptare pentru accesarea memoriei.
Stările de aşteptare permit procesoarelor DSP să aştepte execuţia
operaţiilor efectuate de interfeţele externe mai lente. Aceste procesoare
au de obicei pe cip memorie configurabilă ca memorie de program,
permiţând astfel stocarea unor mici programe care să poată fi executate
cu întreaga viteză.
Încărcarea iniţială a programului din memoria de program externă mai
lentă se poate realiza prin inserarea stărilor de aşteptare. Această
metodă ocoleşte necesitatea utilizării unor memorii ROM rapide, care
sunt scumpe, fără a sacrifica viteza de procesare.
Procesoare Numerice de Semnal - CURS 18

2.4.3 Configuraţii ale memoriei

Spaţiul de memorie
Cantitatea de memorie ROM disponibilă on-chip variază de la un
procesor la altul. Unele procesoare utilizează o memorie ROM restrânsă
care conţine un program de încărcare (boot loader) care face legătura la
memoria rapidă RAM de pe circuit sau externă. Aproape toate
procesoarele DSP actuale dispun de memorie de date RAM on-chip.
Pentru multe aplicaţii, memoria internă on-chip înlătură necesitatea
accesului la o memorie de date externă.
Procesoarele TMS320 utilizează unele locaţii ale memoriei de date pentru
uz intern, aşa cum sunt vectorii de întreruperi şi registrele mapate în
memorie. Aceste registre furnizează o modalitate convenabilă pentru a
salva şi stoca conţinutul registrelor auxiliare atunci când au loc schimbări
de context sau în cazul transferului de date între acumulatoare şi alte
registre.
Procesoare Numerice de Semnal - CURS 19

2.4.3 Configuraţii ale memoriei

Memoria cache
Sistemele de memorie ale procesoarelor pot fi optimizate prin utilizarea unei
mici memorii rapide între procesor şi spaţiul mai larg de memorie lentă.
Această memorie de mare viteză poartă numele de cache şi ea conţine cele mai
recent accesate instrucţiuni sau date din memoria principală.
Există două tipuri de cache: cache de tip L1, care este mică şi se plasează în
apropierea nucleului procesorului, şi un cache mai mare, L2.
Acestea se utilizează în mod curent în microprocesoare, iar noile generaţii de
DSP-uri le utilizează şi ele pentru a stoca cele mai utilizate secţiuni de
program sau de date.
De exemplu, TMS320C55x dispune de un buffer de instrucţiuni de 64 biţi,
care poate fi tratat ca un cache de program.
Multe dintre instrucţiunile care se referă la bucle repetitive pot fi stocate în
cache şi vor fi executate în mod repetat fără alte cicluri de fetch din memoria
externă.
Procesoare Numerice de Semnal - CURS 20

2.4.3 Configuraţii ale memoriei

Deplasarea memoriei
Procesarea digitală permite partajarea sarcinilor unui procesor la
prelucrarea mai multor semnale prin time-sharing, reducându-se astfel
costul per semnal prelucrat.
De exemplu, un singur procesor DSP poate prelucra mai multe canale
ale unei linii T1, la care 24 de canale sunt combinate într-unul prin
multiplexarea cu timp divizat.
Semnalul multiplexat poate fi aplicat unui singur procesor.
Prin schimbarea în procesor a coeficienţilor care corespund acelui canal
înainte de a se aplica fiecare semnal component la intrarea
procesorului, sistemul va funcţiona ca şi cum fiecare canal ar dispune de
câte un procesor DSP specific.
Această aplicaţie necesită utilizarea unei metode eficiente de deplasare a
coeficienţilor şi a bufferelor de semnal între diferite locaţii ale
memoriei.
Procesoare Numerice de Semnal - CURS 21

2.4.4 Periferice şi sisteme de intrare / ieşire


Procesoarele DSP dispun în mod obişnuit on-chip de periferice sau interfeţe
pentru periferice pentru a facilita interfaţarea acestora la dispozitive externe
precum un DAC, un ADC sau alte procesoare DSP sau microprocesoare.
În plus, unele periferice interne sunt utilizate pentru a controla şi a coordona
ceasurile procesoarelor DSP, mecanismul de transfer al datelor, precum şi
facilităţile de gestiune a puterii (power management).
Interfaţarea unui procesor DSP cu dispozitive periferice implică utilizarea
magistralelor de date, a magistralelor de adrese şi a semnalelor de control.
Multe procesoare utilizează o magistrală de date comună pentru memoria de
program externă, memoria de date, intrări / ieşiri digitale şi comunicaţiile de tip
multi-procesor. Pentru a împiedica două dispozitive de a utiliza magistrala
comună în acelaşi timp, aceste dispozitive sunt echipate cu un control de tip enable
/ disable (validare / invalidare).
Timpul cerut de un dispozitiv pentru accesarea şi utilizarea magistralei de date
determină timpul disponibil pentru alte periferice să opereze.
Multe dintre procesoarele DSP actuale dispun atât de capacitate I/O serială, cât şi
paralelă.
Procesoare Numerice de Semnal - CURS 22

2.4.4 Periferice şi sisteme de intrare / ieşire


Portul serial
Portul serial are avantajul de a fi separat de magistrala de date. Astfel, el nu este limitat de un
timp de acces rapid şi de posibile conflicte pe magistrală.
Atunci când se transferă date spre şi dinspre procesorul DSP, un port serial (tipic de 16 biţi) este
utilizat pentru a reţine datele transmise sau recepţionate, astfel încât procesorul DSP să poată
opera cu acestea.
Procesoarele actuale dispun de următoarele tipuri diferite de porturi seriale:
1) Un port serial standard utilizează 2 registre, unul pentru datele transmise şi unul pentru cele
recepţionate. Procesorul este întrerupt la fiecare transfer de date.
2) Un port serial bufferat (BSP - Buffered Serial Port) constă dintr-o interfaţă pentru portul serial
full-duplex şi dublu bufferată cu o unitate de autobufferare pentru transferul rapid al datelor
între portul serial şi memoria internă a procesorului. DSP-ul este întrerupt doar dacă bufferul
este fie gol, fie plin.
3) Portul serial cu multiplexare în timp divizat permite comunicaţia între mai multe procesoare
DSP. De exemplu, procesorul TMS320C54x se poate conecta cu până la alte 7 dispozitive DSP
prin portul serial cu multiplexare în timp divizat. El împarte intervalul de timp dat într-un număr
de subintervale şi alocă câte un subinterval la fiecare canal.
4) Portul serial bufferat multicanal (McBSP - Multichannel BSP) este un BSP full-duplex de viteză
ridicată. El este de obicei utilizat pentru a conecta un procesor DSP cu alte DSP-uri şi dispozitive.
Este o facilitate nouă, inclusă doar în procesoarele TMS320 de ultimă generaţie.
Procesoare Numerice de Semnal - CURS 23

2.4.4 Periferice şi sisteme de intrare / ieşire

Interfaţa "host-port" (port gazdă)

Interfaţa host-port (HPI - Host-Port Interface) este utilizată pentru


a interfaţa un procesor gazdă (de exemplu un microprocesor) cu
procesorul DSP.
Ambele procesoare, şi cel gazdă şi DSP, schimbă informaţii prin
memoria on-chip a DSP-ului, care poate fi programată ca memorie
internă de date sau de program.
Datele transferate sunt sub forma cuvintelor de 8 sau 16 biţi.
Procesoare Numerice de Semnal - CURS 24

2.4.4 Periferice şi sisteme de intrare / ieşire

Controlerul DMA

Controlerul pentru accesul direct la memorie (DMA - Direct Memory Access)


este utilizat pentru controlul transferului de date în spaţiul de memorie al
procesorului DSP, spaţiu care include memoria şi perifericele interne sau
externe. El operează independent de procesor. Transferul datelor se realizează
sub forma blocurilor, iar controlerul DMA transmite o întrerupere
procesorului când transferul s-a încheiat. De obicei, prin DMA se pot
manipula canale multiple (de exemplu, 6 canale în cazul C54x), iar utilizatorul
poate ataşa priorităti diferite sau aceeaşi prioritate acestor canale.
Procesoare Numerice de Semnal - CURS 25

2.4.4 Periferice şi sisteme de intrare / ieşire

Portul paralel

Portul paralel se diferenţiază de cel serial prin aceea că el transmite şi recepţionează


simultan mai mulţi biţi de date (în mod obişnuit, 8 sau 16). Cu toate că el poate asigura
de obicei un transfer mai rapid, necesită mai mulţi pini pentru implementare. O altă
diferenţă între porturile paralele şi cele seriale este că liniile de conectare şi de
strobare sunt utilizate în comunicaţia paralelă pentru a indica transferul corect al
datelor. În cazul comunicaţiei seriale, este utilizat un impuls de sincronizare sau un
semnal de ceas derivat din datele însele.

Pentru a păstra numărul pinilor folosiţi în comunicaţia paralelă cu dispozitive externe


sau cu alte procesoare, un procesor DSP utilizează magistrala de date principală ca un
port paralel. Procesorul DSP realizează această sarcină rezervând o parte a adreselor
pentru spaţiul I/O şi prinutilizarea unui număr redus de pini de I/O pentru funcţii de
conectare.
Procesoare Numerice de Semnal - CURS 26

2.4.4 Periferice şi sisteme de intrare / ieşire

Timerul hardware

Cea mai mare parte a procesoarelor DSP dispun de timere hardware


programabile care se utilizează ca surse de întreruperi periodice
pentru procesor şi care mai pot fi folosite ca generatoare de semnal
controlate prin software. Timerul constă dintr-o sursă de ceas, un
divizor (pentru a reduce frecvenţa ceasului) şi un numărător cu
decrementare. Numărătorul este decrementat cu o unitate la fiecare
front al ceasului şi întrerupe procesorul atunci când în numărător se
atinge zero.
Procesoare Numerice de Semnal - CURS 27

2.4.4 Periferice şi sisteme de intrare / ieşire

Generatorul de ceas şi PLL

Ceasul principal al procesoarelor DSP provine în mod normal fie de la surse externe
de tact, fie de la un cristal exterior. Atunci când se foloseşte un cristal, procesorul DSP
trebuie să aibă un oscilator intern care să fie pilotat de cristalul extern pentru a genera
ceasul necesar. Pe de altă parte, dacă nu este inclus un oscilator intern, atunci trebuie
implementat un circuit de ceas extern.

Unele procesoare DSP posedă sintetizatoare interne de frecvenţă, numite PLL (Phase-
Locked Loop), care pot creşte frecvenţa ceasului aplicat din exterior. Deci, un PLL
crează o frecvenţă superioară a ceasului intern pe baza unui ceas extern cu frecvenţă
scăzută, ceea ce are avantajul reducerii interferenţei electromagnetice a ceasului. Mai
mult, un generator de ceas extern de frecvenţă joasă este mai ieftin. Funcţia PLL poate
fi realizată fie prin hardware, fie se poate realiza un PLL programabil prin soft. PLL-
ul hardware dispune de factori de multiplicare limitaţi de la 1 la 5, în timp ce PLL-ul
software poate fi ajustat sub controlul soft-ului şi furnizează un set mai larg de factori
de multiplicare (de exemplu, de la 0,25 la 16 în cazul procesoarelor TMS320C54x).
Procesoare Numerice de Semnal - CURS 28

2.4.4 Periferice şi sisteme de intrare / ieşire


Gestiunea puterii
Odată cu cererea crecândă de produse bazate pe DSP care să consume cât mai puţin şi
să prelungească astfel durata de utilizare a bateriei de alimentare, procesorul DSP a
început să încorporeze soluţii de gestiune a puterii (power management) alături de
utilizarea tensiunii reduse (low-voltage). Se utilizează mai multe metode în gestiunea
puterii: (1) controlul frecvenţei ceasului, (2) modul "power-down" şi (3) deconectarea
perifericelor neutilizate.
Mecanismele de control a frecvenţei ceasului pot fi programate să forţeze procesorul să
ruleze la o fracţiune din viteza sa, deoarece majoritatea aplicaţiilor nu necesită o
funcţionare la întreaga viteză a procesorului tot timpul. Se poate folosi acest timp inutil
şi se poate forţa procesorul să lucreze la o viteză redusă. Cea mai mare parte a
procesoarelor DSP dispun de mijloace prin care dispozitivul să fie adus în starea de
"adormire" (sleep, sau power-down), în care se consumă cea mai mică putere, dar
totuşi conţinutul curent al CPU este păstrat. Există mai multe nivele ale modului
power-down, corespunzând situaţiei în care procesorul este oprit sau nu; ceasul
procesor sau ceasul perifericelor este oprit; liniile externe de date, adrese şi control
sunt aduse în starea de înaltă impedanţă; etc. Procesorul DSP poate fi "trezit" fie de
către activitatea perifericelor, fie prin întreruperi externe. O altă cale de gestiune a
puterii este de a deconecta complet perifericele neutilizate.

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