



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第9章章 TMS320C54x系列系列 DSP的指令系統(tǒng)的指令系統(tǒng)C54x的指令系統(tǒng)的指令系統(tǒng)n匯編指令集匯編指令集n尋址方式尋址方式n指令功能指令功能9.1 尋址方式尋址方式n尋找地址的方法,即如何指定指令和操尋找地址的方法,即如何指定指令和操作數(shù)所在的存儲(chǔ)器單元的地址。作數(shù)所在的存儲(chǔ)器單元的地址。 n尋址方式分:數(shù)據(jù)尋址、程序?qū)ぶ穼ぶ贩绞椒郑簲?shù)據(jù)尋址、程序?qū)ぶ?。nC54x提供了多種高效的尋址方式。提供了多種高效的尋址方式。9.1.1 數(shù)據(jù)尋址數(shù)據(jù)尋址C54x提供提供7種數(shù)據(jù)尋址方式,分別為:種數(shù)據(jù)尋址方式,分別為:(1)立即尋址;)立即尋址;(2)絕對(duì)尋址;)絕對(duì)尋址;(3)累加器尋址
2、;)累加器尋址;(4)直接尋址;)直接尋址;(5)間接尋址;)間接尋址;(6)存儲(chǔ)器映射寄存器尋址;)存儲(chǔ)器映射寄存器尋址;(7)堆棧尋址;)堆棧尋址;一、一、 立即尋址立即尋址n立即尋址:由指令來提供一個(gè)操作數(shù),沒有實(shí)際立即尋址:由指令來提供一個(gè)操作數(shù),沒有實(shí)際尋找操作數(shù)地址的過程。尋找操作數(shù)地址的過程。n包括:包括: 短立即數(shù):短立即數(shù):可以是可以是3、5、8、9位,放在一個(gè)字長位,放在一個(gè)字長的指令中,的指令中, 長立即數(shù):長立即數(shù):16位,放在二個(gè)字長的指令中。位,放在二個(gè)字長的指令中。例:例:將將80h裝入累加器裝入累加器A中,可以寫成:中,可以寫成: LD #80h , A 操作碼
3、操作數(shù)二、二、 絕對(duì)尋址絕對(duì)尋址由指令來提供一個(gè)操作數(shù)的地址。分四種:由指令來提供一個(gè)操作數(shù)的地址。分四種: (1)數(shù)據(jù)存儲(chǔ)器地址尋址:用一個(gè)符號(hào)或一個(gè)數(shù)據(jù))數(shù)據(jù)存儲(chǔ)器地址尋址:用一個(gè)符號(hào)或一個(gè)數(shù)據(jù)來指明數(shù)據(jù)空間的地址。來指明數(shù)據(jù)空間的地址。(2)程序存儲(chǔ)器地址尋址:用一個(gè)符號(hào)或一個(gè)數(shù)值)程序存儲(chǔ)器地址尋址:用一個(gè)符號(hào)或一個(gè)數(shù)值來指明程序空間的地址。來指明程序空間的地址。(3)口地址尋址:用一個(gè)符號(hào)或一個(gè)數(shù)值來指明口)口地址尋址:用一個(gè)符號(hào)或一個(gè)數(shù)值來指明口地址。地址。(4) *(lk)尋址:尋址:*(lk)尋址語句用符號(hào)或數(shù)值來指尋址語句用符號(hào)或數(shù)值來指明數(shù)據(jù)空間的地址。明數(shù)據(jù)空間的地址。例
4、如,要把數(shù)據(jù)空間中地址為例如,要把數(shù)據(jù)空間中地址為SAMPLE的單元的單元中的值復(fù)制到中的值復(fù)制到AR5指示的數(shù)據(jù)空間中的某個(gè)指示的數(shù)據(jù)空間中的某個(gè)單元,可用以下語句:單元,可用以下語句: MVKD SAMPLE, *AR5三、三、 累加器尋址累加器尋址累加器尋址是把累加器的內(nèi)容作為一個(gè)地址,把累加器尋址是把累加器的內(nèi)容作為一個(gè)地址,把程序存儲(chǔ)器當(dāng)作數(shù)據(jù)存儲(chǔ)器來訪問。程序存儲(chǔ)器當(dāng)作數(shù)據(jù)存儲(chǔ)器來訪問。例如:例如: READA Smem從累加器從累加器A A指示的程序存儲(chǔ)器單元中傳送一個(gè)字指示的程序存儲(chǔ)器單元中傳送一個(gè)字到到SmemSmem指明的數(shù)據(jù)存儲(chǔ)器單元中。指明的數(shù)據(jù)存儲(chǔ)器單元中。 四、四、
5、直接尋址直接尋址 基地址基地址 + + 偏移地址偏移地址 數(shù)據(jù)頁指針寄存器數(shù)據(jù)頁指針寄存器DP DP 指令中指令中 / /堆棧指針寄存器堆棧指針寄存器SP SP 低低7 7位位 高高9 9位位 例如:例如: ADD SAMPLEADD SAMPLE,B B SAMPLE SAMPLE是是指令字中包含指令字中包含的地址的的地址的低低7 7位,而高位,而高9 9位由位由DPDP或或SPSP提供。提供。 若由若由DPDP提供:則提供:則DPDP和低和低7 7位拼接成位拼接成1616位地址;位地址; 若由若由SPSP提供:則提供:則SPSP和低和低7 7位相加成位相加成1616位地址。位地址。五、五、
6、 間接尋址間接尋址n8 8個(gè)個(gè)1616位的輔助寄存器位的輔助寄存器AR0AR0 AR7AR7n存放存放1616位地址對(duì)位地址對(duì)64k64k數(shù)據(jù)空間的任意單元進(jìn)行訪問數(shù)據(jù)空間的任意單元進(jìn)行訪問n對(duì)地址進(jìn)行減量、增量、偏移或變址的修改,還對(duì)地址進(jìn)行減量、增量、偏移或變址的修改,還可以提供循環(huán)和位反向?qū)ぶ???梢蕴峁┭h(huán)和位反向?qū)ぶ贰?尋址功能尋址功能 *ARx: Addr = ARx *ARx+: Addr = ARx ARx = ARx + 1 *ARx+0: Addr = ARx ARx = ARx + AR0 *ARx+0B: Addr = ARx ARx = B(ARx + AR0)正常進(jìn)位
7、正常進(jìn)位 反向進(jìn)位反向進(jìn)位 0100 0100 + 0100 + 0100 1000 0010間接尋址舉例間接尋址舉例 ADD *AR2+, 8, A 加法指令,把當(dāng)前輔助寄存器內(nèi)容定義的數(shù)據(jù)加法指令,把當(dāng)前輔助寄存器內(nèi)容定義的數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)先左移存儲(chǔ)器中的數(shù)據(jù)先左移8位,加到累加器位,加到累加器A中。中。操作完成后,當(dāng)前輔助寄存器內(nèi)容自動(dòng)加操作完成后,當(dāng)前輔助寄存器內(nèi)容自動(dòng)加1(或(或2),即),即AR2 = 17F1H。反向進(jìn)位的應(yīng)用反向進(jìn)位的應(yīng)用在在FFT運(yùn)算中,輸入序列和輸出序列的次序會(huì)被打亂,運(yùn)算中,輸入序列和輸出序列的次序會(huì)被打亂,如如8點(diǎn)點(diǎn)FFT: 輸入輸入 輸出輸出 X(0
8、) XR(0) X(1) XR(4) X(2) XR(2) X(3) XR(6) X(4) XR(1) X(5) XR(5) X(6) XR(3) X(7) XR(7)利用反向進(jìn)位,可以在存儲(chǔ)的同時(shí)完成排序工作利用反向進(jìn)位,可以在存儲(chǔ)的同時(shí)完成排序工作n設(shè)在設(shè)在AR0中存放中存放FFT點(diǎn)數(shù):點(diǎn)數(shù):8n在在AR1中存放序列的基地址:中存放序列的基地址:0200Hn每存完一個(gè)數(shù),每存完一個(gè)數(shù),AR1=B(AR1+AR0)初始化初始化nAR0:0000 0000 0000 1000 8點(diǎn)點(diǎn)FFTnAR1:0000 0010 0000 0000 0200HnAR1:0000 0010 0000 000
9、0 XR(0)存放地址存放地址nAR1:0000 0010 0000 1000 XR(4)存放地址存放地址nAR1:0000 0010 0000 0100 XR(2)存放地址存放地址nAR1:0000 0010 0000 1100 XR(6)存放地址存放地址nAR1:0000 0010 0000 0010 XR(1)存放地址存放地址nAR1:0000 0010 0000 1010 XR(5)存放地址存放地址nAR1:0000 0010 0000 0110 XR(3)存放地址存放地址nAR1:0000 0010 0000 1110 XR(7)存放地址存放地址六、六、存儲(chǔ)器映射寄存器尋址存儲(chǔ)器映射
10、寄存器尋址 存儲(chǔ)器映射寄存器尋址用來修改存儲(chǔ)器映射寄存器存儲(chǔ)器映射寄存器尋址用來修改存儲(chǔ)器映射寄存器。n采用直接尋址方式:數(shù)據(jù)存儲(chǔ)器地址的低采用直接尋址方式:數(shù)據(jù)存儲(chǔ)器地址的低7 7位來自位來自指令字。不管當(dāng)前指令字。不管當(dāng)前DPDP或或SPSP為何值,強(qiáng)制將地址的為何值,強(qiáng)制將地址的高高9 9位清零。位清零。 n采用間接尋址方式:數(shù)據(jù)存儲(chǔ)器地址的低采用間接尋址方式:數(shù)據(jù)存儲(chǔ)器地址的低7 7位來自位來自當(dāng)前輔助寄存器的當(dāng)前輔助寄存器的7 7個(gè)最低位。地址的高個(gè)最低位。地址的高9 9位為零。位為零。輔助寄存器的高輔助寄存器的高 9 9位在操作之后被強(qiáng)制清零。位在操作之后被強(qiáng)制清零。 七、七、堆棧
11、尋址堆棧尋址 n在中斷和調(diào)用子程序時(shí),堆棧用來自動(dòng)存儲(chǔ)程序在中斷和調(diào)用子程序時(shí),堆棧用來自動(dòng)存儲(chǔ)程序計(jì)數(shù)器。計(jì)數(shù)器。n可以用來保存用戶當(dāng)前的程序環(huán)境或要傳送的數(shù)可以用來保存用戶當(dāng)前的程序環(huán)境或要傳送的數(shù)據(jù)值。據(jù)值。n堆棧存放數(shù)據(jù)是從高端地址向低端地址進(jìn)行的。堆棧存放數(shù)據(jù)是從高端地址向低端地址進(jìn)行的。n用一個(gè)用一個(gè)1616位的堆棧指針位的堆棧指針SPSP來尋址堆棧,來尋址堆棧,SPSP總是指總是指向最后存入堆棧的元素。向最后存入堆棧的元素。 訪問堆棧的指令訪問堆棧的指令 PSHD:將一個(gè)數(shù)據(jù)存儲(chǔ)器的值壓入堆棧;將一個(gè)數(shù)據(jù)存儲(chǔ)器的值壓入堆棧; PSHM:將一個(gè)存儲(chǔ)器映射寄存器的值壓入堆棧;:將一個(gè)
12、存儲(chǔ)器映射寄存器的值壓入堆棧; POPD: 將一個(gè)數(shù)據(jù)存儲(chǔ)器的值彈出堆棧;將一個(gè)數(shù)據(jù)存儲(chǔ)器的值彈出堆棧; POPM:將一個(gè)存儲(chǔ)器映射寄存器的值彈出堆棧。將一個(gè)存儲(chǔ)器映射寄存器的值彈出堆棧。 9.1.2 程序?qū)ぶ烦绦驅(qū)ぶ穘程序存儲(chǔ)器中存放程序代碼、系數(shù)表和立即操程序存儲(chǔ)器中存放程序代碼、系數(shù)表和立即操作數(shù)等信息。作數(shù)等信息。nC54x可以通過程序地址總線可以通過程序地址總線PAB來訪問來訪問64k64k字字的程序存儲(chǔ)器。的程序存儲(chǔ)器。nC54x的指令執(zhí)行采用了六段流水線結(jié)構(gòu)的指令執(zhí)行采用了六段流水線結(jié)構(gòu), ,分成分成預(yù)取、取指、譯碼、訪問、讀取和執(zhí)行。預(yù)取、取指、譯碼、訪問、讀取和執(zhí)行。程序?qū)ぶ?/p>
13、所用的寄存器程序?qū)ぶ匪玫募拇嫫鱪程序計(jì)數(shù)器程序計(jì)數(shù)器PCn重復(fù)計(jì)數(shù)器重復(fù)計(jì)數(shù)器RCn塊重復(fù)計(jì)數(shù)器塊重復(fù)計(jì)數(shù)器BRCn塊重復(fù)起始地址寄存器塊重復(fù)起始地址寄存器RSAn塊重復(fù)結(jié)束地址寄存器塊重復(fù)結(jié)束地址寄存器REA 重復(fù)寄重復(fù)寄存器存器程序計(jì)數(shù)器程序計(jì)數(shù)器PCn16-bit16-bit的寄存器;的寄存器;n包含一個(gè)內(nèi)部或外部程序存儲(chǔ)器地址;包含一個(gè)內(nèi)部或外部程序存儲(chǔ)器地址;n正常情況下,正常情況下,PC的值是依次遞增的;的值是依次遞增的;n程序出現(xiàn)了分支時(shí),程序出現(xiàn)了分支時(shí),PC的值就會(huì)出現(xiàn)不連續(xù)的值就會(huì)出現(xiàn)不連續(xù)的情況的情況。重復(fù)計(jì)數(shù)器重復(fù)計(jì)數(shù)器RCn16-bit16-bit的計(jì)數(shù)器,用于單指
14、令循環(huán);的計(jì)數(shù)器,用于單指令循環(huán);n只能由只能由RPT、RPTZ指令裝載,如指令裝載,如 RPT #2 #2;n不能編程修改不能編程修改RC的值;的值;n最大循環(huán)次數(shù)為最大循環(huán)次數(shù)為6553665536。指令塊的循環(huán)指令塊的循環(huán)n塊重復(fù)計(jì)數(shù)器塊重復(fù)計(jì)數(shù)器BRC:存放的值為循環(huán)次數(shù)減:存放的值為循環(huán)次數(shù)減1;n塊重復(fù)起始地址寄存器塊重復(fù)起始地址寄存器RSA:存放要重復(fù)執(zhí)行的:存放要重復(fù)執(zhí)行的指令塊的第一條指令地址。指令塊的第一條指令地址。n塊重復(fù)結(jié)束地址寄存器塊重復(fù)結(jié)束地址寄存器REA:存放要重復(fù)執(zhí)行的:存放要重復(fù)執(zhí)行的指令塊的最后一條指令地址。指令塊的最后一條指令地址。9.2 TMS320C5
15、4x 的指令系統(tǒng)的指令系統(tǒng)C54x的指令集可用兩種形式表達(dá):的指令集可用兩種形式表達(dá):n助記符指令集:助記符指令集與計(jì)算機(jī)匯編語助記符指令集:助記符指令集與計(jì)算機(jī)匯編語言相似,它采用助記符來寫指令,便于用戶記言相似,它采用助記符來寫指令,便于用戶記憶和使用。憶和使用。n代數(shù)指令集:代數(shù)指令集中的指令類似于代數(shù)代數(shù)指令集:代數(shù)指令集中的指令類似于代數(shù)式的表達(dá)方式,運(yùn)算關(guān)系比較清楚明了。式的表達(dá)方式,運(yùn)算關(guān)系比較清楚明了。5種基本操作種基本操作n算術(shù)操作算術(shù)操作n邏輯操作邏輯操作n程序控制操作程序控制操作n裝載和存儲(chǔ)操作裝載和存儲(chǔ)操作n單指令重復(fù)運(yùn)算操作單指令重復(fù)運(yùn)算操作1. 算術(shù)操作算術(shù)操作n包
16、括加法、減法、乘法、乘包括加法、減法、乘法、乘/累加、乘累加、乘/減法、減法、加倍指令(加倍指令(32位位操作數(shù)指令)和專用指令。操作數(shù)指令)和專用指令。例例: MAC #345h, A, B 這是一條乘這是一條乘/ /累加指令,立即數(shù)累加指令,立即數(shù)345h與暫存器與暫存器T中的內(nèi)中的內(nèi)容相乘,乘積再加上累加器容相乘,乘積再加上累加器A的內(nèi)容,結(jié)果送到累加的內(nèi)容,結(jié)果送到累加器器B中。中。 用代數(shù)指令表示為:用代數(shù)指令表示為: B = A + #345h * T 2.邏輯操作邏輯操作n包括與、或、異或、移位和測試等指令。包括與、或、異或、移位和測試等指令。例例1 1: XOR A, +3,
17、B 這是一條邏輯操作指令。先將這是一條邏輯操作指令。先將A A中的內(nèi)容左移中的內(nèi)容左移3 3位,再和位,再和B B中的內(nèi)容按位進(jìn)行異或操作,結(jié)果中的內(nèi)容按位進(jìn)行異或操作,結(jié)果放在累加器放在累加器B B中。中。 用代數(shù)指令表示為:用代數(shù)指令表示為: B = B A +33. 程序控制操作程序控制操作n包括跳轉(zhuǎn)、調(diào)用、中斷、返回、重復(fù)、堆棧操包括跳轉(zhuǎn)、調(diào)用、中斷、返回、重復(fù)、堆棧操作和同時(shí)程序控制指令。作和同時(shí)程序控制指令。例例1 1: BANZ 2000h, *AR3- 這是一條控制跳轉(zhuǎn)指令。如果這是一條控制跳轉(zhuǎn)指令。如果AR3AR3 0 0,那么程,那么程序跳轉(zhuǎn)到地址序跳轉(zhuǎn)到地址2000h20
18、00h處開始執(zhí)行;如果處開始執(zhí)行;如果AR3=0AR3=0,那么程序不跳轉(zhuǎn),順序執(zhí)行。操作完成后,那么程序不跳轉(zhuǎn),順序執(zhí)行。操作完成后,AR3AR3內(nèi)容遞減。內(nèi)容遞減。 用代數(shù)指令表示為:用代數(shù)指令表示為: if (*AR3- != 0) goto 2000h 4.裝載和存儲(chǔ)操作裝載和存儲(chǔ)操作n包括裝載、存儲(chǔ)、條件存儲(chǔ)、并行裝載和存儲(chǔ)、包括裝載、存儲(chǔ)、條件存儲(chǔ)、并行裝載和存儲(chǔ)、并行裝載和乘、并行存儲(chǔ)和加并行裝載和乘、并行存儲(chǔ)和加/減、并行存儲(chǔ)減、并行存儲(chǔ)和乘、同時(shí)裝載型和同時(shí)存儲(chǔ)型指令。和乘、同時(shí)裝載型和同時(shí)存儲(chǔ)型指令。 ST B, *AR2- | LD *AR4+,A 這是一條并行裝載和存儲(chǔ)指令,將這是一條并行裝載和存儲(chǔ)指令,將B中的值移位中的值移位后存入后存入AR2內(nèi)容所指定的數(shù)據(jù)存儲(chǔ)器單元,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國內(nèi)銷型苦丁茶數(shù)據(jù)監(jiān)測研究報(bào)告
- 廣東省汕尾市陸豐市碣石鎮(zhèn)2024-2025學(xué)年三年級(jí)上學(xué)期期中測試語文試卷(含答案)
- 幼教面試試題試題及答案
- 英美概況考試試題及答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職教育學(xué)題庫檢測試卷B卷附答案
- 采購與供應(yīng)商分包合同(2篇)
- 詞牌名的文化內(nèi)涵與寫作技巧:小學(xué)高年級(jí)語文古詩教學(xué)教案
- 化學(xué)反應(yīng)與能量化學(xué)科學(xué)教案
- 學(xué)前教育中的寓言故事啟示讀后感
- 房地產(chǎn)行業(yè)智慧社區(qū)與智能家居開發(fā)方案
- 人教版新起點(diǎn)三年級(jí)下冊(cè)英語同步練習(xí)試題(全冊(cè))
- 2025年全球及中國大型不銹鋼鑄件行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 帶電粒子在磁場中的運(yùn)動(dòng)與臨界問題-2025年高考物理易錯(cuò)題專練(解析版)
- 2025年湖南信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 課題申報(bào)參考:低空經(jīng)濟(jì)視角下城市基礎(chǔ)設(shè)施網(wǎng)絡(luò)融合建模與空間聯(lián)合優(yōu)化選址研究
- 【語文】第18課《井岡翠竹》教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語文七年級(jí)下冊(cè)
- 2025年度汽車行業(yè)薪資水平及員工激勵(lì)機(jī)制3篇
- 失語癥的分類及臨床特征
- 循環(huán)流化床鍋爐操作工安全技術(shù)操作規(guī)程模版(3篇)
- AI賦能媒體行業(yè)提升工作效率與質(zhì)量
- 《少兒汽車知識(shí)講座》課件
評(píng)論
0/150
提交評(píng)論