4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf ·...

25
Procesoare Numerice Procesoare Numerice de de Semnal Semnal - - CURS CURS 1 1 4. 4. Structura Structura hardware a hardware a genera genera ţ ţ iei iei TMS320C2x TMS320C2x 4.1 4.1 Descrierea semnalelor Descrierea semnalelor 4.2 4.2 Privire generală asupra arhitecturii Privire generală asupra arhitecturii 4.3 4.3 Structura internă Structura internă 4.4 4.4 Organizarea memoriei Organizarea memoriei 4.5 4.5 Unitatea centrală aritmetică Unitatea centrală aritmetică ş ş i logică i logică 4.6 4.6 Controlul sistemului Controlul sistemului 4.7 4.7 Memoria externă Memoria externă ş ş i interfa i interfa ţ ţ a a I/O I/O 4.8 4.8 Î Î ntreruperile ntreruperile 4.9 4.9 Portul Portul serial serial 4.10 4.10 Multiprocesare Multiprocesare ş ş i accesul i accesul direct la direct la memorie memorie

Transcript of 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf ·...

Page 1: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 11

4.4. StructuraStructura hardware a hardware a generageneraţţieiiei TMS320C2xTMS320C2x

4.14.1 Descrierea semnalelorDescrierea semnalelor

4.24.2 Privire generală asupra arhitecturii Privire generală asupra arhitecturii

4.34.3 Structura internă Structura internă

4.44.4 Organizarea memorieiOrganizarea memoriei

4.54.5 Unitatea centrală aritmetică Unitatea centrală aritmetică şşi logicăi logică

4.64.6 Controlul sistemuluiControlul sistemului

4.74.7 Memoria externă Memoria externă şşi interfai interfa ţţaa I/OI/O

4.84.8 ÎÎ ntreruperilentreruperile

4.94.9 PortulPortul serialserial

4.104.10Multiprocesare Multiprocesare şşi accesuli accesuldirect ladirect la memoriememorie

Page 2: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 22

4.4 4.4 Organizarea memorieiOrganizarea memoriei

TMS320C2xTMS320C2x asigură asigură internintern unun total de total de 544 de544 decuvintecuvinte dede memoriememoriede 16de 16bibiţţii , sub forma, sub forma unei memoriiunei memorii RAMRAM pepe circuitcircuit , din care:, din care:

288288sunt sunt îîntotdeauna ntotdeauna memoriememorie de datede date,, iar restuliar restul de de

256256dede cuvintecuvinte pot fipot fi configurate fieconfigurate fie caca memoriememorie de programde program,, fiefie cacamemoriememorie de datede date. .

De De asemeneaasemenea, TMS320C2x include , TMS320C2x include 44 KcuvinteKcuvinte dede memoriememorie de de program ROMprogram ROM programabilă programabilă cucu mască mască..

Page 3: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 33

4.4.14.4.1 MemoriaMemoria de datede date

CeleCele544 de544 decuvintecuvintedede memoriememorie de de date RAMdate RAM sunt sunt îîmpărmpăr ţţite ite îînn 33blocuriblocuri separate: separate: B0, B1B0, B1şşii B2B2

Page 4: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

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

4.4.14.4.1 MemoriaMemoria de datede date

BloculBlocul B0B0 conconţţineine 256 de256 de cuvintecuvinte dede memoriememorie RAM,RAM, configurabile fieconfigurabile fie cacamemoriememorie de datede date,, fiefie caca memoriememorie de programde program,, prin instrucprin instruc ţţiuni prevăzute iuni prevăzute îîn n acest scopacest scop.. BlocurileBlocurile B1B1 şşii B2B2 conconţţinin 288 de288 de cuvinte cuvinte şşi sunt i sunt îîntotdeauna ntotdeauna memoriememorie de datede date..

SpaSpaţţiuliul dede memoriememorie intern de 544 deintern de 544 de cuvinte permite luicuvinte permite lui TMS320C2xTMS320C2x să să

gestioneze un gestioneze un masivmasiv de date de 512de date de 512cuvintecuvinte (256(256 cuvinte dacă cuvinte dacă RAM deRAM de pepecircuitcircuit este folositeste folosit caca memoriememorie program),program), rămânând rămânând şşii 3232 localocaţţii pentru ii pentru stocarea altorstocarea altordatedate intermediareintermediare ((vezivezi §§4.4.3 4.4.3 -- Harta memorieiHarta memoriei).).

