Sunteți pe pagina 1din 30

Procesoare Numerice de Semnal - CURS 1

4. Structura hardware a generaţiei TMS320C2x

4.1 Descrierea semnalelor


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

4.1 Descrierea semnalelor

În cele ce urmează, se vor prezenta


structura şi resursele specifice
procesorului TMS320C25, ca
membru reprezentativ al generaţiei
sale şi se vor face referiri şi
comparaţii cu ceilalţi membri.

Dispozitivul TMS320C25 este inclus


într-o capsulă de material plastic cu
68 de terminale (PLCC). Există şi
adaptoare de socluri care permit
introducerea procesorului într-un
suport cu 68 pini tip grilă
matricială cu picioruşe (PGA),
pentru a păstra compatibilitatea cu
TMS32020 la introducerea în soclu.
Procesoare Numerice de Semnal - CURS 3

4.1 Descrierea semnalelor (cont.)

Magistralele de adrese şi de date

A0 - A15; O/Z
Magistrala paralelă de adrese, de la A15 (MSB) la A0 (LSB). Este
multiplexată la adresarea memoriei externe de date sau programe sau la
porturile I/O. În modul hold, A0-A15 sunt în starea de înaltă impedanţă.
A0-A15 pot fi semnale fie de ieşire, fie în starea de înaltă impedanţă.

D0 - D15; I/O/Z
Magistrala paralelă de date, de la D15 (MSB) la D0 (LSB). Se
multiplexează pentru transferul datelor între procesor şi memoria de
date / programe externă, sau circuitele periferice I/O. Când nu se scot
date în exterior pe liniile sale, este plasată în starea de impedanţă
ridicată; la fel când se activează semnalele /RS sau /HOLD.

Notaţii: I - semnal de intrare, O - semnal de ieşire, Z - stare de înaltă impedanţă.


Procesoare Numerice de Semnal - CURS 4

4.1 Descrierea semnalelor (cont.)


Semnalele de control

/DS, /PS, /IS


Sunt semnale de selecţie ale spaţiului de date, programe şi periferice (I/O). Sunt tot timpul în
starea high, cu excepţia cazului când sunt setate la nivel low pentru adresarea unui spaţiu de
memorie sau I/O extern. În modul hold, trec în starea a treia.

READY; I
Indică faptul că un circuit extern este gata pentru o tranzacţie cu magistrala. Dacă circuitul
nu e pregătit, READY = 0, atunci TMS320C2x aşteaptă un ciclu şi verifică apoi din nou
semnalul READY. El indică de asemenea posibilitatea unui acces la magistrală a unui circuit
extern după o cerere de magistrală, /BR (bus request).

R//W; O/Z
Semnal de scriere - citire. Indică sensul de transmisie în cazul comunicării cu un dispozitiv
extern. În mod normal, stă în modul read (high), cu excepţia cazului când are starea low
pentru a executa o operaţie de scriere. În modul hold, este în înaltă impedanţă.

/STRB
Semnal de validare. În mod normal stă în high, mai puţin momentele când are starea
low pentru a indica un ciclu extern de magistrală. În modul hold, este în înaltă
impedanţă.
Procesoare Numerice de Semnal - CURS 5

4.1 Descrierea semnalelor (cont.)


Semnale pentru sisteme cu multiprocesare

/BR; O
Semnal de cerere a magistralei. Se activează când procesorul cere accesul la un
spaţiu de memorie de date global extern.

/HOLD; I
Intrare de hold. Când este activă, procesorul pune liniile de date, de adrese şi de
control în stare de impedanţă ridicată.

/HOLDA; O
Semnal de acceptare hold. Indică faptul că procesorul a fost trecut în modul hold
şi că un procesor extern poate accesa memoria externă locală a lui TMS320C2x.

/SYNC; I
Intrare de sincronizare. Permite sincronizarea ceasului a două sau mai multor
circuite TMS320C2x. Semnalul /SYNC este activ în low şi trebuie activat pe
frontul crescător al lui CLKIN.
Procesoare Numerice de Semnal - CURS 6

4.1 Descrierea semnalelor (cont.)


