




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第3章TMS320C54x的指令系統(tǒng)知識要點
本章涉及的內(nèi)容包括’C54x指令系統(tǒng)尋址方式的分類和功能,指令系統(tǒng)中的常用符號、縮略語和運算符,數(shù)據(jù)傳送、算術(shù)運算、邏輯運算、程序控制、并行操作和重復(fù)操作指令。
2023/1/12第3章TMS320C54x的指令系統(tǒng)3.1尋址方式3.2TMS320C54x的指令表示方法3.3TMS320C54x的指令系統(tǒng)2023/1/12第3章TMS320C54x的指令系統(tǒng)3.1尋址方式當(dāng)硬件執(zhí)行指令時,尋找指令所指定的參與運算的操作數(shù)的方法——尋址方式。
根據(jù)程序的要求采用不同的尋址方式,可以有效地縮短程序的運行時間和提高代碼執(zhí)行效率?!疌54x芯片的尋址方式可以分為兩類:
●數(shù)據(jù)尋址●程序?qū)ぶ?/p>
2023/1/12第3章TMS320C54x的指令系統(tǒng)3.1尋址方式’C54x有7種基本的數(shù)據(jù)尋址方式:
立即尋址絕對尋址累加器尋址直接尋址間接尋址存儲器映像寄存器尋址堆棧尋址:由指令提供一個操作數(shù):由指令提供一個操作數(shù)地址:以累加器的內(nèi)容為地址訪問程序空間某單元:尋址地址為DP或SP的值加上指令提供的偏移量:利用輔助寄存器訪問存儲器:用來改變映像寄存器,但不影響DP或SP的值:用來管理系統(tǒng)堆棧中的操作2023/1/12第3章TMS320C54x的指令系統(tǒng)3.1尋址方式尋址方式用
途舉
例指令含義立即尋址主要用于初始化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)-1SP,(AG)(SP)2023/1/12第3章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)1k16位長立即數(shù)2023/1/12第3章TMS320C54x的指令系統(tǒng)
立即尋址
指令中含有執(zhí)行指令所需的操作數(shù)。操作數(shù)緊隨操作碼存放在程序存儲器中。例如:LD#F180h,A;將立即數(shù)F180加載到A程序存儲器操作碼立即數(shù)F180立即數(shù)的數(shù)值形式:①短立即數(shù)。3、5、8、9位,單字指令;②長立即數(shù)。16位,雙字指令。特點:指令中含有一個固定的立即數(shù),運行速度較快,但需占用程序存儲空間,并且數(shù)值不能改變。用途:用于表示常數(shù)或?qū)拇嫫鞒跏蓟?023/1/12立即數(shù)尋址1.短立即數(shù)尋址(單字指令)在指令字中包括立即操作數(shù)RPT#99;將下一條指令循環(huán)100次ADD#0ffh,A;將0ffh加給累加器A2023/1/122.長立即數(shù)尋址指令字的后一個字是立即數(shù)(雙字指令)ADD#1234h,A;將1234h加給累加器A2023/1/12絕對地址尋址1。數(shù)據(jù)存儲器地址(dmad)尋址用一個符號或一個數(shù)來確定數(shù)據(jù)空間中的一個地址MVKDsample,*AR5smaple代表的就是一個dmad2。程序存儲器地址(pmad)尋址2023/1/123.端口地址(PA)尋址用一個符號或常數(shù)來確定I/O口地址PORTWPA,SmemPORTRSmem,PA4.(lk)尋址用一個符號或常數(shù)來確定數(shù)據(jù)存儲器中的一個地址LD*(buffer),A;把地址為buffer的數(shù)據(jù)單元中的數(shù)據(jù)裝到累加器A中2023/1/12第3章TMS320C54x的指令系統(tǒng)
絕對尋址
指令中含有所要尋找的操作數(shù)的16位存儲單元地址。
16位地址表示形式:
①地址標(biāo)號,如:TABLE;
②16位符號常量,如:89AB、1234。
例如:
MVKDTABLE,*AR1
;將數(shù)據(jù)存儲器TABLE為地址
的單元數(shù)據(jù)送入AR1寄存器
指定的數(shù)據(jù)存儲單元中
LD*(DATA),A;將DATA指定的數(shù)據(jù)存儲單元中的數(shù)據(jù)送入累加器A中
特點:指令中包含一個固定的16位地址,能尋址所有數(shù)據(jù)存儲空間,但運行速度慢,需要較大的存儲空間。用途:用于對速度要求較低的場合。2023/1/12第3章TMS320C54x的指令系統(tǒng)
絕對尋址絕對尋址是利用16位地址來尋址操作數(shù)的存儲單元。由于絕對地址代碼的位數(shù)為16位,所以絕對地址尋址的指令至少應(yīng)為2個字長。絕對尋址有四種類型:
①數(shù)據(jù)存儲器地址(dmad)尋址;
②程序存儲器地址(pmad)尋址;③端口(PA)尋址;④*(1k)尋址。2023/1/12絕對地址尋址數(shù)據(jù)存儲器地址(dmad)尋址:用一個符號或一個數(shù)來確定數(shù)據(jù)空間中的一個地址例:MVKDsample,*AR5sample所代表的就是一個dmad2023/1/12絕對地址尋址程序存儲器地址(pmad)尋址:用一個符號或一個數(shù)來確定程序地址空間中的一個地址例:MVKDtable,*AR5table所代表的就是一個pmad2023/1/12絕對地址尋址端口地址(PA)尋址用一個符號或常數(shù)來確定I/O口地址
PORTRPA,Smem
PORTWSmem,PA2023/1/12絕對地址尋址*(lk)尋址
用一個符號或一個常數(shù)來確定數(shù)據(jù)存儲器中的一個地址例:
LD*(BUFFER),A把地址為BUFFER的數(shù)據(jù)單元中的數(shù)據(jù)裝到AccA中2023/1/12第3章TMS320C54x的指令系統(tǒng)1.數(shù)據(jù)存儲器地址尋址
用于確定操作數(shù)存于數(shù)據(jù)存儲單元的地址。例如,將數(shù)據(jù)存儲器EXAM1地址單元中的數(shù)據(jù)復(fù)制到AR5寄存器所指向的數(shù)據(jù)存儲單元中。
MVKDEXAM1,*AR5
語法:使用一個程序標(biāo)號或一個數(shù)字來指定數(shù)據(jù)空間的一個地址。數(shù)據(jù)存儲器的16位地址dmad值
2023/1/12第3章TMS320C54x的指令系統(tǒng)2.程序存儲器地址尋址用于確定程序存儲器中的一個地址。例如,將程序存儲器TABLE地址單元中的內(nèi)容復(fù)制到AR2寄存器所指向的數(shù)據(jù)存儲單元中。
MVPDTABLE,
*AR2
語法:使用一個符號或具體的數(shù)字來指定程序空間的一個地址。程序存儲器的16位地址pmad值
2023/1/12第3章TMS320C54x的指令系統(tǒng)3.端口(PA)尋址用一個符號或一個數(shù)字來確定外部I/O端口的地址。例如,把一個數(shù)從端口為FIFO的I/O口復(fù)制到AR5寄存器所指向的數(shù)據(jù)存儲單元中。
PORTRFIFO,*AR5I/O端口地址PA2023/1/12第3章TMS320C54x的指令系統(tǒng)4.*(1k)尋址使用一個指定數(shù)據(jù)空間的地址來確定數(shù)據(jù)存儲器中的一個地址。例如,把地址為PN的數(shù)據(jù)單元中的數(shù)據(jù)裝到累加器A中。
LD*(PN),A
語法:允許所有使用單數(shù)據(jù)存儲器(Smem)尋址的指令去訪問數(shù)據(jù)空間的任意單元,而不改變DP的值,也不用對AR進行初始化。
這種尋址可用于支持單數(shù)據(jù)存儲器操作數(shù)的指令。注意:*(1k)尋址的指令不能與循環(huán)指令(RPT,RPTZ)一起使用。
2023/1/12第3章TMS320C54x的指令系統(tǒng)
累加器尋址將累加器的內(nèi)容作為地址去訪問程序存儲單元,即將累加器中的內(nèi)容作為地址,用來對存放數(shù)據(jù)的程序存儲器尋址。
例如:
READASmem
;將A中的數(shù)據(jù)作為地址尋址程序
存儲器中的數(shù)據(jù),并將數(shù)據(jù)送
入Smem指定的數(shù)據(jù)存儲單元。
WRITASmem
;將Smem指定的數(shù)據(jù)存儲單元中的
數(shù)據(jù),寫入A所指定的程序存儲
單元。用途:用于完成程序存儲空間與數(shù)據(jù)存儲空間之間的數(shù)據(jù)傳輸。注意:①大多數(shù)’C54x用A的低16位作為程序存儲器的地址,而’C548和’C549是以A的低23位作為程序存儲器地址,’C5402是以A的低20位作為程序存儲器地址;②上述兩條指令重復(fù)使用時,累加器A自動增減;
③只能使用累加器A尋址程序空間。
④
累加器A用來尋址程序空間。Smem用來尋址數(shù)據(jù)空間。2023/1/12累加器尋址用累加器中的數(shù)作為一個地址,可用來對存放數(shù)據(jù)的程序存儲器尋址READASmemWRITASmemREADA把累加器A所確定的程序存儲器單元中的一個字,傳送到數(shù)據(jù)存儲器單元(Smem)中WRITA把數(shù)據(jù)存儲器單元(Smem)中的一個字,傳送到累加器A所確定的程序存儲器單元中2023/1/12直接尋址C54x的數(shù)據(jù)存儲器分為512頁,每頁有128個字。設(shè)置一個數(shù)據(jù)頁指針DP(datapointer),用9bit指向一個數(shù)據(jù)頁,在加上一個7bit的頁內(nèi)偏移地址,形成16bit的數(shù)據(jù)地址。LD#4,DP;指向頁4(0200h~027Fh)ADD9h,A;將數(shù)據(jù)頁4中地址9h的的數(shù)據(jù)加到累加器。2023/1/122023/1/12第3章TMS320C54x的指令系統(tǒng)
直接尋址利用數(shù)據(jù)指針DP和堆棧指針SP尋址。指令格式:15~8
7
6~0
操作碼
I=0
數(shù)據(jù)存儲器地址(dmad)
指令的8位操作碼指令的標(biāo)識符表示指令為直接尋址
數(shù)據(jù)存儲器地址包含了數(shù)據(jù)存儲器偏移地址
特點:①指令中只含有數(shù)據(jù)存儲器的低7位地址(偏移地址dmad);②16位數(shù)據(jù)存儲器地址由基地址(數(shù)據(jù)頁指針DP或堆棧指針SP)和偏移地址(dmad)共同構(gòu)成。
2023/1/12第3章TMS320C54x的指令系統(tǒng)
直接尋址所要尋址的數(shù)據(jù)存儲器16位地址是由基地址和偏移地址構(gòu)成。基地址:①
數(shù)據(jù)頁指針DP(9位);②堆棧指針SP。
當(dāng)CPL=0時,數(shù)據(jù)存儲器16位地址由DP和偏移地址dmad構(gòu)成;
當(dāng)CPL=1時,數(shù)據(jù)存儲器16位地址由SP加偏移地址dmad構(gòu)成。2023/1/12第3章TMS320C54x的指令系統(tǒng)地址形成過程:當(dāng)CPL=0時,直接尋址指令15~876~0操作碼I=0dmad頁指針DP(位于ST0中)9位數(shù)據(jù)頁指針DP9位數(shù)據(jù)頁指針DP高9位dmad低7位16位數(shù)據(jù)存儲器地址2023/1/12第3章TMS320C54x的指令系統(tǒng)地址形成過程:當(dāng)CPL=1時,直接尋址指令15~876~0操作碼I=0dmad高9位dmad低7位16位數(shù)據(jù)存儲器地址16位堆棧指針SP堆棧指針SPSP+dmad16位SP+dmad2023/1/12第3章TMS320C54x的指令系統(tǒng)
直接尋址
DP地址的范圍是從0~511(29-1),將存儲器分成512頁。
以DP為基準(zhǔn)的直接尋址是由DP值確定是512頁中的哪一頁,由dmad確定是該頁中的哪一個單元。
7位dmad范圍是從0~127,每頁有128個可以訪問的單元。
SP可以指向存儲器中的任意一個地址。dmad可以指向當(dāng)前頁中具體的單元,從而允許訪問存儲器任意基地址中的連續(xù)的128個單元2023/1/12第3章TMS320C54x的指令系統(tǒng)
直接尋址直接尋址標(biāo)識:①變量前加@,如@x;②在偏移量前加@,如@5。利用直接尋址可以在不改變DP或SP的情況下,隨機尋址128個存儲單元中的任何一個單元。直接尋址的優(yōu)點:每條指令只需要一個字。2023/1/12第3章TMS320C54x的指令系統(tǒng)
直接尋址
例1:數(shù)據(jù)存儲器存儲數(shù)據(jù)如圖所示,采用數(shù)據(jù)頁指針DP直接尋址,完成x,y單元的兩個數(shù)據(jù)求和。RSBXCPL數(shù)據(jù)存儲器地址數(shù)據(jù)01800001......X:01FF1000y:02000500......第3頁第4頁LD#3,DPLD@x,AADD@y,A;CPL復(fù)位;立即數(shù)3賦給DP;x單元的數(shù)據(jù)送入A;完成x和y單元的數(shù)據(jù)相加DPdmaLD#3,DPLD#3,DP000000011LD@x,ALD@x,A1111111操作碼01111111機器碼@x000000011111111101FF@x01FF1000A000000100001FF1000ADD@y,A操作碼00000000機器碼0000000@y00000001100000001800@y018000010180H0001+1001018000011001000000ADD@y,A0000001001A結(jié)果ADD@y,ALD@x,ALD#3,DPRSBXCPLADD@y,ALD#4,DPLD#4,DPRSBXCPLLD#3,DPDP000000011LD@x,Adma111111101FF@xA0000001000LD#4,DPDP000000100ADD@y,Adma00000000200@y05000200H05000200H+005100000000000015000000001500A結(jié)果2023/1/12第3章TMS320C54x的指令系統(tǒng)
直接尋址直接尋址特點:
①所尋址數(shù)據(jù)存儲器的16位地址是由DP或SP
與7位偏移地址dmad構(gòu)成;
②可在單周期尋址128個單元;
③尋址速度快,能進行流水線并行操作。用途:主要用于要求運算速度較快的場合。注意:①上述兩種直接尋址方式是相互排斥的;
②采用DP尋址時,要注意數(shù)據(jù)所在的頁面指針。2023/1/12間接尋址8個輔助寄存器(AR0-AR7),由一個輔助寄存器指針(ARP3bit)來指定。輔助寄存器算術(shù)單元(ARAU)作16bit無符號數(shù)運算,決定一個新的地址,裝入輔助寄存器中的一個。AR0-AR7的內(nèi)容相當(dāng)靈活,可以裝入立即數(shù),加上立即數(shù),減去立即數(shù),也可以從數(shù)據(jù)存儲器中裝入地址,還可以作以下的變址尋址2023/1/122023/1/122023/1/12將該AR的內(nèi)容加1或減1,然后再尋址(循環(huán)常用)。將該AR的內(nèi)容加或減AR0的內(nèi)容,然后再尋址將該AR的內(nèi)容逆向進位加或減AR0的內(nèi)容,然后再尋址2023/1/12尋址方式:間接尋址
ADD*,8,A;將當(dāng)前輔助寄存器所指的地址里的數(shù)據(jù),左移8-bit后加給AccAADD*+,8,A,AR4;數(shù)據(jù)左移,加給AccA后,當(dāng)前輔助寄存器加1,選擇輔助寄存器AR42023/1/12尋址方式:間接尋址
ADD*0+,8,A;執(zhí)行加法后,將AR0的值加給當(dāng)前輔助寄存器ADD*BR0+,8,A;執(zhí)行加法后,將AR0的值加給當(dāng)前輔助寄存器,但反向進位2023/1/12正向進位與反向進位2023/1/12第3章TMS320C54x的指令系統(tǒng)
間接尋址是根據(jù)輔助寄存器(AR0~AR7)給出的16位地址進行尋址。每一個輔助寄存器都可以用來尋址64K字?jǐn)?shù)據(jù)存儲空間中任何一個單元。兩個輔助寄存器算術(shù)運算單元(ARAU0和ARAU1)可以根據(jù)輔助寄存器的內(nèi)容進行操作,完成16位無符號數(shù)算術(shù)運算。2023/1/12第3章TMS320C54x的指令系統(tǒng)
間接尋址可完成以下操作:
①用單指令對存儲器進行16位數(shù)據(jù)的讀操作或?qū)懖僮鳎虎谟脝沃噶羁梢酝瓿蓪蓚€獨立的數(shù)據(jù)存儲單元的讀操作;
③用單指令可以讀和寫兩個連續(xù)的數(shù)據(jù)存儲單元;
④用單指令可以在讀一個數(shù)據(jù)存儲單元的同時,向另一個存儲單元進行寫操作。2023/1/12第3章TMS320C54x的指令系統(tǒng)
間接尋址1.單操作數(shù)尋址用來完成存儲單元中16位單數(shù)據(jù)的讀寫操作。指令格式:15~8
76~3
2~0
操作碼
I=1
MODARF指令的8位操作碼指令的標(biāo)識符表示指令為間接尋址4位的方式域用來定義間接尋址的類型3位輔助寄存器域用來定義所使用的輔助寄存器2023/1/12第3章TMS320C54x的指令系統(tǒng)單操作數(shù)間接尋址形式MOD域
操作句法功
能說
明0000*
ARx
地址=ARxARx的內(nèi)容為數(shù)據(jù)存儲器地址0001*
ARx-
地址=ARxARx=ARx-1尋址結(jié)束后,ARx地址減1。[注2]
0010*
ARx+
地址=ARxARx=ARx+1尋址結(jié)束后,ARx地址加1。
[注1]
0011*
+ARx
ARx=ARx+1地址=ARx
ARx中的地址加1后,再尋址。
[注1]、[注2]、[注3]
0100*
ARx-0B
地址=ARxARx=B(ARx-AR0)尋址結(jié)束后,用位倒序進位的方法從
ARx中減去AR0的值。
[注1]:尋址16位字時增/減量為1,32位字時增/減量為2。[注2]:這種方式只能用寫操作指令。[注3]:這種方式不允許對存儲器映像寄存器尋址。
2023/1/12第3章TMS320C54x的指令系統(tǒng)單操作數(shù)間接尋址形式MOD域
操作句法功
能說
明0101*
ARx-0
地址=ARxARx=ARx-AR0
尋址結(jié)束后,從ARx中減去AR0的值。0110
*
ARx+0
地址=ARx
ARx=ARx+AR0
尋址結(jié)束后,把AR0加到ARx中。0111
*
ARx+0B
地址=ARxARx=B(ARx+AR0)尋址結(jié)束后,用位倒序進位的方法將
AR0加到ARx中1000
*
ARx-%地址=ARxARx=Circ(ARx-1)尋址結(jié)束后,ARx中的地址值按循環(huán)減的方法減1。[注1]
1001
*
ARx-0%地址=ARx
ARx=Circ(ARx-AR0)
尋址結(jié)束后,按循環(huán)減的方法從ARx中減去AR0中的值
[注1]:尋址16位字時增/減量為1,32位字時增/減量為2。2023/1/12第3章TMS320C54x的指令系統(tǒng)單操作數(shù)間接尋址形式MOD域
操作句法功
能說
明1010
*
ARx+%地址=ARxARx=Circ(ARx+1)尋址結(jié)束后,ARx中的地址值按循環(huán)加的方法加1。[注1]
1011
*
ARx+0%地址=ARxARx=Circ(ARx+AR0)尋址結(jié)束后,按循環(huán)加的方法將AR0中的值加到ARx。
1100
*
ARx(lk)地址=ARx+lkARx=ARx以ARx與16位數(shù)之和作為地址,尋址結(jié)束后,ARx中的值不變。
1101
*+ARx(lk)
地址=ARx+lk
ARx=ARx+lk將一個16位帶符號數(shù)加到ARx,然后尋址。[注3]1110*
ARx(lk)%
地址=Circ(ARx+lk)
ARx=Circ(ARx+lk)
將一個16位帶符號數(shù)按循環(huán)加的方法加至ARx,然后再尋址1111*
(lk)
地址=(lk)利用16位無符號數(shù)作為地址,尋址數(shù)據(jù)存儲器[注3]:這種方式不允許對存儲器映像寄存器尋址。
2023/1/12.mmregs.bssx,4,1a0 .word012ha1 .word3211ha2 .wordfe11ha3 .wordff03h.sect“program”LD#X,AR1LD#0,A,AR1LD#a0,T
MAC*+,A LD#a1,T MAC*+,A LD#a2,T MAC*+,ALD#a3,T MAC*,A2023/1/12第3章TMS320C54x的指令系統(tǒng)特殊的間接尋址功能:在存儲器中設(shè)置一個緩沖區(qū)作為滑動窗,來保存最新的一批數(shù)據(jù),并用新的數(shù)據(jù)覆蓋舊的數(shù)據(jù),實現(xiàn)循環(huán)尋址。
循環(huán)緩沖區(qū)的長度R,由循環(huán)緩沖區(qū)長度寄存器BK確定,可通過指令設(shè)定。1.單操作數(shù)尋址(1)循環(huán)尋址其指令:
STM#1K,BK;將立即數(shù)1K存放BK中2023/1/12循環(huán)尋址許多算法,如卷積,相關(guān)和FIR濾波等,都需要在存儲器中實現(xiàn)一個循環(huán)緩沖器。在這些算法中,一個循環(huán)緩沖器就是一個包含了最近的數(shù)據(jù)的滑動窗口。當(dāng)新的數(shù)據(jù)來到時,緩沖器就會覆蓋最早的數(shù)據(jù)。循環(huán)緩沖器實現(xiàn)的關(guān)鍵是循環(huán)尋址的實現(xiàn)。C54x間接尋址中提供了循環(huán)尋址的方式,以%表示。2023/1/12定義循環(huán)緩沖器大小寄存器(BK)來確定循環(huán)緩沖器的大小。用循環(huán)緩沖器的有效基地址(EFB)和尾地址(EOB)來組成循環(huán)地址。step是加到輔助寄存器,或從輔助寄存器中減去的值。2023/1/12第3章TMS320C54x的指令系統(tǒng)長度為R的緩沖區(qū)必須從N位地址的邊界開始,即循環(huán)緩沖區(qū)基地址的N個最低有效位必須為0。
N應(yīng)滿足:(1)循環(huán)尋址
2N>R的最小整數(shù)例如:緩沖區(qū)長度R=32,若2N>32,則N=6。緩沖區(qū)開始的地址:xxxxxxxxxx000000B
緩沖區(qū)長度R=32裝入循環(huán)緩沖長度寄存器BK中。
循環(huán)尋址是以BK的值為模,對緩沖區(qū)長度R進行取模運算。2023/1/12第3章TMS320C54x的指令系統(tǒng)(1)循環(huán)尋址循環(huán)尋址通常是指定一個輔助寄存器ARx指向循環(huán)緩沖區(qū);循環(huán)緩沖區(qū)的有效基地址(EFB)就是用戶指定的輔助寄存器(ARx)的低N位置0后所得到的值;循環(huán)緩沖區(qū)的尾基地址(EOB)是通過用BK的低N代替ARx的低N位得到;循環(huán)緩沖區(qū)的偏移量(index)就是ARx的低N位;循環(huán)尋址的步長(step)就是加到輔助寄存器ARx或從輔助寄存器ARx中減去的值。2023/1/12第3章TMS320C54x的指令系統(tǒng)(1)循環(huán)尋址循環(huán)尋址的算法:If0偏移量+步長<
BK;
偏移量=偏移量+步長;Else
if偏移量+步長
BK;偏移量=偏移量+步長-BK;Else
if偏移量+步長
<0;偏移量=偏移量+步長+BK;注意:①
步長小于BK,其大小與所用指令有關(guān);②
若步長為正,進行循環(huán)加尋址;否則進行循環(huán)減尋址;
③若BK=0,則為不作修正的輔助寄存器間接尋址。
2023/1/12第3章TMS320C54x的指令系統(tǒng)(1)循環(huán)尋址循環(huán)尋址操作過程:
①
首先要指定一個ARx指向循環(huán)緩沖區(qū),根據(jù)ARx的低N位作為循環(huán)緩沖區(qū)的偏移量進行規(guī)定的尋址操作。
②
尋址完成后,再根據(jù)循環(huán)尋址算法修正偏移量,并返回ARx的低N位。2023/1/12第3章TMS320C54x的指令系統(tǒng)1.單操作數(shù)尋址(2)位倒序?qū)ぶ酚糜诳焖俑凳献儞Q算法FFT。位碼順序?qū)ぶ罚喊凑斩M制遞增規(guī)律尋址。如:0000,0001,0010,0011,…,1111。如:0000,1000,0100,1100,…,1111。位碼倒序?qū)ぶ罚焊鶕?jù)二進制遞增碼,按其位碼倒序的規(guī)律進行尋址。2023/1/12位倒序?qū)ぶ稟R0=100AR1=000按AR1尋址后,將AR0加給AR1,反向進位2023/1/12原序原地址位倒序后地址位倒序2023/1/12第3章TMS320C54x的指令系統(tǒng)(2)位倒序?qū)ぶ穼崿F(xiàn)過程:①根據(jù)FFT算法進行轉(zhuǎn)換,按轉(zhuǎn)換順序?qū)?/p>
X(0)、X(4)、X(2)、…、X(7)的轉(zhuǎn)換
結(jié)果存入數(shù)據(jù)存儲器。②按照位碼倒序的方法尋址,可將亂序的轉(zhuǎn)換結(jié)果進行整序輸出。2023/1/12第3章TMS320C54x的指令系統(tǒng)
間接尋址2.雙操作數(shù)尋址用于完成執(zhí)行2次讀操作或者1次讀和1次的并行存儲操作(用‖表示)。這些指令代碼都是1個字長,而且只能以間接尋址方式進行操作。兩個數(shù)據(jù)存儲器操作數(shù)由Xmem和Ymem表示。
Xmem:讀操作數(shù);
Ymem:
在兩次讀操作的指令中,表示一個讀操作數(shù);在一次讀和一次寫的指令中,表示寫操作數(shù)。2023/1/12第3章TMS320C54x的指令系統(tǒng)2.雙操作數(shù)尋址用于完成執(zhí)行2次讀操作或者1次讀和1次的并行存儲操作。這些指令代碼都是1個字長,而且只能以間接尋址方式進行操作。指令格式:15~8
76
54
32
10
操作碼
XmodXarYmodYar指令的8位操作碼用來定義Xmem操作數(shù)間接尋址方式的類型用來定義存儲Xmem地址的輔助寄存器用來定義Ymem操作數(shù)間接尋址方式的類型用來定義存儲Ymem地址的輔助寄存器2023/1/12第3章TMS320C54x的指令系統(tǒng)2.雙操作數(shù)尋址雙操作數(shù)間接尋址的類型Xmod、Ymod操作碼語法功能
說明
00*
ARx地址=ARxARx中的內(nèi)容是數(shù)據(jù)存儲器地址
01*
ARx-地址=ARxARx=ARx-1尋址后,ARx的地址減1
10*
ARx+地址=ARxARx=ARx+1尋址后,ARx的地址加1
11*
ARx+0%地址=ARxARx=circ(ARx+AR0)尋址后,AR0以循環(huán)尋址方式加到ARx中去
2023/1/12第3章TMS320C54x的指令系統(tǒng)2.雙操作數(shù)尋址在指令中,由于只有2位可以用于選擇輔助寄存器,所以根據(jù)Xar或Yar的值可以選擇4個寄存器。Xar和Yar域選擇的輔助寄存器Xar、Yar輔助寄存器00011011AR2AR3AR4AR52023/1/12第3章TMS320C54x的指令系統(tǒng)
間接尋址特點:通過輔助寄存器和輔助寄存器指針來尋址數(shù)據(jù)空間存儲單元,并自動實現(xiàn)增量、減量、變址尋址、循環(huán)尋址,共有16種修正地址的方式。用途:用于需要按固定步長尋址的場合。
間接尋址2023/1/12存儲器映射寄存器(MMR)尋址存儲器映射寄存器尋址用來修改存儲器映射寄存器而不影響當(dāng)前數(shù)據(jù)頁指針(DP)或堆棧指針(SP)的值。存儲器映射寄存器尋址既可以在直接尋址中使用,又可以在間接尋址中使用。2023/1/12第3章TMS320C54x的指令系統(tǒng)
存儲器映像寄存器尋址是一種不考慮DP和SP為何值,以0為基地址來訪問MMR的尋址方式。主要用于修改存儲器映像寄存器的內(nèi)容。1.采用直接尋址方式2.采用間接尋址方式
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鉬合金行業(yè)發(fā)展戰(zhàn)略及前景趨勢分析報告
- 2025-2030年中國透明聚丙烯行業(yè)運行狀況及發(fā)展規(guī)劃分析報告
- 2025-2030年中國過氧化二異丙苯行業(yè)運行現(xiàn)狀及發(fā)展前景分析報告
- 2025-2030年中國苗圃產(chǎn)業(yè)市場十三五規(guī)劃及發(fā)展建議分析報告
- 2025-2030年中國納米銀市場運行態(tài)勢及投資戰(zhàn)略研究報告
- 2025-2030年中國紫菜市場競爭格局與發(fā)展策略分析報告
- 2025-2030年中國管殼式換熱器行業(yè)運行態(tài)勢與未來發(fā)展戰(zhàn)略研究報告
- 2025-2030年中國硬質(zhì)纖維板行業(yè)運行態(tài)勢及投資戰(zhàn)略研究報告
- 天津師范大學(xué)津沽學(xué)院《半導(dǎo)體器件》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西交通職業(yè)技術(shù)學(xué)院《測量學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 施工作業(yè)申請表
- 浸出液的凈化與沉積
- 銀行間本幣市場交易員資格考試真題模擬匯編(共586題)
- 苯乙酸安全技術(shù)說明書(msds)
- 幼兒園大班《防欺凌》教案5篇,幼兒園大班防欺凌活動教案
- 衛(wèi)生管理初中級職稱大綱
- 《當(dāng)代網(wǎng)絡(luò)文學(xué)作品發(fā)展研究6300字(論文)》
- 孟氏骨折與蓋氏骨折講解學(xué)習(xí)
- GB/T 9386-2008計算機軟件測試文檔編制規(guī)范
- GB/T 25137-2010鈦及鈦合金鍛件
- 第2課《說和做》課件(共30張ppt) 部編版語文七年級下冊
評論
0/150
提交評論