TMS320C2xTMS320C2xpoate adresapoate adresa6464 KcuvinteKcuvinte dede memoriememorie de datede date.. MemoriaMemoria RAM de RAM de date dedate depepe circuitcircuit şşi locai locaţţiile rezervateiile rezervate internintern sunt plasate pe harta memoriei pe sunt plasate pe harta memoriei pe cele maicele maidede josjos 11 KcuvinteKcuvinte dindin spaspaţţiuliul dede memoriememorie de date.de date.MemoriaMemoria de datede dateesteestedirectdirect expandabilă expandabilă la 64la 64 KcuvinteKcuvinte,, menmenţţinânduinându--sese intactă viteza intactă viteza dedeprelucrareprelucrare.. LiniaLinia READYREADY este prevăzută pentru adaptarea este prevăzută pentru adaptarea lala memoriile lentememoriile lente,,dar mai ieftinedar mai ieftine, cum, cum sunt circuitele dinamicesunt circuitele dinamice(DRAM).(DRAM).

Page 5: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 55

4.4.24.4.2 MemoriaMemoria de programde program

PoatePoate fifi constituităconstituită dindin memoriamemoria RAM deRAM de pepe circuit, ROM,circuit, ROM, sau memorii sau memorii externeexterne de program de marede program de mare viteză viteză care secare sefolosescfolosesclala viteza integrală viteza integrală,, fără fără

stăristări dede aaşşteptareteptare. Ca o. Ca o alternativă alternativă,, prin liniaprin linia READY seREADY se poate asigura poate asigura adaptarea procesoruluiadaptarea procesorului lala memoriile mai lente memoriile mai lente şşi mai ieftinei mai ieftine ((memorii memorii externeexterne).). Este disponibil un Este disponibil un spaspaţţiu adresabiliu adresabil dede memoriememorie de 64de 64KcuvinteKcuvinte..

BloculBlocul intern intern RAM B0RAM B0 poatepoate fifi configuratconfigurat caca memoriememorie programprogram folosind folosind instrucinstrucţţiuni speciale iuni speciale îîn acest scopn acest scop.. ExecuExecuţţiaia dede instrucinstrucţţiuniiuni dindin acestacestblocblocpoatepoatefifi iniini ţţiată după ce spaiată după ce spaţţiuliul dede memoriememorie aa fost reconfiguratfost reconfigurat ((vezivezi §§4.7.14.7.1pentru descrierea execupentru descrierea execuţţiei instruciei instrucţţiunilor folosind diferite configuraiunilor folosind diferite configura ţţiiii dedememoriememorie).). ÎÎ nn plus, plus, TMS320C25TMS320C25este echipateste echipatcu 4cu 4 KcuvinteKcuvinte dede memoriememorieprogram ROMprogram ROM , care, carepoatepoatefifi programată programată cucu mască mască lala producător producător cucu ununprogram alprogram al clientuluiclientului .. MemoriaMemoria ROM deROM de pepe circuitcircuit permite execupermite execuţţia ia programuluiprogramului lala viteza integrală fără viteza integrală fără aa apelaapela lala memoria externă memoria externă de program de program de marede mare viteză viteză.. Folosirea acestei memorii permiteFolosirea acestei memorii permitedede asemenea magistralei asemenea magistralei externeexternede datede date să fie liberă pentru accesarea memoriei externe să fie liberă pentru accesarea memoriei externe de date.de date.

Page 6: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 66

4.4.24.4.2 MemoriaMemoria de programde program

ModulModul dede aaşşezare pe harta memorieiezare pe harta memorieiaa primelorprimelor 44 KcuvinteKcuvinte dindin bloculblocul dedememoriememorie programprogram pe sau pe sau îîn afara circuitului este selectabiln afara circuitului este selectabil dede către către

utilizatorutilizator cucu ajutorul pinuluiajutorul pinului MP//MC alMP//MC al luilui TMS320C25TMS320C25.. Acest lucru Acest lucru

permite proiectantului să accelereze duratapermite proiectantului să accelereze duratadede dezvoltaredezvoltare cucu ajutorul unui ajutorul unui produs bazat peprodus bazat peTMS320C25TMS320C25 folosindfolosind ROM extern,ROM extern, şşi reducerea costuluii reducerea costului,,folosindfolosind 4K de ROM intern4K de ROM intern fără reproiectarea cablajului imprimat fără reproiectarea cablajului imprimat..SetândSetând MP//MC la high seMP//MC la high se realizează maparea realizează maparea dede memoriememorie programprogram îîn n afara circuituluiafara circuitului . MP//MC = low. MP//MC = low realizează maparea realizează maparea îîn memorian memoria ROMROM