Semnale de întrerupere şi alte semnale

/BIO; I
Intrare de control pentru salturi în program. Este activat de instrucţiunile BIOZ.
Când /BIO este în low, procesorul execută o instrucţiune de salt (ramificare).
Acest semnal trebuie să fie activ în timpul unui ciclu de instrucţiune BIOZ.

/IACK; O
Semnal de acceptare a întreruperilor. Ieşirea este validă doar când CLOCKOUT
= low. Indică receptarea unei întreruperi şi faptul că programul se ramifică,
executându-se încontinuare ceea ce se găseşte la locaţia de memorie a vectorului
de întrerupere indicată de A0-A15.

/INT2, /INT1, /INT0


Intrări de întrerupere pentru utilizatorul extern. Li se pot acorda priorităţi şi pot
fi mascate prin registrul de mascare a întreruperilor şi bitul mod de întrerupere.
Procesoare Numerice de Semnal - CURS 7

4.1 Descrierea semnalelor (cont.)


Semnale de întrerupere şi alte semnale

MP//MC; I
Pin de selecţie mod microprocesor sau microcalculator, numai pentru
TMS320C25. Când MP//MC = low (modul microcomputer), memoria ROM
internă este "mapată" în cele mai puţin semnificative 4Kcuvinte de memorie
program. Când MP//MC = high, cele mai puţin semnificative 4Kcuvinte din
memoria program sunt externe. La TMS320C2x, MP//MC=Vcc.

/MSC; O
Semnal de terminare microstare. Este valid în low şi este validat doar când
CLOCKOUT1 este în low, când procesorul a terminat o operaţie cu memoria, ca
de exemplu o istrucţiune de fetch sau citire-scriere a unei date din / în memorie.
/MSC se poate folosi pentru a genera o stare de aşteptare (prin semnalul READY)
pentru sincronizare cu memoriile lente.

/RS; I
Intrare de reset. Determină procesorul să termine execuţia instrucţiunii în curs şi
forţează numărătorul de program în 0. Când este readus în high, execuţia începe
de la locaţia 0 a memoriei program. /RS afectează diferite registre şi biţii de stare.
Procesoare Numerice de Semnal - CURS 8

4.1 Descrierea semnalelor (cont.)


Semnale de întrerupere şi alte semnale

XF; O
Bistabil (semnal) de ieşire care poate fi programat software. Folosit pentru
comunicarea cu alte procesoare în configuraţiile multiprocesor sau ca pin de ieşire
în aplicaţiile generale.

CLKOUT1; O
Semnal de ieşire master clock. Are frecvenţa 1/4 din frecvenţa CLKIN. Pentru
TMS320C2x şi TMS320C25, CLKOUT1 trece în high la începutul fazei a treia
(Q3) şi cade în low la începutul lui Q1.

CLKOUT2; O
Un al doilea semnal de ieşire de ceas. CLKOUT2 trece în high la începutul lui Q2
şi în low la începutul lui Q4.
Procesoare Numerice de Semnal - CURS 9

4.1 Descrierea semnalelor (cont.)


Semnale de întrerupere şi alte semnale

Vcc; I
4 pini de alimentare cu +5V, legaţi împreună extern. La TMS32020, pinul A6 este
de asemenea un pin de alimentare.

Vss; I
3 pini de masă, legaţi împreună extern.

X1; O
Pin de ieşire de la oscilatorul intern, pentru cristal. Dacă nu se foloseşte un cuarţ
legat direct, atunci acest pin rămâne neconectat.

X2/CLKIN; I
Pin de intrare la oscilatorul intern, de la cuarţ. Dacă nu se foloseşte un cristal, pe
acest pin de intrare se va injecta un semnal de clock de la un circuit extern.
Procesoare Numerice de Semnal - CURS 10

4.1 Descrierea semnalelor (cont.)


Semnale pentru portul serial

CLKR; I
Intrare de ceas pentru recepţie. Semnalul extern de ceas pentru sincronizarea
datelor la transmiterea de la DR (data receive) în RSR (registrul portului serial de
recepţie). Semnalul trebuie să fie prezent în timpul transferurilor pe portul serial.

