2.4 arhitectura generală a procesoarelor dsppns.ac.tuiasi.ro/doc/curs/prezentare_02.pdf · 2.4...
Post on 19-Feb-2018
224 Views
Preview:
TRANSCRIPT
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 11
2.42.4 Arhitectura generală Arhitectura generală aa procesoarelorprocesoarelor DSPDSP
ProcesorulProcesorulDSPDSP realizează func realizează funcţţiile eseniile esenţţialeiale dedeprelucrareprelucrare aa semnalelorsemnalelor. .
Dezvoltarea unui Dezvoltarea unui sistemsistem DSPDSP eficienteficient sese bazează pe bazează pe: :
•• arhitecturilearhitecturile hardhard şşii soft alesoft aleprocesoruluiprocesorului DSP, DSP,
•• resursele disponibile pentru transferul datelorresursele disponibile pentru transferul datelor, ,
•• capacităcapacităţţile aritmeticeile aritmetice ale ale procesoruluiprocesorului, ,
•• configuraconfiguraţţiile posibileiile posibile aleale memorieimemoriei, ,
•• complexitatea structurilorcomplexitatea structurilor I/O, I/O,
•• programabilitatea procesoruluiprogramabilitatea procesorului,, şşi i
•• setulsetul dede instrucinstrucţţiuniiuni alal procesoruluiprocesorului. .
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 22
2.42.4 Arhitectura generală Arhitectura generală aa procesoarelorprocesoarelor DSPDSP
Arhitectura procesorului Arhitectura procesorului şşi algoritmuli algoritmul DSPDSP folosit trebuie să fie folosit trebuie să fie
complementarecomplementare..
Pentru unele aplicaPentru unele aplicaţţiiii ,, algoritmul este dat algoritmul este dat şşi trebuiei trebuie alesalescel mai cel mai potrivit procesorpotrivit procesor carecare să să--ll realizezerealizeze..
Pentru altelePentru altele,, procesorul disponibil este cunoscut procesorul disponibil este cunoscut şşi sarcina i sarcina proiectării esteproiectării este de ade adezvolta algoritmi eficiendezvolta algoritmi eficienţţii carecare să satisfacă să satisfacă
cerincerinţţele aplicaele aplicaţţieiiei. .
Scopul esteScopul estede ade adezvolta un algoritmdezvolta un algoritm DSPDSPastfel astfel îîncât săncât să seseutilizeze unutilizeze un minim deminim de resurseresursealeale procesoruluiprocesorului,, lăsând astfel lăsând astfel
neutilizate resurse pentru neutilizate resurse pentru îîmbunătămbunătăţţiri iri şşi dezvoltări ulterioarei dezvoltări ulterioare ..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 33
2.4.12.4.1 IntroducereIntroducere
Marea majoritateMarea majoritate aa procesoarelorprocesoarelorDSPDSP sunt proiectate să realizeze sunt proiectate să realizeze
operaoperaţţiiii repetitive de tip MAC repetitive de tip MAC (multiply(multiply --add computation),add computation), precum filtrarea r ăspunsuluiprecum filtrarea r ăspunsului lalaimpuls finitimpuls finit (FIR (FIR -- FiniteFinite--Impulse Impulse Response),Response), definită prin rela definită prin relaţţiaia::
(((( )))) (((( ))))∑−−−−
====−−−−⋅⋅⋅⋅====
1
0
L
ii inxbny
undeunde::{{{{ }}}}110 −−−−Lb,...,b,b
(((( )))) (((( )))) (((( )))){{{{ }}}}11 ++++−−−−−−−− Lnx,...,nx,nxsunt sunt coeficiencoeficienţţiiii dede filtrarefiltrare,,
sunt sunt eeşşantioanele semnaluluiantioanele semnalului,,
Calculul ieCalculul ieşşiriiirii y(n)y(n) necesită necesită
parcurgerea următorilor paparcurgerea următorilor pa şşii ::
1.1. AducereaAducereaaa doi operanzidoi operanzi,, bbii şşii x(nx(n--i) i) din din memoriememorie
2.2. ÎÎ nmulnmulţţirea lui birea lui b ii cu x(ncu x(n--i)i)
3.3. Adunarea rezultatului bAdunarea rezultatului b iixx(n(n--i) la i) la acumulatoracumulator
4.4. Repetarea paRepetarea paşşilorilor 1, 21, 2 şşii 33 pentrupentrui=0,1,2,...,Li=0,1,2,...,L--11
5.5. Transferul rezultatuluiTransferul rezultatului y(n) diny(n) dinacumulator acumulator îîn memorien memorie
6.6. Actualizarea indicatorilorActualizarea indicatorilor((pointerilorpointerilor )) pentru bpentru b ii şşii x(nx(n--i)i) şşi i repetarea parepetarea paşşilorilor de la 1 la 5de la 1 la 5 pentru pentru
următorul eurmătorul eşşantionantion dede intrareintrare ..
iariar LL reprezintă reprezintă lungimea filtruluilungimea filtrului..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 44
2.4.12.4.1 IntroducereIntroducere
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 55
ExempluExemplu Această structură este optimizată pentru operaAceastă structură este optimizată pentru operaţţiileiile dede filtrarefiltrare FIRFIRdescrise descrise îîn relan relaţţiaia anterioaraanterioara, , pentru multiplicarea matricilorpentru multiplicarea matricilor , , calculul calculul functiilor functiilor de transfer (control), etc. In de transfer (control), etc. In exemplul urmatorexemplul urmator, se , se calculeaza calculeaza suma suma a 4 a 4 produseproduse; ; sunt necesare sunt necesare 12 12 localocaţţii ii din din memoria memoria de program, de program, executia necesitand executia necesitand 12 12 cicluricicluri ..
L
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 66
2.4.12.4.1 IntroducereIntroducere
Tr ăsătura specificăTr ăsătura specifică a DSPa DSP--urilor constă urilor constă îîn puternicul paralelism utilizat n puternicul paralelism utilizat îîn n vederea vederea îîmbunătămbunătăţţirii vitezeiirii vitezei dede procesareprocesare. DSP. DSP--urile dispunurile dispun dede unită unităţţi specialei specialedede prelucrare deservite prinprelucrare deservite prin busbus--uri specificeuri specifice multiple,multiple, multe dintre acestea multe dintre acestea putând lucraputând lucra independentindependentşşi i îînn modmod complementarcomplementar..
Unitatea logicoUnitatea logico--aritmeticăaritmetică (ALU (ALU -- Arithmetic Logic Unit)Arithmetic Logic Unit) realizează adunarea realizează adunarea,, scăderea scăderea şşi operai operaţţii logiceii logice.. RegistrulRegistrul dede deplasare este utilizat pentru scalarea deplasare este utilizat pentru scalarea datelordatelor,, iar multiplicatorul iar multiplicatorul şşi acumulatoarelei acumulatoarelehardwarehardware realizează opera realizează operaţţiiii MAC. MAC.
GeneratoareleGeneratoareledede adrese pentruadrese pentrudate (date (DAGENsDAGENs -- Data Address Generators)Data Address Generators)definesc adresele operanzilor utilizadefinesc adresele operanzilor utilizaţţi i îîn instrucn instrucţţiuniiuni . Cu. Cu aceste resurse aceste resurse disponibiledisponibile,, procesorulprocesorul DSPDSPatingeatinge oo viteză ridicată viteză ridicată dede execuexecuţţieie,, realizând realizând operaoperaţţiile iile îîn aceste unităn aceste unităţţi i îînn modmod simultansimultan..
Majoritatea procesoarelorMajoritatea procesoarelor DSPDSP utilizează utilizează oo arhitecturăarhitectură HarvardHarvard modificată modificată, cu, cu
două sau trei magistraledouă sau trei magistraledede memoriememorie ((unauna de programde program şşi i îîncă una sau două ncă una sau două pentrupentru date).date). Este facilitat astfel accesul simultanEste facilitat astfel accesul simultanlala coeficiencoeficienţţii filtrului ii filtrului şşii lalasemnalulsemnaluldede intrare intrare îîn acelan acelaşşi ciclui ciclu dede ceasceas..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 77
2.4.22.4.2 OperaOperaţţii efectuateii efectuate dede unitatea centrală unitatea centrală
Multe dintre funcMulte dintre func ţţiile unităiile unităţţii centraleii centrale dede prelucrareprelucrare (CPU) a(CPU) a procesoarelorprocesoarelorDSPDSPsunt sunt comunecomunecucu celecelealeale microprocesoarelormicroprocesoarelordede uzuz general, cugeneral, cuexcepexcepţţia unităia unităţţiiii //unităunităţţilorilorMAC, aMAC, a registrelorregistrelor dede deplasaredeplasare, a, a blocurilorblocurilor multiple demultiple de memorie memorie îîmpreunămpreună cucumagistralelemagistralelecare lecare ledeservesc deservesc şşii aa puternicelor generatoareputernicelor generatoaredede adrese pentruadrese pentrudate.date.
Multiplicarea cu acumulare
PentruPentru aa atinge viteza cerută atinge viteza cerută dede algoritmiialgoritmii DSPDSPbazabazaţţi pei pe multiplemultipleoperaoperaţţiiii de de îînmulnmulţţireire,, procesoareleprocesoareleTMS320TMS320 utilizează un multiplicator utilizează un multiplicator
hardware cuhardware cu operare paralelă operare paralelă, care, carepoate poate îînmulnmulţţi doi termenii doi termeni (date)(date)îîntrntr --un singur cicluun singur ciclu dede ceasceas.. ÎÎ n acelan acelaşşi timpi timp ,, un sumator plasat imediat un sumator plasat imediat
după multiplicator adun ă rezultatul după multiplicator adun ă rezultatul îînmulnmulţţirii anterioareirii anterioare lala conconţţinutul inutul unui acumulatorunui acumulator cucu dublă dublă--precizieprecizie. .
Unele procesoareUnele procesoare,, precumprecum C55x,C55x, dispundispun dede două unită două unităţţii MACMAC şşii 44acumulatoareacumulatoarede 40de 40bibiţţii . .
O O serieseriedede instrucinstrucţţiuni specificeiuni specificecare potcare pot realiza realiza îînmulnmulţţireairea,, acumulareaacumularea,,deplasarea datelor deplasarea datelor şşi operai operaţţiileiile dede actualizareactualizare aa pointerilorpointerilor((indicatorilorindicatorilor )) îîntrntr --oo singură instruc singură instrucţţiune sunt prevăzute pentru iune sunt prevăzute pentru algoritmiialgoritmii dede filtrare filtrare şşii dede corelarecorelare.. Aceste instrucAceste instrucţţiuniiuni sese bazează pe bazează pe
arhitectura paralelă pentruarhitectura paralelă pentru aa realizarealiza oo execuexecuţţie foarte rapidăie foarte rapidă..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 88
2.4.22.4.2 OperaOperaţţii efectuateii efectuate dede unitatea centrală unitatea centrală
Unitatea logico-aritmetică (ALU)
OperaOperaţţiile aritmeticeiile aritmetice dede bază realizate bază realizate dede procesoareleprocesoareleDSPDSPsunt sunt adunareaadunarea,, scăderea scăderea, etc. , etc.
Unitatea logică realizează operaUnitatea logică realizează operaţţii logice booleeneii logice booleene,, precumprecum AND, ORAND, OR şşiiNOT,NOT, asupra biasupra biţţilor individuali ai unui cuvântilor individuali ai unui cuvânt de datede dateşşi execută i execută deplasări logicedeplasări logice aleale îîntregului cuvântntregului cuvânt de date. de date.
Atât bloculAtât blocul logic,logic, cât cât şşi cel aritmetici cel aritmetic,, sunt cuprinsesunt cuprinsedede obicei obicei îîntrntr --oo
singură unitatesingură unitate ALU. ALU.
ÎÎ mpărmpăr ţţirea binară esteirea binară estedede obicei implementată printr obicei implementată printr--oo rutină rutină softwaresoftware
deoarece ea necesitădeoarece ea necesită oo serie repetată serie repetată dede operaoperaţţiiii dede deplasare deplasare şşii dede
scădere condiscădere condiţţionatăionată..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 99
2.4.22.4.2 OperaOperaţţii efectuateii efectuate dede unitatea centrală unitatea centrală
Registrele de deplasare (shifter-ele)
RegistreleRegistreledede deplasare utilizate pentru operadeplasare utilizate pentru operaţţiiii dede scalare sunt acscalare sunt acţţionateionatedede instrucinstrucţţiuni specificeiuni specificedede deplasaredeplasare. .
ShifterShifter--ul poateul poate fifi utilizat pentru utilizat pentru prepre--scalarea unuiscalarea unuioperand dinoperand din memoriamemoriade datede datesausaudindin acumulator acumulator îînaintea unei operanaintea unei operaţţiiii ALU,ALU, sau pentru sau pentru postpost--scalarea valoriiscalarea valorii dindin acumulator acumulator îînaintea stocării rezultatului naintea stocării rezultatului îîn memorian memoriade date. de date.
ÎÎ nn plus, shifterplus, shifter--ul realizează ul realizează şşii oo deplasare logică sau aritmetică deplasare logică sau aritmetică aa valoriivaloriidindin acumulatoracumulator. De. Deexempluexemplu, shifter, shifter--ul luiul lui TMS320C5000TMS320C5000poatepoateproduce oproduce odeplasare spre stângadeplasare spre stângaa 0a 0 până până la 31la 31 bibiţţi i şşii oo deplasare spre dreaptadeplasare spre dreaptaa 0a 0
pânăpână la 32la 32 bibiţţii aa datelordatelor dede intrare intrare îîntrntr --un singur cicluun singur ciclu..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1010
2.4.22.4.2 OperaOperaţţii efectuateii efectuate dede unitatea centrală unitatea centrală
ParalelismulParalelismul
InstrucInstruc ţţiunileiunile carecare controlează opera controlează operaţţiile efectuateiile efectuatedede un procesorun procesorDSPDSP necesită necesită
maimai mulmulţţii papaşşi pentrui pentru a fia fi executateexecutate. .
Mai Mai îîntâintâi ,, este generată adresa instruc este generată adresa instrucţţiuniiiunii ,, iar coniar conţţinutul locainutul locaţţieiiei dede memoriememorieprogram de laprogram de la adresa indicată este citit adresa indicată este citit şşi decodificati decodificat. .
ÎÎ n funcn funcţţieie dede instrucinstrucţţiunea decodificatăiunea decodificată,, unul sau maiunul sau maimulmulţţii operanzi sunt extraoperanzi sunt extraşşi i pentrupentru aa dispunedispunedede datele cerutedatele cerutedede instrucinstrucţţiuneiune. .
ÎÎ n sfârn sfârşşitit ,, rezultatul este stocatrezultatul este stocat,, iar adresa următoarei instruc iar adresa următoarei instrucţţiuni este calculatăiuni este calculată. .
Fiecare instrucFiecare instrucţţiune poate necesita mai multe cicluriiune poate necesita mai multe cicluridede ceas pentruceas pentruaa executa maiexecuta maimulmulţţii papaşşii de prede pre--extragereextragere,, decodificaredecodificare,, extragereextragereoperand,operand, execuexecuţţie ie şşi scrierei scriere aarezultatuluirezultatului . .
AceAceşşti pati paşşii pot fipot fi executaexecutaţţi succesiv i succesiv îîn structuri paralelen structuri paralele prinprin tehnicitehnici pipelinepipeline..Dacă fiecareDacă fiecare paspas necesită un singur ciclu necesită un singur ciclu dede ceasceas,, atunciatunci dede exemplu exemplu îîn cazul luin cazul luiTMS320C55x,TMS320C55x,eiei pot fipot fi executaexecutaţţi printri printr --oo secvensecvenţţăă dede până până la 7la 7 instrucinstrucţţiuniiuni carecare
necesitănecesită dede asemenea câte un cicluasemenea câte un cicludede ceasceas.. Arhitectura paralelă Arhitectura paralelă sese bazează bazează îîn n totalitate pe descompunerea sistematicătotalitate pe descompunerea sistematică aa instrucinstrucţţiunilor iunilor îînn multiplemultiple operaoperaţţii ii elementare succesiveelementare succesive..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1111
2.4.22.4.2 OperaOperaţţii efectuateii efectuate dede unitatea centrală unitatea centrală
MagistraleleMagistralele
MagistraleleMagistralele,, precum precum şşi alte interconexiunii alte interconexiuni, permit, permit realizarea unor căi realizarea unor căi dedecomunicacomunicaţţie ie îîntre unităntre unităţţileile carecare alcătuiesc un procesor alcătuiesc un procesor DSP.DSP.
ÎÎ n locn loc de ade asolicita extragerea succesiva solicita extragerea succesiva a a celor doicelor doi operanzi pe aceeaoperanzi pe aceeaşşi magistralăi magistralăde date, de date, eiei pot fipot fi aduaduşşi simultan pe două magistralei simultan pe două magistrale de date de date distinctedistincte. .
Cele două magistraleCele două magistrale de date de date şşi magistralelei magistralele dede adrese specificeadrese specificesese conectează conectează lala
două memoriidouă memorii separate:separate:memoriamemoria AA pentru coeficientul bpentru coeficientul bii şşi memoriai memoria BB pentru pentru semnalulsemnalulx(nx(n--i). i). Această configuraAceastă configuraţţie ie îînlătur ă conflictulnlătur ă conflictul carecare ar aparear apare lala accesarea accesarea celor doi operanzicelor doi operanzide lade la aceeaaceeaşşi memoriei memorie,, îîn acelan acelaşşi timpi timp . .
O aO a treia memorietreia memorie, cu, cu magistralelemagistralelesale de datesale de dateşşi adresei adrese,, este utilizată pentru este utilizată pentru
stocarea valoriistocarea valorii dindin acumulator acumulator îînapoi napoi îîn memorian memoria C. C.
ÎÎ n afara acestor blocurin afara acestor blocuridede memoriememorie de date,de date, există există şşii oo memoriememorie program cuprogram cumagistralemagistrale de datede dateşşii dede adrese specificeadrese specifice(dedicate)(dedicate)pentru extragerea pentru extragerea instrucinstrucţţiunilor iunilor şşii pentrupentru a a îîmpiedica astfel mpiedica astfel îîntârzierile ntârzierile îîn accesarea datelorn accesarea datelor..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1212
2.4.22.4.2 OperaOperaţţii efectuateii efectuate dede unitatea centrală unitatea centrală
GeneratorulGeneratorul dede adrese pentruadrese pentru datedate
Fiecare memorie dispuneFiecare memorie dispunedede magistrala sa propriemagistrala sa propriedede adrese creată adrese creată dede bloculbloculDAGEN.DAGEN. Accesarea succesivaAccesarea succesivaaa operanzilor boperanzilor bii şşii aa celor corespunzători celor corespunzători x(nx(n--i), i), i=0,1,...,Li=0,1,...,L--1,1, reprezintă reprezintă oo operaoperaţţie secvenie secvenţţială naturală ială naturală îînn carecare aceaceşşti operanzi sunt ti operanzi sunt stocastocaţţi i îîn locan locaţţiiii consecutive aleconsecutive alememorieimemoriei. .
FiecareFiecarebloc DAGENbloc DAGEN determină doar incrementarea determină doar incrementarea ((sau decrementareasau decrementarea))indicatoruluiindicatorului dede adrese pentru poziadrese pentru poziţţionareaionarea la datala data următoare următoare îîn acelan acelaşşi ciclui ciclu dedeceas ceas îînn carecare multiplicatorul multiplicatorul şşii ALUALU realizează opera realizează operaţţii aritmeticeii aritmetice ; ca; ca urmareurmare,, nu nu este necesar un ciclueste necesar un cicludede ceas suplimentar pentruceas suplimentar pentruaa actualiza pointerulactualiza pointerul dede adreseadrese. .
După accesarea ultimului coeficientDupă accesarea ultimului coeficient,, bbLL --11,, indicatorulindicatorul dede coeficiencoeficienţţi trebuie i trebuie iniini ţţializatializat lala adresa luiadresa lui bb00,, îîn vederea execun vederea execuţţiei iteraiei iteraţţiei următoareiei următoare.. Această Această
operaoperaţţie poateie poatefifi realizată u realizată uşşor prin organizareaor prin organizarea bufferbuffer --uluiului dede coeficiencoeficienţţi i îîntrntr --oo
manieră ciclicămanieră ciclică,, sau prin implementarea unei aritmeticisau prin implementarea unei aritmeticimodulo Lmodulo L îînn bufferbuffer --ele ele circularecirculare. .
ÎÎ nn plus, DAGENplus, DAGEN permite permite şşi adresareai adresareacu bitcu bit inversat pentru calculul algoritmilorinversat pentru calculul algoritmilorFFT (Fast Fourier Transform).FFT (Fast Fourier Transform).
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1313
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
MemoriaMemoria TMS320TMS320 este organizată este organizată îîn trei span trei spaţţii individualeii individuale : program, date: program, dateşşii I/O.I/O. ÎÎ n cadrul fiecăruia dintre aceste trei span cadrul fiecăruia dintre aceste trei spaţţiiii ,, memoriamemoria ROM, RAM,ROM, RAM,sau perifericele mapate sau perifericele mapate îîn memorien memorie pot fipot fi rezidente pe ciprezidente pe cip,, sau sau îîn afara n afara acestuiaacestuia. .
MemoriaMemoria de programde program conconţţine instrucine instrucţţiunileiunile carecare implementează algoritmii implementează algoritmii
DSP.DSP. Aceste instrucAceste instrucţţiuniiuni potpot conconţţineine date (date (constanteconstante),), adreseadresedede memorie memorie pentru ramificapentru ramifica ţţiileiile din programdin program şşi comenzii comenzicarecare controlează func controlează funcţţionarea ionarea procesoruluiprocesorului. .
MemoriaMemoria de datede date stochează coeficien stochează coeficienţţi i şşi ei eşşantioaneantioane dede semnal utilizate semnal utilizate îîn n instrucinstrucţţiuniiuni . .
SpaSpaţţiuliul dede memoriememorie I/O seI/O se interfainterfa ţţeazăează cucu perifericele mapate perifericele mapate îîn memoria n memoria externăexternă. .
Multe dintre procesoareleMulte dintre procesoarele DSPDSP evoluate dispunevoluate dispun dede memoriimemorii cache, de cache, de programprogram şşii de datede datepe cip pe cip şşii potpot accesa spaaccesa spaţţii largiii largi dede memorie externă memorie externă..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1414
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
ÎÎ n majoritatea procesoarelorn majoritatea procesoarelorDSPDSP moderne este inclusă moderne este inclusă şşii o facilitate o facilitate dede manipularemanipulare aa blocurilorblocurilor de date,de date,fiefie dindin memoria internă memoria internă,, fie fie îîn cea n cea externăexternă,, ceea ceceea cefacefaceposibilposibil ca volumeca volumemarimari de datede date sau programe să sau programe să
fie stocate fie stocate îîn afara cipn afara cip--uluiului ,, îîn memorii mai lente n memorii mai lente şşii carecare să fie să fie
transferate transferate îîn memoria internăn memoria internă,, mai rapidă mai rapidă,, atunci când este necesaratunci când este necesar. .
De De exempluexemplu,, procesoareleprocesoareleTMS320C2000 TMS320C2000 nunu au au două blocuridouă blocuri dedememoriememorie de datede datepe cip pe cip îîmpreunămpreună cucu magistralele aferentemagistralele aferente, , ci doar ci doar de de un singurun singur bloc debloc de memorie internă memorie internă care care poatepoate fifi configuratconfigurat softwaresoftware
să să îîndeplinească rolulndeplinească rolul dede memoriememorie de program,de program, sau memoriesau memoriede date.de date.
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1515
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
SpaSpaţţiuliul de de memoriememorie
Multe procesoare utilizeazăMulte procesoare utilizează oo memoriememorie de programde program programabilă pe cip programabilă pe cip
pentru aplicapentru aplicaţţii complexeii complexe,, aceasta permiaceasta permiţţând cel mai eficient accesând cel mai eficient acces. .
AdăugândAdăugând oo memoriememorie flashflash pe cippe cip se facese faceunun pas importantpas important spre spre aplicaaplicaţţiile compacteiile compacte, cu cost, cu cost scăzut scăzut,, şşi i îînn specialspecialpentru fazelepentru fazeledededezvoltare dezvoltare şşi pentru aplicai pentru aplicaţţii relativii relativ simple. simple.
Unele procesoare dispun Unele procesoare dispun şşii dede un mic spaun mic spaţţiuiu dede memoriememorie RAMRAM pe cippe cip, , carecare poatepoate fifi configurată configurată îînn modmod dinamicdinamic caca memoriememorie de program. de program.
Atunci când este necesarăAtunci când este necesară oo memoriememorie programprogram externă externă,, trebuie avute trebuie avute îîn n vedere mărimea memoriei vedere mărimea memoriei şşi vitezai viteza dede accesacces. Cu. Cu cât frecvencât frecvenţţa ceasului a ceasului procesoarelorprocesoarelorDSPDSPcrecreşştete, cu, cu atât timpulatât timpul dede accesacceslala memoria externă memoria externă
trebuie să scadătrebuie să scadă..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1616
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
Harta memoriei Harta memoriei ExempluExemplu TMS320C5510TMS320C5510
Acest procesor dispuneAcest procesor dispunede ode o hartă hartă dede memorie memorie
unificatăunificată,, astfel astfel îîncât accesurilencât accesurilela programla program şşii la la date audate auloc loc îîn acelan acelaşşi spai spaţţiu fiziciu fizic . .
Memoria totalăMemoria totală dede pe cippe cip,, incluzândincluzând 32Kb de 32Kb de ROM,ROM, esteestede 352Kb (de 352Kb (sausau176176KcuvinteKcuvinte de 16de 16bibiţţii ). ).
RAMRAM --ulul cucu accesaccesdual (DARAM dual (DARAM -- DualDual--access access RAM) seRAM) se compunecompunedin 8din 8 blocuriblocuri aa câtecâte8Kb8Kbfiecarefiecare.. FiecareFiecarebloc DARAMbloc DARAM poate realiza două poate realiza două
accesuri pe cicluaccesuri pe ciclu((două citiridouă citiri ,, două scrieri două scrieri,, sausauooscriere scriere şşii oo citirecitire ).). AtâtAtât CPU,CPU, cât cât şşi perifericelei perifericele, , potpot citi sau scrie citi sau scrie îîn memorian memoria DARAMDARAM îîn acelan acelaşşi i cicluciclu.. MemoriaMemoria DARAMDARAM este este îîntotdeauna ntotdeauna mapată mapată îîn span spaţţiuliul de datede dateşşii areare rolulrolul de ade astocastocadate. date.
MemoriaMemoria RAM cuRAM cu acces unicacces unic(SARAM (SARAM -- SingleSingle--access RAM) seaccess RAM) secompunecompunedindin blocuriblocuri de 8Kb.de 8Kb.FiecareFiecarebloc SARAMbloc SARAM poate realiza un singur poate realiza un singur acces pe cicluacces pe ciclu((fiefie oo citirecitire ,, fiefie oo scrierescriere).).
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1717
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
SpaSpaţţiuliul de de memoriememorie
Atunci când viteza procesorului nu este unAtunci când viteza procesorului nu este unfactor critic,factor critic, timpultimpul dede accesacceslala memorie poatememorie poatefifi extins utilizândextins utilizând oo frecvenfrecvenţţăă aa ceasului maiceasului mai mică mică.. Această metodăAceastă metodă duce laduce laîîncetinirea ciclului procesoruluincetinirea ciclului procesorului,, reducând reducând astfel astfel şşi timpuli timpul dede accesacceslala memoriememorie. .
O O altă metodă estealtă metodă estede ade a lăsa procesorul să ruleze lăsa procesorul să ruleze lala îîntreaga sa vitezăntreaga sa viteză,,dar incluzânddar incluzând oo serieseriedede stări stări dede aaşşteptare pentru accesarea memorieiteptare pentru accesarea memoriei.. StărileStările dede aaşşteptareteptare permitpermit procesoarelorprocesoarelorDSPDSP să a să aşştepte executepte execuţţia ia operaoperaţţiilor efectuateiilor efectuate dede interfeinterfeţţele externe mai lenteele externe mai lente.. Aceste procesoareAceste procesoareau deau de obicei pe cip memorie configurabilă obicei pe cip memorie configurabilă caca memoriememorie de program,de program,permipermiţţând astfel stocarea unor mici programeând astfel stocarea unor mici programecarecare să poată să poată fifi executateexecutatecucu îîntreaga vitezăntreaga viteză. .
ÎÎ ncărcarea inincărcarea iniţţialăială aa programuluiprogramului dindin memoriamemoria de programde program externă mai externă mai
lentălentă sese poate realiza prin inserarea stărilor poate realiza prin inserarea stărilor dede aaşşteptareteptare.. Această Această
metodă ocolemetodă ocoleşşte necesitatea utilizării unor memoriite necesitatea utilizării unor memorii ROMROM rapiderapide, care, caresunt scumpesunt scumpe,, fără fără aa sacrifica vitezasacrifica vitezadede procesareprocesare..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1818
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
SpaSpaţţiuliul de de memoriememorie
CantitateaCantitatea dede memoriememorie ROMROM disponibilă disponibilă onon--chipchip variază variază de lade la un un procesorprocesor lala altulaltul .. Unele procesoare utilizează Unele procesoare utilizează oo memoriememorie ROMROM restrânsă restrânsă
carecare conconţţine unine un program deprogram de îîncărcarencărcare (boot loader) care face(boot loader) care face legătura legătura lala
memoria rapidămemoria rapidă RAM deRAM de pepe circuitcircuit sau externă sau externă.. Aproape toate Aproape toate procesoareleprocesoarele DSPDSP actuale dispunactuale dispun dede memoriememorie de date RAM onde date RAM on--chip.chip.Pentru multe aplicaPentru multe aplicaţţiiii ,, memoria internă memoria internă onon--chipchip îînlătur ă necesitatea nlătur ă necesitatea accesuluiaccesuluila ola o memoriememorie de datede date externă externă..
ProcesoareleProcesoareleTMS320TMS320 utilizează unele loca utilizează unele locaţţiiii aleale memorieimemoriei de datede datepentru pentru uzuz intern,intern, aaşşaa cumcum sunt vectoriisunt vectorii dede îîntreruperi ntreruperi şşi registrele mapate i registrele mapate îîn n memoriememorie.. Aceste registre furnizează Aceste registre furnizează oo modalitate convenabilă pentru modalitate convenabilă pentru aasalva salva şşi stoca coni stoca conţţinutul registrelor auxiliare atunci cândinutul registrelor auxiliare atunci când auau loc schimbări loc schimbări
de contextde context sau sau îîn cazul transferuluin cazul transferului de datede date îîntre acumulatoare ntre acumulatoare şşi alte i alte registreregistre..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1919
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
Memoria Memoria cachecache
SistemeleSistemeledede memoriememorie aleale procesoarelorprocesoarelorpot fipot fi optimizate prin utilizarea unei optimizate prin utilizarea unei mici memorii rapide mici memorii rapide îîntre procesor ntre procesor şşi spai spaţţiul mai largiul mai larg dede memorie lentă memorie lentă. .
Această memorieAceastă memorie de marede mare viteză poartă numele viteză poartă numele de de cachecache şşi ea coni ea conţţine cele maiine cele mairecentrecent accesate instrucaccesate instrucţţiuni sauiuni sau date dindate din memoria principală memoria principală. .
Există două tipuriExistă două tipuri de cache: cache de tip L1, carede cache: cache de tip L1, careesteeste mică mică şşii sese plasează plasează îîn n apropierea nucleului procesoruluiapropierea nucleului procesorului,, şşi uni un cachecachemaimai mare, L2. mare, L2.
AcesteaAcesteasese utilizează utilizează îînn modmod curent curent îîn microprocesoaren microprocesoare,, iar noile generaiar noile generaţţiiii de de DSPDSP--uriuri lele utilizează utilizează şşi ele pentrui ele pentru aa stoca cele mai utilizate secstoca cele mai utilizate secţţiuniiuni de de programprogram sausaude date. de date.
De De exempluexemplu, TMS320C55x, TMS320C55xdispunedispunedede unun buffer debuffer de instrucinstrucţţiuniiuni de 64de 64bibiţţii , , carecare poatepoate fifi tratattratat caca unun cache de program. cache de program.
Multe dintre instrucMulte dintre instruc ţţiunileiunile care secare se referă referă lala buclebucle repetitive pot firepetitive pot fi stocate stocate îînncachecacheşşi vori vor fifi executate executate îînn modmod repetat fără alte cicluri repetat fără alte cicluri de fetch dinde fetch din memoria memoria
externăexternă. .
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2020
2.4.32.4.3 ConfiguraConfiguraţţiiii aleale memorieimemoriei
Deplasarea memorieiDeplasarea memoriei
Procesarea digitală permite partajarea sarcinilor unui procesorProcesarea digitală permite partajarea sarcinilor unui procesor lalaprelucrarea mai multor semnale prinprelucrarea mai multor semnale prin timetime--sharingsharing,, reducândureducându--seseastfel astfel costulcostul perper semnal prelucratsemnal prelucrat. .
De De exempluexemplu,, un singur procesorun singur procesorDSPDSPpoate prelucra mai multe canalepoate prelucra mai multe canalealeale unei liniiunei linii T1, la care 24 deT1, la care 24 decanale sunt combinate canale sunt combinate îîntrntr --unul prin unul prin multiplexareamultiplexarea cucu timp divizattimp divizat . .
Semnalul multiplexat poateSemnalul multiplexat poatefifi aplicat unui singur procesoraplicat unui singur procesor. .
Prin schimbarea Prin schimbarea îîn procesorn procesoraa coeficiencoeficienţţilorilor carecare corespund aceluicorespund aceluicanalcanalîînaintenainte de a sede a seaplica fiecare semnalaplica fiecare semnalcomponent lacomponent laintrarea procesoruluiintrarea procesorului,,sistemul va funcsistemul va funcţţionaiona caca şşii cumcum fiecarefiecare canalcanal ar dispunear dispune dede câte un câte un procesorprocesorDSP specific. DSP specific.
Această aplicaAceastă aplicaţţie necesită utilizarea unei metode eficienteie necesită utilizarea unei metode eficientedede deplasaredeplasareaacoeficiencoeficienţţilor ilor şşii aa bufferelorbufferelor dede semnal semnal îîntre diferite locantre diferite locaţţiiii aleale memorieimemoriei..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2121
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
ProcesoareleProcesoareleDSPDSPdispun dispun îînn modmod obiobişşnuitnuit onon--chip dechip de periferice sau interfeperiferice sau interfeţţe e pentru periferice pentrupentru periferice pentru aa facilita interfafacilita interfa ţţarea acestoraarea acestoralala dispozitive externe dispozitive externe precum unprecum un DAC,DAC, unun ADCADC sau alte procesoaresau alte procesoareDSPDSPsau microprocesoaresau microprocesoare. .
ÎÎ nn plus,plus, unele perifericeunele perifericeinterneinterne sunt utilizate pentrusunt utilizate pentru aa controla controla şşii aa coordona coordona ceasurile procesoarelorceasurile procesoarelorDSP,DSP,mecanismulmecanismulde transfer alde transfer al datelordatelor,, precum precum şşi i facilit ăfacilit ăţţileile dede gestiunegestiuneaa puteriiputerii (power management).(power management).
InterfaInterfa ţţarea unui procesorarea unui procesorDSP cuDSP cu dispozitive periferice implică utilizarea dispozitive periferice implică utilizarea
magistralelormagistralelor de date, ade date, amagistralelormagistralelor dede adrese adrese şşii aa semnalelorsemnalelorde control. de control.
Multe procesoare utilizeazăMulte procesoare utilizează oo magistrală magistrală de datede date comună pentru memoria comună pentru memoria de de programprogram externă externă,, memoriamemoria de date,de date, intrări intrări // ieieşşiri digitale iri digitale şşi comunicai comunicaţţiileiile de tip de tip multimulti --procesorprocesor.. PentruPentru aa îîmpiedica două dispozitivempiedica două dispozitive de ade a utiliza magistrala utiliza magistrala
comună comună îîn acelan acelaşşi timpi timp ,, aceste dispozitive sunt echipateaceste dispozitive sunt echipatecucu unun control de tip enable control de tip enable / disable (/ disable (validarevalidare // invalidareinvalidare). ).
Timpul cerutTimpul cerut dede un dispozitiv pentru accesarea un dispozitiv pentru accesarea şşi utilizarea magistraleii utilizarea magistralei de datede date determină timpul disponibil pentru alte periferice să operezedetermină timpul disponibil pentru alte periferice să opereze. .
Multe dintre procesoareleMulte dintre procesoareleDSPDSPactuale dispun atâtactuale dispun atâtde capacitate I/Ode capacitate I/O serială serială,, cât cât şşi i paralelăparalelă..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2222
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
Portul Portul serialserial
PortulPortul serial areserial are avantajulavantajul de a fide a fi separatseparat dede magistralamagistrala de date.de date.AstfelAstfel,, el nu este limitatel nu este limitat dede un un timptimp dede accesaccesrapidrapid şşii dede posibile conflicte pe magistrală posibile conflicte pe magistrală..
Atunci cândAtunci când sese transferă transferă datedate spre spre şşi dinspre procesoruli dinspre procesorul DSP,DSP,unun port serial (port serial (tipictipic de 16de 16bibiţţii )) este este utilizat pentruutilizat pentru aa rereţţine datele transmise sau recepine datele transmise sau recepţţionateionate,, astfel astfel îîncât procesorulncât procesorul DSPDSP să poată să poată
opera cuopera cuacesteaacestea. .
Procesoarele actuale dispunProcesoarele actuale dispundede următoarele tipuri diferite următoarele tipuri diferite dede porturi serialeporturi seriale ::
1)1) UnUn port serial standardport serial standard utilizează utilizează 22 registreregistre,, unul pentru datele transmise unul pentru datele transmise şşi unul pentru cele i unul pentru cele receprecepţţionateionate.. Procesorul este Procesorul este îîntreruptntrerupt lala fiecarefiecare transfer de date.transfer de date.2)2) UnUn port serialport serial bufferatbufferat (BSP (BSP -- Buffered Serial Port)Buffered Serial Port) constă dintr constă dintr--oo interfainterfa ţţă pentru portulă pentru portulserial fullserial full --duplexduplex şşi dublu bufferat ăi dublu bufferat ă cu ocu o unitateunitate dede autobufferare pentru transferulautobufferare pentru transferul rapid alrapid aldatelor datelor îîntre portulntre portul serialserial şşi memoria internăi memoria internă aa procesoruluiprocesorului. DSP. DSP--ul este ul este îîntrerupt doar dacă ntrerupt doar dacă bufferul este fie golbufferul este fie gol,, fie plinfie plin ..3)3) PortulPortul serial cuserial cu multiplexare multiplexare îîn timp divizat permite comunican timp divizat permite comunicaţţia ia îîntre mai multe procesoarentre mai multe procesoareDSP. DeDSP. Deexempluexemplu,, procesorulprocesorul TMS320C54x seTMS320C54x sepoate conectapoate conectacucu până până lala altealte 77 dispozitivedispozitive DSPDSPprin portulprin portul serial cuserial cu multiplexare multiplexare îîn timp divizatn timp divizat . El. El îîmparte intervalulmparte intervalul dede timp dat timp dat îîntrntr --un un numărnumăr dede subintervale subintervale şşi alocă câte uni alocă câte unsubinterval lasubinterval la fiecarefiecare canal.canal.4)4) PortulPortul serialserial bufferat multicanalbufferat multicanal ((McBSPMcBSP -- MultichannelMultichannel BSP)BSP)este uneste unBSP fullBSP full--duplex deduplex de
viteză ridicatăviteză ridicată. El. El esteestedede obicei utilizat pentruobicei utilizat pentru aa conecta un procesorconecta un procesorDSP cuDSP cualtealte DSPDSP--uri uri şşi i dispozitivedispozitive.. EsteEsteo facilitateo facilitate nouă nouă,, inclusă doar inclusă doar îîn procesoarelen procesoareleTMS320 deTMS320 de ultimă genera ultimă generaţţieie..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2323
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
InterfaInterfaţţaa "host"host--port" (portport" (port gazdă gazdă))
InterfaInterfa ţţaa hosthost--port (HPI port (HPI -- HostHost--Port Interface)Port Interface) este utilizată pentru este utilizată pentru
aa interfainterfa ţţa un procesor gazdăa un procesor gazdă (de(de exemplu un microprocesorexemplu un microprocesor) cu) cuprocesorulprocesorul DSP. DSP.
Ambele procesoareAmbele procesoare,, şşi cel gazdă i cel gazdă şşii DSP,DSP, schimbă informa schimbă informaţţii prin ii prin memoriamemoria onon--chip a DSPchip a DSP--uluiului , care, carepoatepoate fifi programată programată caca memorie memorie
internăinternă de datede datesausaude program. de program.
Datele transferate suntDatele transferate suntsub formasub forma cuvintelorcuvintelor de 8de 8sausau1616 bibiţţii ..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2424
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
ControlerulControlerul DMADMA
Controlerul pentru accesulControlerul pentru accesuldirect ladirect la memoriememorie (DMA (DMA -- Direct Memory Access)Direct Memory Access)este utilizat pentru controlul transferuluieste utilizat pentru controlul transferului de datede dateîîn span spaţţiuliul dede memoriememorie alalprocesoruluiprocesorului DSP,DSP,spaspaţţiuiu care includecare includememoria memoria şşi perifericelei perifericele interneinterne sau sau externeexterne. El. El operează operează independent deindependent deprocesorprocesor.. Transferul datelorTransferul datelor sese realizează realizează
sub formasub forma blocurilorblocurilor ,, iar controleruliar controlerul DMADMA transmitetransmite oo îîntrerupere ntrerupere procesorului când transferulprocesorului când transferul ss--aa îîncheiatncheiat. De. Deobiceiobicei,, prinprin DMA se potDMA se potmanipula canalemanipula canalemultiple (demultiple (de exempluexemplu, 6, 6 canale canale îîn cazuln cazul C54x),C54x), iar utilizatorul iar utilizatorul poate atapoate ataşşa priorit ăti diferite sau aceeaa priorit ăti diferite sau aceeaşşi prioritate acestor canalei prioritate acestor canale..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2525
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
Portul paralelPortul paralel
Portul paralelPortul paralel sese diferendiferenţţiazăiază dede celcel serialserial prin aceeaprin aceea că că el transmite el transmite şşi recepi recepţţionează ionează simultan maisimultan mai mulmulţţii bibiţţii de date (de date (îînn modmod obiobişşnuitnuit , 8, 8 sausau16). Cu16). Cu toatetoate că că el poate asigurael poate asiguradede obicei unobicei un transfertransfer maimai rapid,rapid, necesită mai necesită mai mulmulţţii pini pentru implementarepini pentru implementare. O. O altă altă
diferendiferenţţă ă îîntre porturile paralele ntre porturile paralele şşi cele seriale estei cele seriale este că că liniileliniile dede conectare conectare şşii dede strobare strobare sunt utilizate sunt utilizate îîn comunican comunicaţţia paralelă pentruia paralelă pentru aa indica transferul corectindica transferul corect alal datelordatelor.. ÎÎ n n cazul comunicacazul comunicaţţiei serialeiei seriale,, este utilizat un impulseste utilizat un impulsdede sincronizare sau un semnalsincronizare sau un semnaldede ceas ceas derivatderivat dindin datele datele îînselensele..
PentruPentru aa păstra numărul pinilor folosi păstra numărul pinilor folosiţţi i îîn comunican comunicaţţia paralelăia paralelă cucu dispozitive externe dispozitive externe sausaucucu alte procesoarealte procesoare,, un procesorun procesorDSPDSP utilizează magistrala utilizează magistrala de datede date principală principală caca ununportport paralelparalel.. ProcesorulProcesorulDSPDSP realizează această sarcină rezervând realizează această sarcină rezervând oo parteparte aa adreselor adreselor pentru spapentru spaţţiuliul I/OI/O şşi prinutilizarea unui num ăr redusi prinutilizarea unui num ăr redus dede pinipini de I/Ode I/O pentru funcpentru funcţţiiii dedeconectareconectare..
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2626
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
Timerul Timerul hardwarehardware
Cea maiCea maimaremare parteparte aa procesoarelorprocesoarelorDSPDSPdispundispun dede timeretimere hardwarehardwareprogramabileprogramabile care secare se utilizează utilizează caca sursesursedede îîntreruperi periodice ntreruperi periodice pentru procesor pentru procesor şşii carecare maimai pot fipot fi folositefolosite caca generatoaregeneratoaredede semnal semnal controlate princontrolate prin software.software. Timerul constă dintr Timerul constă dintr--oo sursă sursă dede ceasceas,, un un divizordivizor ((pentrupentru a reducea reducefrecvenfrecvenţţa ceasuluia ceasului)) şşi un numărători un numărător cu cu decrementaredecrementare.. Numărătorul este decrementat Numărătorul este decrementat cu ocu o unitateunitate lala fiecarefiecarefront alfront al ceasului ceasului şşi i îîntrerupe procesorul atunci când ntrerupe procesorul atunci când îîn numărătorn numărător seseatingeatinge zero.zero.
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2727
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
GeneratorulGeneratorul dede ceas ceas şşii PLLPLL
CeasulCeasulprincipal alprincipal al procesoarelorprocesoarelorDSPDSPprovine provine îînn mod normalmod normal fiefie de lade la surse externesurse externede de tact,tact, fiefie de lade la un cristalun cristal exterior.exterior. Atunci cândAtunci când sese folosefoloseşşte un cristalte un cristal,, procesorulprocesorul DSPDSP
trebuie să aibă un oscilatortrebuie să aibă un oscilator intern careintern care să fie pilotat să fie pilotat dede cristalulcristalul externextern pentrupentru a generaa generaceasul necesarceasul necesar.. PePe dede altă parte altă parte,, dacă nu este inclus un oscilator dacă nu este inclus un oscilator intern,intern, atunci trebuie atunci trebuie implementat unimplementat un circuit decircuit de ceasceasextern.extern.
Unele procesoareUnele procesoareDSPDSP posedă sintetizatoare posedă sintetizatoare interne deinterne de frecvenfrecvenţţăă,, numitenumite PLL (PhasePLL (Phase--Locked Loop), care potLocked Loop), care potcrecreşşte frecvente frecvenţţa ceasului aplicata ceasului aplicatdin exterior.din exterior. DeciDeci,, unun PLLPLL
creazăcrează oo frecvenfrecvenţţă superioarăă superioară aa ceasuluiceasuluiinternintern pe baza unui ceaspe baza unui ceasextern cuextern cu frecvenfrecvenţţă ă scăzutăscăzută,, ceea ceceea ceareare avantajul reducerii interferenavantajul reducerii interferen ţţei electromagneticeei electromagneticeaa ceasuluiceasului. Mai. Maimultmult ,, unun generator degenerator deceasceasextern deextern defrecvenfrecvenţţă joasă este mai ieftină joasă este mai ieftin.. FuncFuncţţiaia PLLPLL poatepoatefifi realizată fie prin realizată fie prin hardware,hardware, fiefie sesepoate realiza unpoate realiza unPLLPLL programabil prinprogramabil prin soft. PLLsoft. PLL--ulul hardwarehardware dispunedispunedede factorifactori dede multiplicare limitamultiplicare limita ţţii de la 1 la 5,de la 1 la 5,îîn timp cen timp ce PLLPLL --ululsoftwaresoftware poatepoate fifi ajustatajustat subsub controlulcontrolul softsoft--ului ului şşi furnizează uni furnizează un setsetmai largmai larg dede factorifactoridede multiplicaremultiplicare (de(de exempluexemplu, de la 0,25 la 16, de la 0,25 la 16îîn cazul procesoarelorn cazul procesoarelorTMS320C54x).TMS320C54x).
Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2828
2.4.42.4.4 Periferice Periferice şşi sistemei sisteme dede intrareintrare // ieieşşireire
Gestiunea puteriiGestiunea puteriiOdatăOdată cucu cererea crecândă cererea crecândă dede produse bazate peproduse bazate peDSP careDSP care să să consumeconsumecât mai pucât mai puţţin in şşi i să prelungească astfel duratasă prelungească astfel durata dede utilizareutilizare aa baterieibateriei dede alimentarealimentare,, procesorulprocesorul DSP aDSP aîînceput să nceput să îîncorporeze soluncorporeze soluţţiiii dede gestiunegestiune aa puteriiputerii (power management)(power management) alături alături dedeutilizarea tensiunii reduseutilizarea tensiunii reduse (low(low--voltage). Sevoltage). Se utilizează mai multe metode utilizează mai multe metode îîn gestiunea n gestiunea puteriiputerii : (1): (1) controlul frecvencontrolul frecvenţţei ceasuluiei ceasului, (2), (2) modulmodul "power"power --down"down" şşii (3)(3) deconectarea deconectarea perifericelor neutilizateperifericelor neutilizate..
MecanismeleMecanismelede control ade control a frecvenfrecvenţţei ceasuluiei ceasuluipot fipot fi programate să for programate să forţţeze procesorul să eze procesorul să rulezeruleze la ola o fracfracţţiuneiune dindin viteza saviteza sa,, deoarece majoritatea aplicadeoarece majoritatea aplicaţţiilor nu necesităiilor nu necesită oofuncfuncţţionareionare lala îîntreaga vitezăntreaga viteză aa procesoruluiprocesorului tottot timpultimpul . Se. Sepoate folosi acest timp inutil poate folosi acest timp inutil şşii sesepoate forpoate forţţa procesorul să lucrezea procesorul să lucrezela ola o viteză redusă viteză redusă.. Cea maiCea maimaremare parteparte aaprocesoarelorprocesoarelorDSPDSPdispundispun dede mijloace prinmijloace prin carecare dispozitivul să fie adus dispozitivul să fie adus îîn starean stareade de "" adormireadormire" (sleep," (sleep, sausaupowerpower--down),down), îînn care secare se consumă cea mai consumă cea mai mică mică putereputere,, dar dar totutotuşşi coni conţţinutul curentinutul curent al CPUal CPU este păstrat este păstrat.. Există mai multe nivele Există mai multe nivele aleale moduluimoduluipowerpower--down,down, corespunzând situacorespunzând situaţţiei iei îînn carecare procesorul este oprit sau nuprocesorul este oprit sau nu;; ceasul ceasul procesor sau ceasul perifericelor este opritprocesor sau ceasul perifericelor este oprit;; liniile externeliniile externe de date,de date,adrese adrese şşii controlcontrolsunt aduse sunt aduse îîn starean stareadede îînaltă impedannaltă impedanţţăă; etc.; etc. ProcesorulProcesorulDSPDSPpoatepoate fi "fi " trezittrezit "" fiefie dede
către activitatea perifericelorcătre activitatea perifericelor,, fie prin fie prin îîntreruperi externentreruperi externe. O. O altă cale altă cale dede gestiunegestiuneaaputerii esteputerii este de ade adeconecta complet perifericele neutilizatedeconecta complet perifericele neutilizate..
top related