internăinternă..

MP//MC de la TMS320C25MP//MC de la TMS320C25este pentrueste pentruTMS32020TMS32020unun pin depin de alimentarealimentare((VccVcc).). Acest lucru permite substituirea luiAcest lucru permite substituirea lui TMS320C25 cu TMS32020TMS320C25 cu TMS32020cât cât timptimp TMS320C25TMS320C25 operează automat operează automat îîn modul microprocesorn modul microprocesor,, asigurânduasigurându--seseastfel compatibilitateaastfel compatibilitatea..

Page 7: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 77

4.4.34.4.3 Harta memorieiHarta memoriei

TMS320C2xTMS320C2x suportă suportă 33 spaspaţţiiii separate deseparate deadreseadresedede memoriememorie::-- pentru pentru memoriamemoria programprogram,,-- pentru pentru memoriamemoria de datede date, , şşii-- pentru pentru perifericeperiferice I/OI/O

Aceste spaAceste spaţţiiii sese disting disting îînn exteriorexterior prin semnaleleprin semnalele /PS, /DS/PS, /DS şşii /IS (/IS (selectareselectareprogram, dateprogram, date şşii I/O)I/O) .. SemnaleleSemnalele/PS, /DS, /IS/PS, /DS, /ISşşii /STRB/STRB suntsunt activeactive numai numai

când memoria externăcând memoria externă aa fost adresată fost adresată.. ÎÎ n timpul unui ciclun timpul unui ciclu dede adresareadresareintern,intern,

aceste semnale rămânaceste semnale rămân inactive (high),inactive (high), acest lucru prevenind conflictele acest lucru prevenind conflictele îîn n adresarea memorieiadresarea memoriei,, când bloculcând bloculB0B0 este configurateste configuratcaca memoriememorie de program.de program.

Page 8: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 88

4.4.34.4.3 Harta memorieiHarta memoriei

Page 9: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 99

4.4.34.4.3 Harta memorieiHarta memoriei

Page 10: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1010

4.4.34.4.3 Harta memorieiHarta memoriei

BlocurileBlocurile B0, B1B0, B1 şşii B2B2 sunt compuse sunt compuse îînn total din total din 544544 cuvintecuvinte dede memoriememorieRAMRAM . .

BloculBlocul B0B0 dede memoriememorie RAM de date /RAM de date / programeprograme (256(256 cuvintecuvinte)) este rezident este rezident îîn n paginilepaginile 44 şşii 5 ale 5 ale hărhăr ţţii memorieiii memoriei de datede date când este configuratcând este configuratca RAM de ca RAM de date,date, şşii de lade la adreseleadresele FF00 la FFFFFF00 la FFFF când este configuratcând este configurat ca RAM deca RAM deprogrameprograme. .

BloculBlocul B1B1 ((îîntotdeaunantotdeaunaRAM de date)RAM de date) este rezident este rezident îîn paginilen paginile 66 şşii 7. 7.

BloculBlocul B2B2 este rezident este rezident îîn celen cele3232 cuvintecuvinte dede sussusaleale paginiipaginii 0.0. Restul paginiiRestul paginii 00este compuseste compusdindin registre mapate registre mapate îîn memorie n memorie şşi locai locaţţii rezervateii rezervate intern,intern, iar iar paginilepaginile 11--3 ale3 ale hăr hărţţiiii dede memoriememorie de datede date sunt locasunt locaţţii rezervateii rezervate intern.intern.LocaLocaţţiile rezervateiile rezervate intern potintern pot să nu fie folosite pentru stocare să nu fie folosite pentru stocare,, şşi coni conţţinutul lor inutul lor este nedefiniteste nedefinitla la citirecitire ..

MemoriaMemoria RAM deRAM de pepe circuitcircuit este mapată fie este mapată fie îîn span spaţţiuliul de 64de 64 KcuvinteKcuvinte dedememoriememorie de datede date sausau dede memoriememorie program,program, depinzânddepinzând dede configuraconfiguraţţia ia memorieimemoriei..

Page 11: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1111

4.4.34.4.3 Harta memorieiHarta memoriei