CLKX; I
Intrare de ceas pentru transmisie. Semnal de ceas extern pentru sincronizarea
datelor de la XSR (registrul de deplasare a portului serial de transmisie) în pinul
DX (transmisie date). Trebuie să fie prezent în timpul transferurilor pe portul
serial.

DR; I
Intrare de recepţie serială a datelor. Datele seriale sunt recepţionate în registrul
RSR pe linia DR.
Procesoare Numerice de Semnal - CURS 11

4.1 Descrierea semnalelor (cont.)


Semnale pentru portul serial

DX; O/Z
Ieşire de transmitere serială a datelor. Datele seriale sunt transmise de la XSR
(registrul de transmisie al portului serial) spre pinul DX. Semnalul este trecut în
stare de înaltă impedanţă când nu se transmite.

FSR; I
Impuls de sincronizare cadru pentru recepţie. Frontul căzător al FSR iniţiază
procesul de recepţie a datelor, începând sincronizarea RSR-ului.

FSX; I/O
Intrare / ieşire de sincronizare cadru pentru transmisie. Frontul căzător al FSX
iniţiază procesul de transmisie de date, începând sincronizarea XSR. După reset,
FSX este implicit un semnal de intrare. Acest pin poate fi selectat prin soft ca o
ieşire când bitul TXM din registrul de stare este setat în 1.
Procesoare Numerice de Semnal - CURS 12

4.2 Privire generală asupra arhitecturii


Generaţia DSP TMS320C2x este implementată printr-o arhitectură de tip
Harvard, care maximizează puterea de procesare prin utilizarea a două
magistrale separate pentru cele două structuri de memorie, de programe şi de
date, pentru o execuţie la viteza maximă.
Instrucţiunile sunt concepute astfel încât să permită transferul de date între
cele două spaţii.
Extern, memoriile de date şi programe sunt multiplexate pe aceeaşi
magistrală, astfel încât să se asigure rangurile maxime pentru adrese pentru
ambele spaţii în timp ce numărul pinilor circuitului este minim.
Flexibilitatea ridicată a proiectării sistemului este asigurată prin două blocuri
de memorie RAM pe circuit (în total 544 de cuvinte de 16 biţi), fiecare fiind
configurabil fie ca memorie de program, fie ca memorie de date.
Un spaţiu de adresare pentru 64Kcuvinte de memorie de date (în afara
circuitului) este inclus ca o facilitate pentru implementarea algoritmilor DSP.
Procesoare Numerice de Semnal - CURS 13

4.2 Privire generală asupra arhitecturii (cont.)


Programele de până la 4Kcuvinte pot fi programate în memoria internă ROM. Restul
de 64Kcuvinte de memorie program sunt situate extern. Programele mai mari pot fi
executate la viteza maximă din acest spaţiu de memorie. De asemenea, programele pot
fi încărcate dintr-o memorie externă lentă în RAM, pentru execuţie la viteza maximă.
TMS320C2x realizează operaţii aritmetice în complement faţă de 2 folosind ALU de 32
biţi şi acumulatorul.
ALU este o unitate aritmetică de uz general, care operează folosind cuvinte pe 16 biţi
preluate din memoria RAM de date sau derivate din instrucţiunile imediate sau
folosind rezultatul pe 32 de biţi al registrului multiplicator.
Pe lângă instrucţiunile aritmetice uzuale, ALU poate realiza operaţii booleene,
permiţând manipulări de bit cerute de un controler de mare viteză.
Acumulatorul stochează rezultatul de la ieşirea ALU şi este totodată a doua intrare în
ALU. Acumulatorul are o lungime de 32 de biţi şi este divizat în două cuvinte: high-
order (biţii 31-16) şi low-order (biţii 15-0). Instrucţiuni speciale permit stocarea fie a
cuvântului high, fie a celui low, din acumulator în memorie.
Procesoare Numerice de Semnal - CURS 14

4.2 Privire generală asupra arhitecturii (cont.)

Multiplicatorul realizează o înmulţire de 16 x 16 biţi în complement faţă


