![第1章 TMS320C54x的結(jié)構(gòu)原理- 數(shù)據(jù)尋址方式_第1頁](http://file4.renrendoc.com/view11/M01/1D/14/wKhkGWX3ix6AHzmXAAOv_v_edPM713.jpg)
![第1章 TMS320C54x的結(jié)構(gòu)原理- 數(shù)據(jù)尋址方式_第2頁](http://file4.renrendoc.com/view11/M01/1D/14/wKhkGWX3ix6AHzmXAAOv_v_edPM7132.jpg)
![第1章 TMS320C54x的結(jié)構(gòu)原理- 數(shù)據(jù)尋址方式_第3頁](http://file4.renrendoc.com/view11/M01/1D/14/wKhkGWX3ix6AHzmXAAOv_v_edPM7133.jpg)
![第1章 TMS320C54x的結(jié)構(gòu)原理- 數(shù)據(jù)尋址方式_第4頁](http://file4.renrendoc.com/view11/M01/1D/14/wKhkGWX3ix6AHzmXAAOv_v_edPM7134.jpg)
![第1章 TMS320C54x的結(jié)構(gòu)原理- 數(shù)據(jù)尋址方式_第5頁](http://file4.renrendoc.com/view11/M01/1D/14/wKhkGWX3ix6AHzmXAAOv_v_edPM7135.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章TMS320C54x的結(jié)構(gòu)原理1.6TMS320C54x的數(shù)據(jù)尋址方式立即尋址絕對尋址累加器尋址直接尋址間接尋址存儲器映像寄存器尋址堆棧尋址:由指令提供一個(gè)操作數(shù):由指令提供一個(gè)操作數(shù)地址:以累加器的內(nèi)容為地址訪問程序空間某單元:尋址地址為DP或SP的值加上指令提供的偏移量:利用輔助寄存器訪問存儲器:用來改變映像寄存器,但不影響DP或SP的值:用來管理系統(tǒng)堆棧中的操作TMS320C54xDSP提供以下7種基本數(shù)據(jù)尋址方式。第1.6章TMS320C54x指令系統(tǒng)的尋址方式尋址方式用
途舉
例指令含義立即尋址主要用于初始化LD#10,A立即數(shù)10
A絕對尋址利用16位地址尋址存儲單元STLA,*(y)將AL內(nèi)容存入y所在的存儲單元累加器尋址將累加器中的內(nèi)容作為地址READAx將A的內(nèi)容作為地址讀程序存儲器,并存入x存儲單元直接尋址利用數(shù)據(jù)頁指針和堆棧指針尋址LD@x,A(DP+x的低7位地址)
A間接尋址利用輔助寄存器作為地址指針LD*AR1,A((AR1))
A存儲器映像寄存器尋址快速尋址存儲器映象寄存器LDMST1,B(ST1)
B堆棧尋址壓入/彈出數(shù)據(jù)存儲器和存儲器映像寄存器MMRPSHMAG(SP)-1
SP,(AG)
(SP)第1.6章TMS320C54x指令系統(tǒng)的尋址方式尋址方式第1.6章TMS320C54x指令系統(tǒng)的尋址方式縮略語含義Smem16位單尋址操作數(shù)Xmem16位雙尋址操作數(shù),用于雙操作數(shù)或部分單操作數(shù)指令,從DB數(shù)據(jù)總線上讀取Ymem16位雙尋址操作數(shù),用于雙操作數(shù)指令,從CB數(shù)據(jù)總線上讀取dmad16位立即數(shù):數(shù)據(jù)存儲器地址(0~65535)pmad16位立即數(shù):程序存儲器地址(0~65535)PA16位立即數(shù):I/O口地址(0~65535)src源累加器(A或B)dst目的累加器(A或B)lk16位長立即數(shù)部分尋址縮略語1.6.1立即尋址定義:在立即尋址方式中,指令中包括了立即操作數(shù)。 立即數(shù)尋址指令中在數(shù)字或符號常數(shù)前面加一個(gè)“#”號,來表示立即數(shù)。分類:根據(jù)一條指令中立即數(shù)編碼的長度不同再分類
①短立即數(shù)尋址(3、5、8或9位)
編碼為一個(gè)字長
例:ADD#0ffh,A
;將0ffh加給AccA
②長立即數(shù)尋址(16位)
編碼為兩個(gè)字長
例:ADD#1234h,A
;將#1234h加給AccA立即尋址舉例;********************************;ImmediateAddressing;******************************** .title"lab2a.asm" .def start .textstart: LD #100,A LD #10h,4,A LD #32768,B LD #4000h,16,B here: B here .end1.6.2絕對尋址定義:在指令中包含所要尋址的存儲單元的16位地址。分類:根據(jù)地址所指向單元的類型不同分類:1.6.2.1數(shù)據(jù)存儲器(dmad)尋址1.6.2.2程序存儲器(pmad)尋址1.6.2.3端口地址(PA)尋址1.6.2.4長立即數(shù)*(lk)尋址1.6.2.1數(shù)據(jù)存儲器(dmad)尋址定義:用一個(gè)符號或一個(gè)數(shù)來確定數(shù)據(jù)空間中的一個(gè)地址
例:MVKDsample,*AR5
;sample→((AR5))
sample:一個(gè)數(shù)據(jù)存儲區(qū)單元的標(biāo)號
*AR5:間接尋址一個(gè)數(shù)據(jù)存儲區(qū)單元數(shù)據(jù)存儲器(dmad)尋址使用數(shù)據(jù)存儲器尋址的指令有: MVDKSmem,dmad;Smem→dmad
數(shù)據(jù)存儲器單元向另一數(shù)據(jù)存儲器單元(地 址由16位立即數(shù)dmad確定)傳送數(shù)據(jù)
MVDMdmad,MMR;dmad→MMR
數(shù)據(jù)存儲器單元(地址由16位立即數(shù) dmad確定)向MMR傳送數(shù)據(jù)
MVKDdmad,Smem;dmad→Smem
與指令MVDK傳送數(shù)據(jù)方向相反
MVMDMMR,dmad;MMR→dmad
與指令MVDM傳送數(shù)據(jù)方向相反1.6.2.2程序存儲器(pmad)尋址定義:用一個(gè)符號或一個(gè)數(shù)來確定程序地址空間中的一個(gè)地址例:MVPDtable,*AR5;table→((AR5))
table:一個(gè)程序存儲區(qū)單元的標(biāo)號 *AR5:間接尋址一個(gè)數(shù)據(jù)存儲區(qū)單元程序存儲器(pmad)尋址使用程序存儲器尋址的指令有:MACP Smem,pmad,src
操作數(shù)與程序存儲器值相乘后加到累加器MVDP Smem,pmad
數(shù)據(jù)存儲器向程序存儲器傳送數(shù)據(jù)MVPD pmad,Smem
程序存儲器向數(shù)據(jù)存儲器傳送數(shù)據(jù)MACD Smem,pmad,src
操作數(shù)與程序存儲器值相乘后累加并延遲FIRS Xmem,Ymem,pmad
對稱FIR濾波1.6.2.3端口地址(PA)尋址定義:用一個(gè)符號或常數(shù)來確定I/O口地址例如:
PORTRFIFO,*AR5;(FIFO)→((AR5))
FIFO:一個(gè)端口地址的標(biāo)號
*AR5:間接尋址一個(gè)數(shù)據(jù)存儲區(qū)單元使用端口地址尋址的指令有:
PORTRPA,Smem;(PA)→(Smem)
從PA口讀入數(shù)據(jù)
PORTWSmem,PA;(Smem)→(PA) 向PA口寫出數(shù)據(jù)1.6.2.4長立即數(shù)*(lk)尋址定義:用一個(gè)符號或一個(gè)常數(shù)來確定數(shù)據(jù)存儲器中的一個(gè)地址例:把地址為BUFFER的數(shù)據(jù)單元中的數(shù)據(jù)裝到AccA中
LD*(BUFFER),A;
BUFFER:一個(gè)數(shù)據(jù)存儲區(qū)單元的標(biāo)號 長立即數(shù)*(lk)尋址用于所有支持單數(shù)據(jù)存儲器操作數(shù)(Smem)的指令。絕對尋址總結(jié)MVKDsample,*AR5;
sample→((AR5))
sample:一個(gè)數(shù)據(jù)存儲區(qū)單元的標(biāo)號MVPDtable,*AR5;
table→((AR5))
table:一個(gè)程序存儲區(qū)單元的標(biāo)號PORTRFIFO,*AR5;
(FIFO)→((AR5))
FIFO:一個(gè)端口地址的標(biāo)號LD*(BUFFER),A; BUFFER:一個(gè)數(shù)據(jù)存儲區(qū)單元的標(biāo)號
指令中的絕對地址dmad、pmad、PA、*(lk)——都是16位的,因此指令的長度至少為2個(gè)字。1.6.3累加器尋址定義:用累加器中的數(shù)值作為一個(gè)地址來讀寫程序存儲器。共有兩條指令可以采用累加器尋址:READASmem;
((A))→(Smem)
WRITASmem;
(Smem)→((A))注意:累加器A作指針間接尋址程序存儲器單元;Smem為數(shù)據(jù)存儲器中單操作數(shù)單元(直接尋址);實(shí)現(xiàn)了程序存儲器與數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送1.6.4直接尋址1、定義:在指令中包含數(shù)據(jù)存儲器地址的低7位,高9位由數(shù)據(jù)頁指針DP或堆棧指針SP決定。2、數(shù)據(jù)存儲器的分頁結(jié)構(gòu): TMS320C54的數(shù)據(jù)存儲器分為512頁,每頁128字。128=27,需7根地址線尋址,對應(yīng)指令中所包含的數(shù)據(jù)存儲器地址的低7位;512=29,需9根地址線尋址,由數(shù)據(jù)頁指針DP或堆棧指針SP決定;
LD #x,DP;變量x存儲地址的高9位賦值給DP狀態(tài)寄存器ST0的位結(jié)構(gòu)15~1312111098~0ARPTCCOVAOVBDP直接尋址3、數(shù)據(jù)存儲器16-bit地址(dma)的構(gòu)成:①高9-bit由數(shù)據(jù)頁指針DP(DataPointer)或者SP確定,用于指向512頁中的一個(gè)數(shù)據(jù)頁。②低7位由指令中所包含的7bit確定,該7位作為地址偏移量,用于指向某一頁內(nèi)128個(gè)存儲單元中的一個(gè)單元。4、尋址方式分類DP方式:數(shù)據(jù)存儲器地址高9-bit由數(shù)據(jù)頁指針DP確定SP方式:數(shù)據(jù)存儲器地址高9-bit由堆棧指針SP確定直接尋址 采用DP或SP方式,由ST1中CPL位決定。
DP方式:CPL=0;
SP方式:CPL=1。
狀態(tài)寄存器ST1的位結(jié)構(gòu)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMCPL=0:dma與9-bit的DP相結(jié)合形成數(shù)據(jù)存儲器地址。以DP為基準(zhǔn)的直接尋址DP9-bit9-bit的DP指向數(shù)據(jù)存儲空間的512個(gè)數(shù)據(jù)頁中的一頁012510511直接尋址:DP方式直接尋址:DP方式以SP為基準(zhǔn)的直接尋址CPL=1:dma加上SP基地址形成數(shù)據(jù)存儲器地址。使用以SP為基址的直接尋址:
ANDsample,ALDsample,AADDsample,B;……..直接尋址:SP方式直接尋址(DP方式)舉例數(shù)據(jù)存儲區(qū)地址數(shù)據(jù)01800001……x:01FF1000y:02000500…….text…RSBX CPLLD #x,DPLD @x,AADD @y,A執(zhí)行結(jié)果DPACCA003………00300000010000030000001001已知數(shù)據(jù)存儲區(qū)的兩個(gè)變量x和y,求A=x+y=??問題沒有達(dá)到預(yù)期目的,錯(cuò)誤在那里?“@”符號作為前綴,匯編器將操作數(shù)作為直接地址。直接尋址(DP方式)舉例數(shù)據(jù)存儲區(qū)地址數(shù)據(jù)01800001……x:01FF1000y:02000500…….text…RSBX CPLLD #x,DPLD @x,ALD #y,DPADD @y,A執(zhí)行結(jié)果DPACCA003………00300000010000030000001001答:
x和y不在一個(gè)數(shù)據(jù)頁。變量x在第3頁(DP=3
),偏移量為07FH變量y在第4頁(DP=4),偏移量為00H取變量y時(shí)使用了DP=3,則取回的y=(1800H)=0001H結(jié)果A=x+y=1000H+0001H=1001H直接尋址(SP方式)舉例數(shù)據(jù)存儲區(qū)數(shù)據(jù)SP→002001000050A000.text…SSBX CPLLD @1,AADD @2,A執(zhí)行結(jié)果ACCA………00000001000000000150已知數(shù)據(jù)存儲區(qū)的兩個(gè)單元相對于SP所指向單元的偏移量,求A=兩個(gè)單元的內(nèi)容之和DP作為基地址的直接尋址方式SP作為基地址的直接尋址方式直接尋址方式總結(jié)1、數(shù)據(jù)存儲器地址(dma)的形成2、直接尋址方式的優(yōu)點(diǎn)指令為單字指令,占用空間??;在不改變DP或SP的情況下,可隨機(jī)尋址一個(gè)數(shù)據(jù) 頁中128個(gè)單元中的任何一個(gè)單元。3、注意事項(xiàng):尋址范圍只適用于數(shù)據(jù)存儲器;
DP方式和SP方式互斥,需及時(shí)用指令修改控制位 CPL:
RSBX CPL;CPL←0 SSBX CPL;
CPL←14、用途:主要用于要求運(yùn)算速度較快的場合。直接尋址方式總結(jié)1.6.5間接尋址定義:64K數(shù)據(jù)空間任意單元都可通過一個(gè)輔助寄存器(AR0~AR7)中的16-bit地址進(jìn)行訪問。8個(gè)輔助寄存器(AR0--AR7),由一個(gè)輔助寄存器指針(ARP3-bit)來指定。狀態(tài)寄存器ST0的位結(jié)構(gòu)15~1312111098~0ARPTCCOVAOVBDPAR0--AR7的內(nèi)容相當(dāng)靈活,可以裝入立即數(shù),例如: STM#0060h,AR1;AR1=0060H1.6.5間接尋址AR0--AR7還可以作以下的變址尋址:將ARx的內(nèi)容保持不變;例如:
ADD*ARx,8,A;將當(dāng)前輔助寄存器所指向的單元里的數(shù)據(jù),左移8-bit后賦給AccA先尋址,再將該ARx的內(nèi)容加1或減1 (循環(huán)常用)
ADD*AR3+,8,A,AR4;數(shù)據(jù)左移,加給AccA后,當(dāng)前輔助寄存器加1,選擇輔助寄存器AR41.6.5間接尋址先尋址,再將該AR的內(nèi)容加上或減去AR0的內(nèi)容。例如:
ADD*AR2+0,8,A;執(zhí)行加法后,將AR0的值加給當(dāng)前輔助寄存器AR2先尋址,再將該AR的內(nèi)容逆向進(jìn)位加上或減去AR0的內(nèi)容。
ADD*AR2+0B,8,A;執(zhí)行加法后,將AR0的值加給當(dāng)前輔助寄存器,但反向進(jìn)位正向進(jìn)位與反向進(jìn)位
100100+100+100————————10000101.6.5間接尋址分類:按照一條指令同時(shí)完成操作的數(shù)據(jù)存儲單元的個(gè)數(shù)來劃分。1、單操作數(shù)間接尋址
一條指令完成一個(gè)數(shù)據(jù)存儲單元的讀或?qū)?、雙操作數(shù)間接尋址 一條指令可以完成兩個(gè)不同存儲單元的讀操作 或 一條指令可以完成兩個(gè)不同存儲單元的寫操作 或 一條指令可以完成兩個(gè)不同存儲單元的一讀一寫操作1.6.5.1單操作數(shù)間接尋址指令碼Opcode:具體指令操作碼ARP :狀態(tài)寄存器ST0的高3-bit,用于確定8個(gè)輔助 寄存器(AR0--AR7)中哪一個(gè)MOD:
共4-bit,用于確定單數(shù)據(jù)存儲器(Smem) 操作數(shù)的尋址類型(16種,見下表)狀態(tài)寄存器ST0的位結(jié)構(gòu)指令碼格式15~1312111098~0ARPTCCOVAOVBDP表1-13單數(shù)據(jù)存儲器操作數(shù)間接尋址類型表1-13單數(shù)據(jù)存儲器操作數(shù)間接尋址類型(續(xù)) 間接尋址方式共有16種修正地址方式,用于需要按固定步長步進(jìn)尋址的場合。 ’C54x此尋址方式中包含有兩種特殊的功能尋址:位碼倒序?qū)ぶ饭δ芎脱h(huán)尋址功能,分別用于數(shù)字信號中常用的算法諸如FFT和卷積、相關(guān)、FIR濾波算法:1.循環(huán)尋址 在存儲器中設(shè)置一個(gè)緩沖區(qū),相當(dāng)于一個(gè)滑窗,保存著最新的一批數(shù)據(jù)。在循環(huán)尋址計(jì)算過程中,新的數(shù)據(jù)進(jìn)來,最老的數(shù)據(jù)就被覆蓋。2.倒序?qū)ぶ? 地址生成方式是:地址相加是反常規(guī)的進(jìn)位向右進(jìn)位,而不是向左進(jìn)位,如對FFT算法主要用于調(diào)整蝶形算法導(dǎo)致的亂序。特殊的間接尋址方式1.6TMS320C54x的數(shù)據(jù)尋址方式特殊的間接尋址功能:
在存儲器中設(shè)置一個(gè)緩沖區(qū)作為滑動窗,來保存最新的一批數(shù)據(jù),并用新的數(shù)據(jù)覆蓋舊的數(shù)據(jù),實(shí)現(xiàn)循環(huán)尋址。
循環(huán)緩沖區(qū)的長度R,由循環(huán)緩沖區(qū)長度寄存器BK確定,可通過指令設(shè)定。1.單操作數(shù)尋址
(1)循環(huán)尋址
其指令:
STM#10,BK
;將立即數(shù)10存放BK中地址數(shù)據(jù)100h101h102h103h104h105h106h107h108h109h110hX(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)X(8)X(9)X(10)X(11)X(12)循環(huán)緩沖區(qū)100h-109h地址數(shù)據(jù)100h101h102h103h104h105h106h107h108h109h110hX(0)X(1)X(2)X(3)X(4)X(5)循環(huán)緩沖區(qū)100h—109h循環(huán)緩沖區(qū)基地址循環(huán)緩沖區(qū)尾地址步長:Step=2長度為R的緩沖區(qū)必須從N位地址的邊界開始,即循環(huán)緩沖區(qū)基地址的N個(gè)最低有效位必須為0。
N應(yīng)滿足:(1)循環(huán)尋址
2N>R的最小整數(shù)例如:緩沖區(qū)長度R=32,若2N>32,則N=6。
緩沖區(qū)開始的地址:xxxx
xxxxxx000000B
緩沖區(qū)長度R=32裝入循環(huán)緩沖長度寄存器BK中。
循環(huán)尋址是以BK的值為模,對緩沖區(qū)長度R進(jìn)行取模運(yùn)算。1.6TMS320C54x的數(shù)據(jù)尋址方式(1)循環(huán)尋址
循環(huán)尋址通常是指定一個(gè)輔助寄存器ARx指向循環(huán)緩沖區(qū);循環(huán)尋址的幾個(gè)概念循環(huán)緩沖區(qū)的有效基地址(EFB)
循環(huán)緩沖區(qū)的尾基地址(EOB)
循環(huán)緩沖區(qū)的偏移量(index)
循環(huán)尋址的步長(step)就是加到輔助寄存器ARx或從輔助寄存器ARx中減去的值。1.6TMS320C54x的數(shù)據(jù)尋址方式(1)循環(huán)尋址循環(huán)尋址的算法:If0
偏移量+步長<
BK;
偏移量=偏移量+步長;Else
if偏移量+步長
BK;
偏移量=偏移量+步長-BK;Else
if偏移量+步長
<0;
偏移量=偏移量+步長+BK;1.6TMS320C54x的數(shù)據(jù)尋址方式地址數(shù)據(jù)100h101h102h103h104h105h106h107h108h109h110hX(0)X(1)X(2)X(3)X(4)X(5)循環(huán)緩沖區(qū)100h—109h循環(huán)緩沖區(qū)基地址循環(huán)緩沖區(qū)尾地址(EFB)=100H(EOB)=109H步長:Step=2偏移量:Index=024680…(1)循環(huán)尋址循環(huán)尋址操作過程:
①
首先要指定一個(gè)ARx指向循環(huán)緩沖區(qū),根據(jù)ARx的低N位作為循環(huán)緩沖區(qū)的偏移量進(jìn)行規(guī)定的尋址操作。
②
尋址完成后,再根據(jù)循環(huán)尋址算法修正偏移量,并返回ARx的低N位。1.6TMS320C54x的數(shù)據(jù)尋址方式X(5)地址數(shù)據(jù)100h101h102h103h104h105h106h107h108h109h10AhX(0)X(1)X(2)X(3)X(4)循環(huán)緩沖區(qū)100h—109h
…..………STM#0100H,AR1//指定一個(gè)ARx指向循環(huán)緩沖區(qū)STM#10,BK//緩沖區(qū)長度10裝入循環(huán)緩沖長度寄存器BK中。
STM#2,AR0//設(shè)置循環(huán)尋址的步長(step)RPT#5//指令重復(fù)執(zhí)行6次IIR:PORTRPA1,*AR1+0%
//從I/0端口PA1讀取數(shù)據(jù)按循環(huán)尋址方式存儲…循環(huán)尋址舉例:如果循環(huán)緩沖區(qū)長度為BK=10,
AR1=100h由AR1的低四位可知index=0,循環(huán)尋址的步長step=8;執(zhí)行第一條指令時(shí),index=index+step=8,尋址108h單元;執(zhí)行第二條指令時(shí),index=index+step=8+8=16,故index=index+step-BK=8+8-10=6,尋址106h單元;
LD*+AR1(8)%,A
STLA,*+AR1(8)%地址數(shù)據(jù)100h0001101h...102h103h104h105h...106h107h108h0500109h(2)位倒序?qū)ぶ酚糜诳焖俑凳献儞Q算法FFT。
位碼順序?qū)ぶ罚喊凑斩M(jìn)制遞增規(guī)律尋址。如:0000,0001,0010,0011,…,1111。如:0000,1000,0100,1100,…,1111。
位碼倒序?qū)ぶ罚焊鶕?jù)二進(jìn)制遞增碼,按其位碼倒序的規(guī)律進(jìn)行尋址。1.6TMS320C54x的數(shù)據(jù)尋址方式進(jìn)位是從左向右反向進(jìn)位.不是從右向左!
例如:10101.6TMS320C54x的數(shù)據(jù)尋址方式
+11000001快速傅氏變換FFT信號流程如圖:x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7)WN0X(7)X(3)X(5)X(1)X(6)X(2)X(4)X(0)-1-1-1WN0WN0WN0-1-1WN0WN2WN0WN2-1-1-1WN0WN1WN2WN3-1-1-1-11.6TMS320C54x的數(shù)據(jù)尋址方式快速傅氏變換FFT信號流程如圖:x(0)x(4)x(2)x(6)x(1)x(5)x(3)x(7)WN0X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0)-1-1-1WN0WN0WN0-1-1WN0WN2WN0WN2-1-1-1WN0WN1WN2WN3-1-1-1-11.6TMS320C54x的數(shù)據(jù)尋址方式快速傅氏變換FFT輸入是經(jīng)過比特反轉(zhuǎn)的倒位序列——位碼倒置。排列順序:x(0)、x(4)、x(2)、x(6)、x(1)、x(5)、x(3)、x(7)
輸出是按自然順序排列。
排列順序:X(0)、X(1)、X(2)、X(3)、X(4)、X(5)、X(6)、X(7)
1.6TMS320C54x的數(shù)據(jù)尋址方式(2)位倒序?qū)ぶ肺淮a順序和倒序?qū)φ毡硇蛱栁淮a順序?qū)ぶ肺淮a倒序?qū)ぶ沸蛱栁淮a順序?qū)ぶ肺淮a倒序?qū)ぶ?000000008100000011000110009100110012001001001010100101300111100111011110140100001012110000115010110101311011011601100110141110011170111111015111111111.6TMS320C54x的數(shù)據(jù)尋址方式位碼倒序?qū)ぶ反鎯卧刂纷儞Q結(jié)果位碼倒序?qū)ぶ肺淮a倒序?qū)ぶ方Y(jié)果0000x(0)0000X(0)0001x(8)1000X(1)0010x(4)0100X(2)0011x(12)1100X(3)0100x(2)0010X(4)0101x(10)1010X(5)0110x(6)0110X(6)0111x(14)1110X(7)1000x(1)0001X(8)1001x(9)1001X(9)1010x(5)0101X(10)1011x(13)1101X(11)1100x(3)0011X(12)1101x(11)1011X(13)1110x(7)0111X(14)1111x(15)1111X(15)1.6TMS320C54x的數(shù)據(jù)尋址方式(2)位倒序?qū)ぶ穼?shí)現(xiàn)過程:
①根據(jù)FFT算法進(jìn)行轉(zhuǎn)換,按轉(zhuǎn)換順序?qū)?/p>
X(0)、X(8)、X(4)、…、X(15)的轉(zhuǎn)換
結(jié)果存入數(shù)據(jù)存儲器。
②按照位碼倒序的方法尋址,可將亂序的轉(zhuǎn)換結(jié)果進(jìn)行整序輸出。1.6TMS320C54x的數(shù)據(jù)尋址方式(2)位倒序?qū)ぶ穼?shí)現(xiàn)方法:
(1)
使用輔助寄存器ARx作為基地址,指向存儲數(shù)據(jù)單元X(0).
(2)AR0存放整數(shù)數(shù)值為進(jìn)行FFT運(yùn)算點(diǎn)數(shù)的一半。1.6TMS320C54x的數(shù)據(jù)尋址方式(3)將AR0加到輔助寄存器ARx中,地址以位倒序方式產(chǎn)生.
即:AR0與ARx二者相加時(shí),進(jìn)位是從左向右反向進(jìn)位.不是從右向左!
例如:1010
+110000011.6TMS320C54x的數(shù)據(jù)尋址方式位碼倒序?qū)ぶ反鎯卧刂纷儞Q結(jié)果位碼倒序?qū)ぶ肺淮a倒序?qū)ぶ方Y(jié)果0000X(0)0000x(0)0001X(8)1000x(1)0010X(4)0100x(2)0011X(12)1100x(3)0100X(2)0010x(4)0101X(10)1010x(5)0110X(6)0110x(6)0111X(14)1110x(7)1000X(1)0001x(8)1001X(9)1001x(9)1010X(5)0101x(10)1011X(13)1101x(11)1100X(3)0011x(12)1101X(11)1011x(13)1110X(7)0111x(14)1111X(15)1111x(15)1.6TMS320C54x的數(shù)據(jù)尋址方式(2)位倒序?qū)ぶ放e例
①
設(shè)AR2=01100000,作為基地址,指向X(0)
的存儲單元。②
設(shè)AR0=00001000,取FFT長度的一半。
程序:
RPT#15
;重復(fù)執(zhí)行下條指令16次
PORTW*AR2+0B,PA
;采用位碼倒序的間接尋
址,向PA口輸出數(shù)據(jù)
1.6TMS320C54x的數(shù)據(jù)尋址方式位碼倒序?qū)ぶ?數(shù)據(jù)存儲地址4-7位為0110)存儲單元地址變換結(jié)果位碼倒序?qū)ぶ肺淮a倒序?qū)ぶ方Y(jié)果0000X(0)0000x(0)0001X(8)1000x(1)0010X(4)0100x(2)0011X(12)1100x(3)0100X(2)0010x(4)0101X(10)1010x(5)0110X(6)0110x(6)0111X(14)1110x(7)1000X(1)0001x(8)1001X(9)1001x(9)1010X(5)0101x(10)1011X(13)1101x(11)1100X(3)0011x(12)1101X(11)1011x(13)1110X(7)0111x(14)1111X(15)1111x(15)1.6TMS320C54x的數(shù)據(jù)尋址方式
按照位倒序?qū)ぶ贩绞?,所輸出的地址及輸出的?shù)據(jù)如下:第一次*AR2+0B:
AR2=01100000X(0)第二次*AR2+0B:
AR2=01100000+00001000
=01101000X(1)第三次*AR2+0B:
AR2=01101000+00001000
=01100100X(2)第四次*AR2+0B:
AR2=01100100+00001000
=01101100X(3)第五次*AR2+0B:
AR2=01101100+00001000
=01100010X(4)第六次*AR2+0B:
AR2=01100010+00001000
=01101010X(5)第七次*AR2+0B:
AR2=01101010+00001000
=01100110X(6)表1-14位倒序?qū)ぶ冯p操作數(shù)尋址方式例如:
MPY*AR2,*AR3,A1.6.5.2雙操作數(shù)尋址指令碼格式雙操作數(shù)尋址方式的特點(diǎn)雙數(shù)據(jù)存儲器操作數(shù)間接尋址類型為*ARx、*ARx-、*ARx+、*ARx+0%。所用輔助寄存器只能是AR2、AR3、AR4、AR5。優(yōu)點(diǎn):占用程序空間小,運(yùn)行速度快。 在一個(gè)機(jī)器周期內(nèi)通過兩個(gè)16位數(shù)據(jù)總線(CB和DB)讀兩個(gè)操作數(shù)。
Xmem表示從DB總線上讀出的16位操作數(shù),Ymem表示從CB總線上讀出的16位操作數(shù)。間接尋址舉例程序
說明LD#1000h,A;A=1000HSTM#0060h,AR1;AR1=0060HMAR*AR1+;AR1=0061HSTM#2,AR0;AR0=2
LD*AR1+0,A;A=2000H;尋址結(jié)束后AR1=AR1+AR0=0063H
LD*AR1,B;B=4000H1.6.6存儲器映象寄存器(MMR)尋址存儲器映象寄存器的地址空間:片內(nèi)RAM0000H~005FH即第0頁(DP=0)特點(diǎn):①不影響當(dāng)前數(shù)據(jù)頁指針DP和當(dāng)前堆棧指針SP
僅用于修改存儲器映象寄存器(MMR)中的內(nèi)容。②由于這種方式不需要修改DP和SP,對寄存器的寫操作開銷最小。第2章TMS320C54x的硬件結(jié)構(gòu)
地址符號寄存器名稱地址符號寄存器名稱00H
IMR中斷屏蔽寄存器10HAR0輔助寄存器001H
IFR中斷標(biāo)志寄存器11H
AR1輔助寄存器102H
保留(用于測試)12HAR2輔助寄存器203H保留(用于測試)13H
AR3輔助寄存器304H保留(用于測試)14H
AR4輔助寄存器405H保留(用于測試)15HAR5輔助寄存器506H
ST0狀態(tài)寄存器016H
AR6輔助寄存器607H
ST1狀態(tài)寄存器117H
AR7輔助寄存器708H
AL累加器A低字(15~0位)18H
SP堆棧指針09H
AH累加器A高字(31~16位)19H
BK循環(huán)緩沖區(qū)長度寄存器0AH
AG累加器A保護(hù)位(39~32位)1AH
BRC塊重復(fù)計(jì)數(shù)器0BH
BL累加器B低字(15~0位)1BH
RSA塊重復(fù)起始地址寄存器0CH
BH累加器B高字(31~16位)1CHREA塊重復(fù)結(jié)束地址寄存器0DH
BG累加器B保護(hù)位(39~32位)1DHPMST處理器模式狀態(tài)寄存器0EH
T暫存寄存器1EHXPC程序計(jì)數(shù)器擴(kuò)展寄存器0FH
TRN狀態(tài)轉(zhuǎn)移寄存器1FH保留MMR特殊功能寄存器’C5410MMR片內(nèi)外設(shè)寄存器地址符號寄存器名稱地址符號寄存器名稱20H
DRR20緩沖串行口0數(shù)據(jù)接收寄存器235HSPSD2緩沖串行口2數(shù)據(jù)寄存器21HDRR10緩沖串行口0數(shù)據(jù)發(fā)送寄存器136~37H保留22H
DXR20緩沖串行口0數(shù)據(jù)發(fā)送寄存器23A~3FH保留23H
DXR10緩沖串行口0數(shù)據(jù)發(fā)送寄存器138HSPSA0緩沖串行口0地址寄存器24H
TIM定時(shí)器0定時(shí)設(shè)定寄存器39HSPSD0緩沖串行口0數(shù)據(jù)寄存器25H
PRD定時(shí)器0定時(shí)周期寄存器40H
DRR21緩沖串行口1數(shù)據(jù)接收寄存器226H
TCR定時(shí)器0定時(shí)控制寄存器41H
DRR11緩沖串行口1數(shù)據(jù)接收寄存器127H保留42H
DXR21緩沖串行口1數(shù)據(jù)發(fā)送寄存器228HSWWSR軟件等待狀態(tài)寄存器43H
DXR11緩沖串行口1數(shù)據(jù)發(fā)送寄存器129HBSCR多路開關(guān)控制寄存器44~47H保留2AH
保留48HSPSA1緩沖串行口1地址寄存器2BH
SWCR軟件等待狀態(tài)控制寄存器49HSPSD1緩沖串行口1數(shù)據(jù)寄存器2CH
HPIC主機(jī)口(HPI)控制寄存器4A~53H保留2D~2FH
保留54HDMPREC
DMA優(yōu)先權(quán)控制和使能寄存器30H
DRR22緩沖串行口2數(shù)據(jù)接收寄存器255HDMSA
DMA地址寄存器31H
DRR12緩沖串行口2數(shù)據(jù)接收寄存器156HDMSDI
DMA數(shù)據(jù)寄存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度長沙新環(huán)境房屋租賃與節(jié)能改造合同
- 2025年度辦公室助理實(shí)習(xí)生實(shí)習(xí)期間權(quán)益保護(hù)合同
- 家具買賣合同
- 農(nóng)業(yè)生產(chǎn)質(zhì)量管理體系建設(shè)作業(yè)指導(dǎo)書
- 房屋買賣合同委托書
- 合伙人合作協(xié)議合同
- 企業(yè)危機(jī)管理作業(yè)指導(dǎo)書
- 第三方代付款協(xié)議書
- 三農(nóng)村環(huán)境保護(hù)與管理方案
- 建筑垃圾買賣合同
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 2025年江蘇農(nóng)牧科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025江蘇連云港市贛榆城市建設(shè)發(fā)展集團(tuán)限公司招聘工作人員15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年全年日歷-含農(nóng)歷、國家法定假日-帶周數(shù)豎版
- 《東北大學(xué)宣傳》課件
- 社會主義從空想到科學(xué)的發(fā)展
- 《軌道交通工程盾構(gòu)施工技術(shù)》 課件 項(xiàng)目2 盾構(gòu)構(gòu)造認(rèn)知
- 《傳統(tǒng)發(fā)酵饅頭酸菜》課件
- 《港珠澳大橋演講》課件
- 《有機(jī)化學(xué)》課件-第十章 羧酸及其衍生物
- 人教版道德與法治五年級下冊《第一單元 我們一家人》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
評論
0/150
提交評論