InstrucInstruc ţţiunileiunile CNFD / CNFPCNFD / CNFP sunt folosite pentru configurarea bloculuisunt folosite pentru configurarea bloculuiB0B0 fiefie caca memoriememorie de datede date,, fiefie caca memoriememorie programprogram..

InstrucInstruc ţţiuneaiunea BLKP BLKP ((mutarea unuimutarea unui bloc dinbloc din memoriamemoria programprogram îîn n memoriamemoria de date)de date) poatepoate fifi folosită pentru descărcarea informa folosită pentru descărcarea informaţţiiloriilor de de programprogram îîn bloculn blocul B0,B0, cândcând B0B0 este configurateste configuratca RAM de date.ca RAM de date.ApoiApoi ooinstrucinstrucţţiuneiune CNFP (CNFP (configurarea bloculuiconfigurarea blocului caca memoriememorie program)program) poatepoate fifi folosită pentrufolosită pentru aa converticonverti B0B0 îînn RAM de program.RAM de program. Fără să Fără să ţţină seamaină seamadedeconfiguraconfiguraţţieie,, utilizatorul poate executa programeutilizatorul poate executa programedindin memoria externă memoria externă de de program.program. Când este accesată memoria internă Când este accesată memoria internă de program,de program, liniileliniile de de controlcontrol externe rămân externe rămân inactive.inactive.

Page 12: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1212

4.4.34.4.3 Harta memorieiHarta memoriei

ResetulResetul configurează configurează B0 ca RAM de dateB0 ca RAM de date.. ÎÎ n timpul lucrului pe n timpul lucrului pe magistralelemagistralele interne,interne, când instruccând instrucţţiunileiunile CNFDCNFD sausau CNFPCNFP sunt folosite sunt folosite pentrupentru aa reconfigura bloculreconfigura blocul B0,B0, există există un timpun timp dede îîntârziere până când ntârziere până când noua configuranoua configuraţţie devine efectivăie devine efectivă.. Această Această îîntârziere estentârziere estedede un cicluun ciclu de de fetchfetch dacă execu dacă execuţţia esteia estedin RAMdin RAM --ulul de program intern. La TMS32020, de program intern. La TMS32020, areare locloc oo îîntârzierentârziere dede un cicluun ciclu fetchfetch dacă execu dacă execuţţia esteia estedindin memoriamemoria de de programprogram externă externă..

La La TMS320C25TMS320C25,, memoriamemoria de program ROM dede program ROM depepe circuitcircuit este localizată este localizată

îîn cele mai pun cele mai puţţin semnificativein semnificative 44 KcuvinteKcuvinte dede memoriememorie program,program, când când sunt selectatesunt selectatede MP//MC = 0.de MP//MC = 0. CândCând MP//MC = 1,MP//MC = 1, cele maicele mai dede josjos 44KcuvinteKcuvinte aleale memorieimemoriei programprogram sunt externesunt externe..

Page 13: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1313

4.4.44.4.4 Registrele mapate Registrele mapate îîn memorien memorie

Registrele mapate Registrele mapate îîn memorien memorie pot fipot fi accesate accesate îîn aceean aceeaşşi manierăi manieră cucu alte alte localocaţţiiii dede memoriememorie de date, cude date, cuexcepexcepţţia faptuluiia faptului că că mutarea blocurilormutarea blocurilor cucuinstrucinstrucţţiuneaiunea BLKD (BLKD ( mutarea bloculuimutarea blocului dindin memoriamemoria de datede dateîîn memorian memoria de de date)date) nunu sesepoatepoateface dinface din registrele mapate registrele mapate îîn memorien memorie..

CeleCele66 registre mapate registre mapate îîn memorian memoria de date:de date:

LocaLocaţţieie RegistruRegistru DescriereDescriere00 DRR(15DRR(15--0)0) RegistruRegistru dede receprecepţţieie alal portuluiportului serialserial11 DXR(15DXR(15--0)0) RegistruRegistru dede transmisietransmisie alal portuluiportului serialserial22 TIM(15TIM(15 --0)0) RegistruRegistru TimerTimer33 PRD(15PRD(15--0)0) RegistruRegistru dede perioadă perioadă

44 IMR(5IMR(5 --0)0) Registrul măRegistrul măşştiitii dede îîntreruperintreruperi55 GREG(7GREG(7--0)0) RegistrulRegistrul dede alocarealocareaa memoriei globalememoriei globale