de 2, cu rezultatul pe 32 de biţi, într-un singur ciclu instrucţiune.
Multiplicatorul este format din trei elemente: registrul T, registrul P şi
aria de multiplicare.
Procesoare Numerice de Semnal - CURS 15

4.2 Privire generală asupra arhitecturii (cont.)


T este un registru pe 16 biţi care stochează temporar conţinutul
multiplicatorului. P este un registru pe 32 de biţi care stochează produsul.
Valorile de înmulţit vin fie din memoria de date, fie din memoria program
când se folosesc instrucţiunile MAC / MACD, fie derivă imediat din
instrucţiunea MPYK (multiply imediate). Multiplicatorul de mare viteză de
pe circuit permite realizarea eficientă a operaţiilor fundamentale ale
procesării de semnal, cum ar fi: convoluţia, corelaţia şi filtrarea.

Circuitul de deplasare şi scalare al lui TMS320C2x are o intrare pe 16 biţi


legată la magistrala de date şi o ieşire pe 32 de biţi legată la ALU. El produce
o rotire spre stânga cu 0 - 16 poziţii a datelor de intrare, după cum este
programat prin instrucţiune. Cei mai puţin semnificativi biţi ai ieşirii sunt
umpluţi cu 0, iar MSB-urile pot fi de asemenea umplute cu 0 sau extinse ca
semn (li se aplică o extensie de semn), în funcţie de starea bitului extensie de
semn al registrului de stare ST1. Capacităţile adiţionale ale scalling-shifter-
ului permit procesorului să realizeze scalări numerice, extragere de biţi,
operaţii aritmetice extinse şi să preîntâmpine depăşirea (overflow).
Procesoare Numerice de Semnal - CURS 16

4.2 Privire generală asupra arhitecturii (cont.)

Interfaţa pentru memoria locală a lui TMS320C2x este formată dintr-o


magistrală de date paralelă pe 16 biţi (D15-D0), o magistrală de adrese pe
16 biţi (A15-A0), 3 pini pentru selecţia memoriei de date sau de program,
sau pentru selectarea spaţiului de I/O (/DS, /PS, /IS) şi diferite alte semnale
de control.
Semnalul R//W controlează direcţia transferului datelor, iar semnalul
/STRB furnizează un semnal de timing pentru controlul transferurilor.
Când se foloseşte memoria program ROM, RAM-ul de pe circuit, sau o
memorie program externă de mare viteză, TMS320C2x rulează la viteza
maximă, fără stări de aşteptare. Folosirea unui semnal READY permite
generarea unor stări de aşteptare pentru comunicarea cu circuite de
memorie externă mai lente.
Procesoare Numerice de Semnal - CURS 17

4.2 Privire generală asupra arhitecturii (cont.)

Sunt prevăzute 8 nivele ale unei stive hard pentru salvarea conţinutului
numărătorului de program în timpul întreruprilor sau a apelului de
subrutine. Sunt disponibile instrucţiuni pentru salvarea întregului context al
circuitului. Instrucţiunile PUSH şi POP permit un nivel de imbricare limitat
superior numai de cantitatea de memorie RAM disponibilă. Întreruperile
disponibile sunt mascabile.

Operaţiile de control pot fi asistate în TMS320C2x de către un circuit timer


intern pe 16 biţi cu registre mapate în memorie, un numărător de repetări,
trei întreruperi externe mascabile pentru utilizator şi întreruperi interne
generate de operaţiile portului serial sau de către timer. Un mecanism intern
protejează de aceste instrucţiuni pe cele care se repetă sau durează mai multe
cicluri datorită lui READY şi, de asemenea, le protejează de trecerea în hold
şi de întreruperi.
Procesoare Numerice de Semnal - CURS 18

4.2 Privire generală asupra arhitecturii (cont.)


