2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4...

28
Procesoare Numerice Procesoare Numerice de de Semnal Semnal - - CURS CURS 1 1 2.4 2.4 Arhitectura generală Arhitectura generală a a procesoarelor procesoarelor DSP DSP Procesorul Procesorul DSP DSP realizează func realizează func ţ ţ iile esen iile esen ţ ţ iale iale de de prelucrare prelucrare a a semnalelor semnalelor . . Dezvoltarea unui Dezvoltarea unui sistem sistem DSP DSP eficient eficient se se bazează pe bazează pe : : arhitecturile arhitecturile hard hard ş ş i i soft ale soft ale procesorului procesorului DSP, DSP, resursele disponibile pentru transferul datelor resursele disponibile pentru transferul datelor , , capacită capacită ţ ţ ile aritmetice ile aritmetice ale ale procesorului procesorului , , configura configura ţ ţ iile posibile iile posibile ale ale memoriei memoriei , , complexitatea structurilor complexitatea structurilor I/O, I/O, programabilitatea procesorului programabilitatea procesorului , , ş ş i i setul setul de de instruc instruc ţ ţ iuni iuni al al procesorului procesorului . .

Transcript of 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4...

Page 1: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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. .

Page 2: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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 ..

Page 3: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 4: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 44

2.4.12.4.1 IntroducereIntroducere

Page 5: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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

Page 6: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 7: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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ă..

Page 8: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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ă..

Page 9: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 10: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 11: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 12: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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).

Page 13: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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ă..

Page 14: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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.

Page 15: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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ă..

Page 16: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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).).

Page 17: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 18: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 19: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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ă. .

Page 20: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 21: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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ă..

Page 22: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 23: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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 ..

Page 24: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 25: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..

Page 26: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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.

Page 27: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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).

Page 28: 2.4 Arhitectura generală a procesoarelor DSP fileProcesoare Numerice de Semnal -CURS 2 2.4 Arhitectura generală a procesoarelor DSP Arhitectura procesorului şi algoritmul DSP folosit

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..