Page 14: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1414

4.4.54.4.5 Registrele auxiliareRegistrele auxiliare

TMS320C2xTMS320C2x conconţţine ine un bancun banc dede registreregistre cucu până până la 8la 8 registre auxiliareregistre auxiliare (AR0 (AR0 -- AR7)AR7). . TMS32020 are TMS32020 are 55 registre auxiliareregistre auxiliare,, iariar TMS320C25 are TMS320C25 are 88 astfelastfel dede registreregistre..

Registrele auxiliareRegistrele auxiliare pot fipot fi folosite pentru folosite pentru adresarea indirectăadresarea indirectă aa memorieimemoriei de datede date şşi i pentru pentru stocarea temporarăstocarea temporară aa datelordatelor.. Adresarea indirectă prin registrele auxiliare Adresarea indirectă prin registrele auxiliare

permite plasarea adresei unuipermite plasarea adresei unuioperand (operand (dintrdintr --oo instrucinstrucţţiuneiune) din) din memoriamemoria de datede dateprinprin ARP (3ARP (3 bibiţţii ) care) care este cuprins este cuprins îîntrentre 00 şşii 7,7, desemnând respectiv registreledesemnând respectiv registreleAR0AR0--AR7.AR7. Registrele auxiliare Registrele auxiliare şşii ARP pot fiARP pot fi îîncărcate fiencărcate fie dindin memoriamemoria de date,de date,fiefie direct cudirect cuunun operandoperand imediat găsit imediat găsit îîn instrucn instrucţţiuneiune. . ConConţţinutul acestui registru poateinutul acestui registru poate fi defi deasemenea stocat asemenea stocat îîn memorian memoria de date. de date.

Bancul registrelor auxiliareBancul registrelor auxiliare (AR0(AR0--AR4 la TMS32020 AR4 la TMS32020 şşii AR0AR0--AR7 la TMS320C25)AR7 la TMS320C25)este este conectatconectat la ARAUla ARAU. ARAU. ARAU poate autoindexa registrul auxiliar curent cât timp este poate autoindexa registrul auxiliar curent cât timp este adresatăadresată oo localocaţţieie aa memorieimemoriei de date. de date. SeSe poatepoate faceface indexareaindexarea cu +cu + sausau --11 sausau cucuconconţţinutul luiinutul lui AR0AR0. Ca. Ca rezultatrezultat,, nu este necesară folosirea nu este necesară folosirea CALUCALU pentru accesarea pentru accesarea tabelelortabelelor cucu informainforma ţţiiii ,, ceea ce lasă liberă ceea ce lasă liberă CALUCALU pentru alte operapentru alte operaţţiiii ..

Page 15: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1515

4.4.54.4.5 Registrele auxiliareRegistrele auxiliare

Un exempluUn exempludede adresare indirectă adresare indirectă cucu registru auxiliarregistru auxiliar

Page 16: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1616

4.4.54.4.5 Registrele auxiliareRegistrele auxiliare

Bancul registrelor auxiliareBancul registrelor auxiliare

Page 17: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1717

4.4.54.4.5 Registrele auxiliareRegistrele auxiliare

AR0AR0 sau cei mai pusau cei mai puţţin semnificativiin semnificativi 88 bibiţţi ai registrelor instruci ai registrelor instruc ţţiuneiunepot fipot fi conectaconectaţţii lala unauna dindin intrările intrările ARAU.ARAU. Cealaltă intrare este Cealaltă intrare este

alimentatăalimentată dede registrulregistrul ARAR curentcurent ((indicatindicat de ARP), care de ARP), care transmite transmite sprespre ARAUARAU conconţţinutul săuinutul său..

ARAUARAU realizează următoarele realizează următoarele funcfuncţţiiii ::

1) AR(ARP) + AR0 1) AR(ARP) + AR0 →→→→→→→→ AR(ARP) ;AR(ARP) ; incrementează incrementează ARAR curentcurent cucuvaloarea valoarea îîntreagă pentreagă pe 1616 bibiţţi coni conţţinutăinută de AR0de AR0

2) AR(ARP) 2) AR(ARP) -- AR0 AR0 →→→→→→→→ AR(ARP) ;AR(ARP) ; decrementează decrementează ARAR curentcurent cucuvaloarea valoarea îîntreagă pentreagă pe 1616 bibiţţi coni conţţinutăinută de AR0de AR0