Un port serial full-duplex realizează comunicarea directă cu circuitele seriale
cum sunt: codec-urile, convertoarele seriale A/N şi alte circuite seriale.
Semnalele de interfaţă sunt compatibile cu codec-urile şi cu multe alte
circuite seriale cu un hard extern minim. Cele două registre ale portului
serial mapate în memorie (data transmisie / recepţie) pot opera atât în modul
octet (8 biţi), cât şi în modul cuvânt (16 biţi). Fiecare registru are o intrare
pentru ceas extern, o intrare de sincronizare de cadru şi registrele de
deplasare asociate.
Comunicaţiile seriale între procesoare pot fi folosite în aplicaţii de
multiprocesare. TMS320C2x are posibilitatea de a aloca un spaţiu global de
memorie de date şi de a comunica cu acest spaţiu prin semnalele /BR (bus
request) şi semnalul de control READY. Există un registru mapat în
memorie pe 8 biţi numit GREG (global memory allocation register) care
indică modul de alocare al memoriei globale. GREG specifică până la 32
Kcuvinte din memoria de date a lui TMS320C2x ca pe o memorie externă
globală. Dacă instrucţiunea curentă adresează un operand din afara acestui
spaţiu, /BR este validat pentru a solicita controlul magistralei. Durata unui
ciclu de acces la memorie este controlată de linia READY.
Procesoare Numerice de Semnal - CURS 19

4.2 Privire generală asupra arhitecturii (cont.)

TMS320C2x suportă DMA-ul (accesul direct la memorie) la memoria sa


externă de programe sau date folosind semnalele /HOLD şi /HOLDA. Un alt
procesor poate prelua controlul complet asupra memoriei externe a lui
TMS320C2x trecând /HOLD în low. Acesta îl determină pe TMS320C2x să-şi
treacă liniile de adrese, de date şi cele de control într-o stare de impedanţă
ridicată. Comunicaţia între procesorul extern şi TMS320C2x poate fi
implementată folosind întreruperi.

La TMS320C25 sunt disponibile două moduri de funcţionare: modul


asemănător lui TMS32020, în care execuţia este suspendată cât timp /HOLD
= low şi modul DMA, în care TMS320C25 continuă să execute programul
său, în timp ce se operează din memoria RAM sau ROM internă, mărindu-se
astfel eficienţa în aplicaţiile cu prelucrare intensivă.
Procesoare Numerice de Semnal - CURS 20

4.3 Structura internă


Arhitectura lui TMS320C2x este construită în jurul a două magistrale majore:
magistrala de program şi magistrala de date.
Magistrala de program manipulează codul instrucţiunilor şi operanzii imediaţi din
memoria program.
Magistrala de date interconectează diferite elemente, cum ar fi CALU (Central
Arithmetic Logic Unit) şi bancul registrelor auxiliare la memoria de date RAM.
Împreună, magistralele de program şi de date pot transporta datele de la memoria
RAM de pe circuit sau de la memoria externă la multiplicator, într-un singur ciclu
pentru operaţii de multiplicare / acumulare (MAC).
TMS320C2x are un grad înalt de paralelism, adică în timp ce datele sunt prelucrate în
CALU, alte operaţii aritmetice pot fi de asemenea executate în ARAU (Auxiliary
Register Arithmetic Unit). Un astfel de paralelism duce la un puternic set de operaţii
aritmetice, logice şi de lucru la nivel de bit, care pot fi implementate toate într-un
singur ciclu maşină.
Structura internă a procesorului TMS320C2x implementează funcţii pe care alte
procesoare le realizează de obicei prin soft sau prin microcod. De exemplu, circuitul
conţine hardware pentru înmulţire 16 biţi x 16 biţi, rotire de date, manevrarea
adreselor, fiecare dintre acestea realizându-se într-un singur ciclu.
Procesoare Numerice de Semnal - CURS 21

4.3 Structura internă (cont.)


ACC(31-0), ACCH(31-16), ACCL(15-0) - Acumulator
Este un acumulator pe 32 de biţi împărţit în două jumătăţi: acumulator high
(ACCH) şi acumulator low (ACCL). Este folosit pentru stocarea rezultatelor
ALU.

ALU - Unitatea aritmetică şi logică


Este o unitate aritmetică şi logică pe 32 de biţi în complement faţă de 2,
având două porturi de intrare pe 32 de biţi şi un port de ieşire pe 32 de biţi,
legat la acumulator.

ARAU - Unitate aritmetică registre auxiliare


Este o unitate aritmetică pe 16 biţi, fără semn, folosită pentru a realiza
operaţii cu datele din registrele auxiliare.

AR0-AR7 (15-0) - Bancul registrelor auxiliare


Un banc de registre conţinând 5/8 registre auxiliare pe 16 biţi (AR0-AR7),
folosit pentru adresarea memoriei de date, stocări temporare sau prelucrări
aritmetice cu numere întregi prin ARAU.
Procesoare Numerice de Semnal - CURS 22

4.3 Structura internă (cont.)


AFB(15-0) - Magistrala bancului registrelor auxiliare
O magistrală pe 16 biţi care poartă datele de la registrul auxiliar (AR)
indicat prin ARP.

ARP(2-0) - Indicatorul registrelor auxiliare


Un registru pe 3 biţi folosit pentru a selecta unul din cele 5/8 registre
auxiliare.

ARB(2-0) - Bufferul indicatorului registrelor auxiliare (ARP)


Un registru pe 3 biţi folosit ca buffer pentru ARP. De fiecare dată când ARP
este încărcat, vechea valoare este înscrisă în ARB, cu excepţia cazului când
se execută o instrucţiune LST (Load Status Register - încărcarea registrului
de stare). Când ARB este încărcat cu un LST1, acea valoare este de
asemenea copiată în ARP.

CALU - Unitatea centrală aritmetică şi logică


Un bloc funcţional complex care grupează ALU, multiplicatorul,
acumulatorul şi circuitele de deplasare-scalare.
Procesoare Numerice de Semnal - CURS 23

4.3 Structura internă (cont.)


D(15-0) - Magistrala de date
O magistrală de 16 biţi folosită pentru transportul datelor.

DAB(15-0) - Magistrala de adrese a memoriei de date


O magistrală de 16 biţi care grupează adresele memoriei de date.

DP(8-0) - Indicatorul paginii din memoria de date


Un registru pe 9 biţi indicând adresa paginii curente. O pagină de date
conţine 128 cuvinte de memorie. Există 512 pagini adresabile în spaţiul
memoriei de date (unele locaţii sunt rezervate).

DRB(15-0) - Magistrala de adrese directe a memoriei de date


O magistrală pe 16 biţi care poartă adresa directă pentru memoria de date,
care este concatenarea conţinutului registrului DP cu cei mai puţin
semnificativi 7 biţi ai instrucţiunii.
Procesoare Numerice de Semnal - CURS 24

4.3 Structura internă (cont.)


GREG(7-0) - Registru de alocare a memoriei globale
Un registru de memorie pe 8 biţi pentru alocarea mărimii spaţiului memoriei
globale.

IR(15-0) - Registrul de instrucţiune


Un registru pe 16 biţi folosit pentru stocarea instrucţiunii curente în curs de
execuţie.

IFR(5-0) - Registrul bistabilelor de întrerupere


Un registru pe 6 biţi folosit pentru memorarea întreruperilor externe de la
utilizator, /INT(2-0), active în low, şi a întreruperilor interne XINT / RINT
(transmisie / recepţie prin portul serial) şi TINT (întreruperile de la timer).
IFR nu este accesibil prin soft.

IMR(5-0) - Registrul de măşti pentru întreruperi


Un registru de memorie pe 6 biţi folosit pentru mascarea întreruperilor.
Procesoare Numerice de Semnal - CURS 25

4.3 Structura internă (cont.)


MCS(15-0) - Stiva de microapeluri
O stivă pe un singur cuvânt care stochează temporar conţinutul lui PFC cât timp PFC
este folosit pentru a adresa memoria de date cu mutare pe blocuri (BLKD / BLKP),
acumulator-multiplicator (MAC / MACD) şi tabela instrucţiunilor de scriere - citire
(TBLR / TBLW).

MULT - Multiplicator
Un multiplicator paralel de 16 x 16 biţi.

PRD(15-0) - Registru de perioadă


Un registru de memorie pe 16 biţi folosit pentru reîncărcarea timerului.

PFC(15-0) - Numărător de pre-extragere a instrucţiunii