3) AR(ARP) + 1 3) AR(ARP) + 1 →→→→→→→→ AR(ARP) ;AR(ARP) ; incrementează incrementează ARAR curentcurent cu 1cu 1

4) AR(ARP) 4) AR(ARP) -- 1 1 →→→→→→→→ AR(ARP) ;AR(ARP) ; decrementează decrementează ARAR curentcurent cu 1cu 1

5) AR(ARP) 5) AR(ARP) →→→→→→→→ AR(ARP) ; AR(ARP)AR(ARP) ; AR(ARP) este neschimbateste neschimbat..

Page 18: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1818

4.4.54.4.5 Registrele auxiliareRegistrele auxiliare

ARAU din TMS320C25ARAU din TMS320C25 mai realizează mai realizează următoareleurmătoarele::

6) AR(ARP) + IR(76) AR(ARP) + IR(7--0) 0) →→→→→→→→ AR(ARP) ;AR(ARP) ; adună adună la ARla AR curentcurent oo

valoare imediată pevaloare imediată pe 88 bibiţţii

7) AR(ARP) 7) AR(ARP) -- IR(7IR(7--0) 0) →→→→→→→→ AR(ARP) ;AR(ARP) ; scadescadeoo valoare imediată valoare imediată

pepe 88 bibiţţii din ARdin AR curentcurent

8) AR(ARP) + rcAR0 8) AR(ARP) + rcAR0 →→→→→→→→ AR(ARP) ;AR(ARP) ; indexareindexare cucu schimbarea schimbarea bibiţţilorilor ,, adună adună AR0 cuAR0 cu schimbarea luischimbarea lui carry,carry, propagată propagată

(reverse(reverse--carry propagation) carry propagation) -- vezi modulvezi moduldede adresare indirectă adresare indirectă

9) AR(ARP) 9) AR(ARP) -- rcAR0 rcAR0 →→→→→→→→ AR(ARP) ; caAR(ARP) ; ca mai susmai sus,, dardar cucu scădere scădere..

Page 19: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 1919

4.4.54.4.5 Registrele auxiliareRegistrele auxiliare

DeDe asemeneaasemenea, , ARAUARAU poate poate fi fi folosită pentru folosită pentru manevrarea adreselor manevrarea adreselor îîn n paralelparalel cucu alte operaalte operaţţiiii ,, şşi poate servii poate servidede asemeneaasemeneaca oca o unitate aritmetică unitate aritmetică adiadiţţionalăională, cu, cu scopscop general, din moment general, din moment ce registrele auxiliarece registrele auxiliare potpotcomunicacomunicadirect cudirect cu memoriamemoria de date.de date.

ARAUARAU implementează opera implementează operaţţii aritmeticeii aritmetice cucu numere fără semn pe numere fără semn pe 1616 bibiţţii ,,iariar CALUCALU implementează opera implementează operaţţii aritmetice peii aritmetice pe 32 de32 de bibiţţii , cu, cu numere numere îînncomplementcomplementfafaţţăă de 2.de 2.

InstrucInstruc ţţiunile iunile de de ramificare determină ramificare determină salturi dependentesalturi dependentedede comparacomparaţţia ia registrelor auxiliareregistrelor auxiliare indicate de ARP, cu AR0indicate de ARP, cu AR0. .

InstrucInstruc ţţiunileiunile BANZBANZ permit depermit de asemenea folosirea registrelor auxiliare asemenea folosirea registrelor auxiliare drept drept contoare pentru buclecontoare pentru bucle. .

ARB ARB pepe 33 bibiţţii ((bufferul indicatorului registrelor auxiliarebufferul indicatorului registrelor auxiliare ), ), permite permite stocarea constocarea conţţinutuluiinutului ARPARP îîn cazul apeluluin cazul apelului dede subrutine sausubrutine sau alalîîntreruperilorntreruperilor ..

Page 20: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2020

4.4.64.4.6 ModuriModuri dede adresareadresare aa memorieimemoriei

TMS320C2xTMS320C2x poate adresa poate adresa îînn total total 6464 KcuvinteKcuvinte dede memoriememorie programprogram şşii 6464 KcuvinteKcuvinte dedememoriememorie de datede date. .

MemoriaMemoria de datede datedede pepe circuitcircuit este mapată este mapată îîn span spaţţiuliul de 64de 64KcuvinteKcuvinte dede memoriememorie de de date.date.

MemoriaMemoria ROMROM dede pepe circuitcircuit îînn TMS320C25TMS320C25 este mapată este mapată îîn span spaţţiuliul dede memoriememorieprogram,program, îîn modul microcalculatorn modul microcalculator. .

MagistralaMagistrala de de adrese adrese a a memorieimemoriei de date, de date, DABDAB, , pepe 16 16 bibiţţii , , adresează memoriaadresează memoria de datede dateîîntrntr --unulunul din din următoarele următoarele modurimoduri ::

1)1) Pe magistrala directă Pe magistrala directă dede adreseadreseDRB,DRB, folosind modulfolosind modul dede adresare directă adresare directă (de(deexempluexempluADD>10);ADD>10);

2)2) Pe magistrala bancului registrelor auxiliarePe magistrala bancului registrelor auxiliare AFB,AFB, folosind modulfolosind modul dede adresareadresareindirect (deindirect (de exempluexempluADD*).ADD*).

OperanziiOperanzii suntsunt dede asemenea adresaasemenea adresaţţi prin coni prin conţţinutul numărătoruluiinutul numărătorului de program,de program, îîn n modulmodul dede adresare imediatadresare imediat..

Page 21: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2121

4.4.64.4.6 ModuriModuri dede adresareadresare aa memorieimemoriei

MetodeMetode dede adresareadresareaa operandului instrucoperandului instrucţţiuniiiunii

Page 22: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2222

4.4.64.4.6 ModuriModuri dede adresareadresare aa memorieimemoriei

ÎÎ n moduln modul de de ADRESARE DIRECTĂADRESARE DIRECTĂ,, ceicei 99 bibiţţi ai indicatorului paginiii ai indicatorului paginii dedememoriememorie de date DPde date DP indică una indică una dindin celecele512512paginipagini,, fiecare pagină având fiecare pagină având 128128cuvintecuvinte.. Adresa memorieiAdresa memoriei de date (de date (dmadma),), specificată prin cei mai pu specificată prin cei mai puţţin in semnificativisemnificativi 77 bibiţţi ai instruci ai instrucţţiuniiiunii ,, indică cuvântul dorit indică cuvântul dorit dindin pagină pagină.. AdresaAdresadede pepe DRB seDRB se formează concatenând cei formează concatenând cei 99 bibiţţi aii ai DP cuDP cu ceicei 77 bibiţţi dmai dma..

ÎÎ n moduln modul de de ADRESARE INDIRECT ĂADRESARE INDIRECT Ă,, registrul auxiliar curent selectat registrul auxiliar curent selectat prinprin ARP (AR(ARP)),ARP (AR(ARP)), prin ceiprin cei 1616 bibiţţi ai săii ai săi ,, adresează memoria adresează memoria de datede datepe pe magistralamagistrala AFB (aAFB (a bancului registrelor auxiliarebancului registrelor auxiliare).). ÎÎ n timpul cât registrul n timpul cât registrul auxiliar selectat furnizează adresa dateiauxiliar selectat furnizează adresa dateidindin memoriamemoria de datede date şşii datadata este este

manevratămanevrată de CALU,de CALU, conconţţinutul registrului auxiliar poateinutul registrului auxiliar poate fifi manipulat manipulat îînnARAU. ARAU.

CândCând sese folosefoloseşşte unte un operandoperand imediatimediat,, el este conel este conţţinut fie inut fie îîn n îînsunsuşşi cuvântul i cuvântul instrucinstrucţţiuneiune,, fiefie,, îîn cazul unuin cazul unui operandoperand imediat peimediat pe 1616 bibiţţii ,, cuvântul este cel cuvântul este cel

imediat următor codului instrucimediat următor codului instruc ţţiuniiiunii ..

Page 23: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2323

4.4.74.4.7 Transferurile memorieTransferurile memorie -- memoriememorie

TMS320C2x TMS320C2x dispune dispune de de instrucinstrucţţiuni pentru mutarea blocuriloriuni pentru mutarea blocurilor de datede datesau programesau programeşşi i funcfuncţţii pentru mutarea datelorii pentru mutarea datelor, care pot fi, care pot fi folosite eficient folosite eficient pentru memoriapentru memoria RAM deRAM de pepe circuit:circuit:

•• InstrucInstruc ţţiuneaiunea BLKDBLKD ,, mută un mută un blocbloc îîn interiorul memoriein interiorul memoriei de date;de date;