Un numărător pe 16 biţi folosit pentru aducerea în avans a instrucţiunilor de
program. PFC conţine adresa instrucţiunii curente de adus în avans. Este actualizat
când este iniţiat un nou ciclu de prefetch. PFC se foloseşte de asemenea pentru a
adresa memoria de date când se folosesc instrucţiuni de mutare pe bloc (BLKD /
BLKP), înmulţire cu acumulatorul (MAC / MACD) şi cele de scriere-citire din tabele
(TBLR / TBLW).
Procesoare Numerice de Semnal - CURS 26

4.3 Structura internă (cont.)


PR(31) - Registrul de produs
Un registru pe 32 de biţi folosit pentru stocarea produsului multiplicatorului.
Poate fi accesat atât în partea sa superioară, cât şi inferioară, folosind
instrucţiunile SPH / SPL (stocare PR High/Low).

P(15-0) - Magistrala de program


O magistrală pe 16 biţi folosită pentru transportul instrucţiunilor (şi a datelor
pentru instrucţiunile MAC şi MACD).

PC(15-0) - Numărătorul de program


Este un numărător pe 16 biţi folosit pentru adresarea memoriei de program.
PC conţine întotdeauna adresa următoarei instrucţiuni de executat.
Conţinutul PC este incrementat după decodificarea fiecărei instrucţiuni. La
TMS32020, operaţiile realizate de PFC al lui TMS320C25 sunt realizate de
către PC.

PAB(15-0) - Magistrala adreselor memoriei program


O magistrală pe 16 biţi care manipulează adresele memoriei de program.
Procesoare Numerice de Semnal - CURS 27

4.3 Structura internă (cont.)


QIR(15-0) - Registrul cozii de aşteptare instrucţiuni
Registrul QIR (queue instruction register) este un registru pe 16 biţi folosit
pentru stocarea instrucţiunilor aduse în avans.

RAM(B0) - RAM (date sau program)


Un bloc RAM cu 256 x 16 locaţii configurate fie ca memorie de date, fie ca
memorie program.

RAM(B1) - RAM (doar de date)


Un bloc de memorie RAM de date, organizat în 256 x 16 locaţii.

RAM(B2) - RAM (doar de date)


Un bloc de memorie RAM de date, organizat în 32 x 16 locaţii.

RPTC(7-0) - Contor de repetări


Un contor (repeat counter) pe 8 biţi pentru controlul execuţiei repetitve a unei
singure instrucţiuni.
Procesoare Numerice de Semnal - CURS 28

4.3 Structura internă (cont.)

DRR(15-0) - Registru de recepţie date port serial


Un registru pe 16 biţi pentru memorare al portului serial pentru recepţia
datelor. În modul octet, sunt folosiţi numai cei mai puţin semnificativi 8 biţi.

DXR(15-0) - Registru de transmisie date port serial


Un registru de memorie pe 16 biţi pentru transmisia datelor la portul serial.
Numai cei mai puţin semnificativi 8 biţi sunt folosiţi în modul octet.

RSR(15-0) - Registrul de deplasare recepţie al portului serial


Un registru pe 16 biţi folosit pentru rotirea datelor în portul serial de la pinul
RX. Conţinutul RSR este trimis la DRR după ce un transfer serial este
terminat complet. RSR nu este accesibil direct prin soft.

XSR(15-0) - Registrul de deplasare transmisie al portului serial


Registru pe 16 biţi folosit pentru extragerea prin rotire a datelor de la portul
serial prin pinul DX. Conţinutul XSR este încărcat în DXR la începutul unei
operaţii de transmisie prin portul serial. XSR nu este accesibil direct prin soft.
Procesoare Numerice de Semnal - CURS 29

4.3 Structura internă (cont.)


Shifters - Circuite de deplasare
Registre de deplasare localizate la intrarea ALU, ieşirea acumulatorului şi ieşirea
registrului de produs. Un registru shifter este de asemenea localizat în acumulator.

STACK(15-0) - Stiva
O stivă hard de 8 x 16 biţi folosită pentru stocarea PC în timpul întreruperilor sau
apelurilor de subrutine. De asemenea, pot fi depuse şi culese din stivă valorile lui
ACCL şi date din memorie.