•• InstrucInstruc ţţiuneaiunea BLKPBLKP ,, mută un mută un bloc dinbloc din memoriamemoria programprogram îîn n memoriamemoria de date.de date.

CândCând sesefolosescfolosescBLKDBLKD sausauBLKP cuBLKP cu instrucinstrucţţiunileiunile repetitive RPT / repetitive RPT / RPTK,RPTK, atunci aceste instrucatunci aceste instrucţţiuni realizează eficient mutarea blocuriloriuni realizează eficient mutarea blocurilor dindinmemoriilememoriile dede pepe circuitcircuit sausaudindin afara acestuiaafara acestuia..

Page 24: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2424

4.4.74.4.7 Transferurile memorieTransferurile memorie -- memoriememorie

Implementată Implementată îîn circuituln circuitul RAM deRAM de pepe circuit,circuit, funcfuncţţiaia DMOVDMOV (data (data move) la TMS320C2xmove) la TMS320C2x este echivalentă este echivalentă cucu ceacea de la TMS320C1x. de la TMS320C1x. DMOVDMOV permite copierea unui cuvântpermite copierea unui cuvântde lade la adresa locaadresa locaţţiei curenteiei curente dindinmemoriamemoria de datede date îîn circuituln circuitul RAM intern laRAM intern la următoarea loca următoarea locaţţie ie superioarăsuperioară, , îîn timp cen timp ce data dindata din localocaţţia adresată este operată ia adresată este operată îîn acelan acelaşşi i cicluciclu (de(de către către CALU). DeCALU). De asemeneaasemenea,, poatepoate fifi executată executată oo operaoperaţţieieARAUARAU îîn acelan acelaşşi ciclui ciclu,, cândcând sesefolosefoloseşşte modulte modul dede adresare indirectă adresare indirectă..

FuncFuncţţiaia DMOVDMOV este utilă pentru este utilă pentru implementarea algoritmilorimplementarea algoritmilor carecarefolosesc operafolosesc operaţţiaia dede îîntârzierentârziere Z laZ la putereaputerea --11, cum, cum arar fifi convoluconvoluţţiaia sau sau filtrarea digital ăfiltrarea digital ă,, când datele sunt trecute printrcând datele sunt trecute printr--oo fereastră fereastră îîn timpn timp. . DMOV seDMOV se poate folosi oriunde poate folosi oriunde îîn interiorul blocurilorn interiorul blocurilor B0, B1,B0, B1, sausau B2.B2.EsteEste continuă continuă îîn hotarele luin hotarele lui B0, B1, B2,B0, B1, B2, dar nu poatedar nu poate fifi folosită folosită cucumemoriamemoria de datede date externă externă..

Page 25: 4. Structura hardware a genera ţiei TMS320C2xpns.ac.tuiasi.ro/Doc/curs/Prezentare_07.pdf · 2015-10-19 · program al clientului . Memoria ROM de pe circuit permite execu ţia programului

Procesoare Numerice Procesoare Numerice de de Semnal Semnal -- CURSCURS 2525

4.4.74.4.7 Transferurile memorieTransferurile memorie -- memoriememorie

InstrucInstruc ţţiunileiunile MACDMACD ((îînmulnmulţţeeşşte te şşi acumuleazăi acumulează cu transfer de cu transfer de date)date) şşii LTDLTD ((îîncarcă registrulncarcă registrul T,T, îîncarcă rezultatul ncarcă rezultatul îîn acumulator n acumulator şşi mutăi mută data)data) folosesc funcfolosesc funcţţiaia DMOVDMOV ..

InstrucInstruc ţţiunileiunile TBLR / TBLWTBLR / TBLW (table read / write) permit(table read / write) permit transferul transferul cuvintelor cuvintelor îîntre spantre spaţţiuliul de programde program şşii de datede date..

•• TBLR seTBLR se folosefoloseşşte pentrute pentru aa citi cuvinteciti cuvinte de lade la unun ROM internROM internsausau oo memoriememorie de program ROM / RAMde program ROM / RAM externă externă,, îîn memorian memoriaRAM de date.RAM de date.

•• TBLW seTBLW se folosefoloseşşte pentrute pentru aa scrie cuvinte dintrscrie cuvinte dintr--oo memorie memorie

internăinternă RAM de dateRAM de date îîntrntr --oo memoriememorie RAM de programRAM de program

externăexternă..