ST0, ST1(15-0) - Registre de stare


Sunt două registre de stare pe 16 biţi care conţin semnale de stare şi biţii de control.
TR(15-0) - Registru temporar
Un registru pe 16 biţi care poate păstra atât un operand pentru înmulţire, cât şi un cod
de rotire (shift code) pentru scalling shifter.

TIM(15-0) - Timer
Un registru numărător pe 16 biţi pentru controlul temporizărilor.
Procesoare Numerice de Semnal - CURS 30

4.3
Structura
internă
(cont.)

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

  • Cuprins
    Cuprins
    Document4 pagini
    Cuprins
    api-3725868
    Încă nu există evaluări
  • Cap 41
    Cap 41
    Document12 pagini
    Cap 41
    api-3725868
    Încă nu există evaluări
  • Aplicatii DSP
    Aplicatii DSP
    Document12 pagini
    Aplicatii DSP
    Corpaci Petrica
    Încă nu există evaluări
  • Cap 5
    Cap 5
    Document12 pagini
    Cap 5
    api-3725868
    100% (1)
  • Cap 42
    Cap 42
    Document18 pagini
    Cap 42
    api-3725868
    Încă nu există evaluări
  • Cap 43
    Cap 43
    Document10 pagini
    Cap 43
    api-3725868
    Încă nu există evaluări
  • Cap 44
    Cap 44
    Document14 pagini
    Cap 44
    api-3725868
    Încă nu există evaluări
  • Cap 4
    Cap 4
    Document10 pagini
    Cap 4
    api-3725868
    100% (1)
  • Cap 1
    Cap 1
    Document5 pagini
    Cap 1
    api-3725868
    50% (2)
  • Cap 2
    Cap 2
    Document10 pagini
    Cap 2
    Maria Botnari
    Încă nu există evaluări
  • Cap 21
    Cap 21
    Document10 pagini
    Cap 21
    api-3725868
    100% (1)
  • Cap 22
    Cap 22
    Document12 pagini
    Cap 22
    api-3725868
    Încă nu există evaluări
  • Pns c8
    Pns c8
    Document23 pagini
    Pns c8
    api-3725868
    Încă nu există evaluări
  • Pns c9
    Pns c9
    Document25 pagini
    Pns c9
    api-3725868
    Încă nu există evaluări
  • Pns c4
    Pns c4
    Document16 pagini
    Pns c4
    api-3725868
    Încă nu există evaluări
  • PNS C2
    PNS C2
    Document28 pagini
    PNS C2
    api-3725868
    100% (1)
  • Pns c5
    Pns c5
    Document38 pagini
    Pns c5
    api-3725868
    Încă nu există evaluări
  • PNS C7
    PNS C7
    Document25 pagini
    PNS C7
    api-3725868
    100% (1)
  • Pns c6
    Pns c6
    Document30 pagini
    Pns c6
    api-3725868
    Încă nu există evaluări
  • Pns c3
    Pns c3
    Document35 pagini
    Pns c3
    api-3725868
    Încă nu există evaluări
  • PNS C1
    PNS C1
    Document37 pagini
    PNS C1
    api-3725868
    100% (3)
  • PNS C11
    PNS C11
    Document26 pagini
    PNS C11
    api-3725868
    100% (1)
  • Pns c10
    Pns c10
    Document28 pagini
    Pns c10
    api-3725868
    Încă nu există evaluări
  • Pns c9
    Pns c9
    Document25 pagini
    Pns c9
    api-3725868
    Încă nu există evaluări
  • PNS C7
    PNS C7
    Document25 pagini
    PNS C7
    api-3725868
    100% (1)
  • PNS C11
    PNS C11
    Document26 pagini
    PNS C11
    api-3725868
    100% (1)
  • Pns c8
    Pns c8
    Document23 pagini
    Pns c8
    api-3725868
    Încă nu există evaluări
  • Pns c5
    Pns c5
    Document38 pagini
    Pns c5
    api-3725868
    Încă nu există evaluări
  • Pns c4
    Pns c4
    Document16 pagini
    Pns c4
    api-3725868
    Încă nu există evaluări