第3章__TMS320C55x的指令系統(tǒng)_第1頁
第3章__TMS320C55x的指令系統(tǒng)_第2頁
第3章__TMS320C55x的指令系統(tǒng)_第3頁
第3章__TMS320C55x的指令系統(tǒng)_第4頁
第3章__TMS320C55x的指令系統(tǒng)_第5頁
已閱讀5頁,還剩186頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1 12022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2 23.1 尋址方式尋址方式3.2 TMS320C55x的指令系統(tǒng)的指令系統(tǒng)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3 32022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4 4 絕對尋址模式有三種,它們分別是:絕對尋址模式有三種,它

2、們分別是:k16絕對尋址、絕對尋址、k23絕對尋址和絕對尋址和I/O絕對尋址。絕對尋址。 使用該模式尋址的指令其操作數(shù)為使用該模式尋址的指令其操作數(shù)為*abs16(#k16),其,其中中k16是一個是一個16位的無符號常數(shù)。尋址方法是將位的無符號常數(shù)。尋址方法是將7位的寄存位的寄存器器DPH(擴展數(shù)據(jù)頁指針(擴展數(shù)據(jù)頁指針XDP的高位部分)和的高位部分)和k16級聯(lián)形級聯(lián)形成一個成一個23位的地址,用于對數(shù)據(jù)空間的訪問。該模式可以位的地址,用于對數(shù)據(jù)空間的訪問。該模式可以訪問一個存儲單元和一個存儲映射寄存器。訪問一個存儲單元和一個存儲映射寄存器。 2022-4-282022-4-28TMS32

3、0C55x DSPTMS320C55x DSP原理及應用原理及應用5 5. k16絕對尋址模式絕對尋址模式 *由于對指令進行了擴展,使用該模式尋址的指令不能與其他指令并行執(zhí)行。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6 62022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用7 7 使用該模式尋址的指令其操作數(shù)為使用該模式尋址的指令其操作數(shù)為*(#k23),其中,其中k23是是一個一個23位的無符號常數(shù)。如圖位的無符號常數(shù)。如圖3-2所示。使用這種尋址方法的所示。使

4、用這種尋址方法的指令將常數(shù)編碼為指令將常數(shù)編碼為3字節(jié)(去掉最高位),與字節(jié)(去掉最高位),與k16絕對尋址一絕對尋址一樣,使用該模式尋址的指令不能與其他指令并行執(zhí)行。樣,使用該模式尋址的指令不能與其他指令并行執(zhí)行。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8 82022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用9 9 對于對于I/O絕對尋址模式,如果使用代數(shù)指令,其操作數(shù)絕對尋址模式,如果使用代數(shù)指令,其操作數(shù)是是*port(#k16),其中,其中k16是一個是

5、一個16位無符號常數(shù);如果使位無符號常數(shù);如果使用助記符指令,其操作數(shù)是用助記符指令,其操作數(shù)是port(#k16)(操作數(shù)前沒有(操作數(shù)前沒有*)。如下所示,使用該模式的指令將常數(shù)編碼為。如下所示,使用該模式的指令將常數(shù)編碼為2字節(jié)。同樣字節(jié)。同樣,該指令不能與其他指令并行執(zhí)行。,該指令不能與其他指令并行執(zhí)行。 2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用10102022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1111 直接尋址有以下幾種方式:數(shù)據(jù)頁指針(直接尋

6、址有以下幾種方式:數(shù)據(jù)頁指針(DP)直接)直接尋址、堆棧指針(尋址、堆棧指針(SP)直接尋址、寄存器位直接尋址和)直接尋址、寄存器位直接尋址和外設數(shù)據(jù)頁指針(外設數(shù)據(jù)頁指針(PDP)直接尋址。其中,)直接尋址。其中,DP直接尋址直接尋址和和SP直接尋址與狀態(tài)寄存器直接尋址與狀態(tài)寄存器ST1-55的的CPL 位位(Compiler mode bit)有關:有關: 當當CPL=0,采用,采用DP直接尋址模式直接尋址模式 當當CPL=1,采用,采用SP直接尋址模式直接尋址模式 2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1212 在

7、在DP直接尋址方法中,直接尋址方法中,23位地址的形成如圖位地址的形成如圖3-3所示。其中高所示。其中高7位由位由DPH提供,用來確定主數(shù)提供,用來確定主數(shù)據(jù)頁,其余低據(jù)頁,其余低16位由兩部分組成。位由兩部分組成。(1)DP:DP確定在主數(shù)據(jù)頁內(nèi)長度為確定在主數(shù)據(jù)頁內(nèi)長度為128字節(jié)的局部數(shù)據(jù)字節(jié)的局部數(shù)據(jù)頁的起始地址,該起始地址可以是主數(shù)據(jù)頁內(nèi)的任何地址。頁的起始地址,該起始地址可以是主數(shù)據(jù)頁內(nèi)的任何地址。 (2)由匯編器計算出的)由匯編器計算出的7位偏移量(位偏移量(Doffset):偏移量的計):偏移量的計算與訪問的是數(shù)據(jù)空間還是存儲映射寄存器(限定詞是算與訪問的是數(shù)據(jù)空間還是存儲映射

8、寄存器(限定詞是mmap( ))有關。)有關。 2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1313 XDPDP直接尋址模式直接尋址模式 XDP2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用14142022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1515 當一條指令采用當一條指令采用SP直接尋址模式,直接尋址模式,23位地址的形成如位地址的形成如圖所示。其中,圖所示。其中,SPH確定高確定高7位地址

9、,其余位地址,其余16位地址由位地址由SP和和7位偏移量決定,偏移量的范圍是位偏移量決定,偏移量的范圍是0127。由。由SPH和和SP構成了擴展數(shù)據(jù)堆棧指針構成了擴展數(shù)據(jù)堆棧指針XSP。 2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1616 SP直接尋址模式直接尋址模式 XSP000 00000000 0000 0000 0000000 00010000 0000 0000 0000111 11110000 0000 0000 0000XSP2022-4-282022-4-28TMS320C55x DSPTMS320C55x

10、DSP原理及應用原理及應用17172022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用1818 使用寄存器位尋址的指令其操作數(shù)是使用寄存器位尋址的指令其操作數(shù)是bitoffset,該操,該操作數(shù)是從寄存器的最低位開始的偏移值。例如,如果作數(shù)是從寄存器的最低位開始的偏移值。例如,如果bitoffset為為0,那么就可以訪問寄存器的最低位;如果,那么就可以訪問寄存器的最低位;如果bitoffset為為3,那么就可以訪問寄存器的位,那么就可以訪問寄存器的位3。 2022-4-282022-4-28TMS320C55x DSPTMS320C5

11、5x DSP原理及應用原理及應用1919例,例,bitoffset用于對寄存器位的尋址。用于對寄存器位的尋址。BSET 0,AC3 ; 將將AC3的位的位0置為置為1BTSTP 30,AC3; 把把AC3的位的位30和位和位31分別復分別復制到狀態(tài)寄存器制到狀態(tài)寄存器ST0_55的位的位TC1和和TC22022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2020 當一條指令使用當一條指令使用PDP直接尋址模式,直接尋址模式,16位位I/O地址的地址的形成如圖形成如圖3-5所示。所示。64K 16位的位的I/O空間分成空間分成512個外

12、設數(shù)個外設數(shù)據(jù)頁,用據(jù)頁,用9位的外設數(shù)據(jù)頁指針位的外設數(shù)據(jù)頁指針PDP表示,其中每一頁有表示,其中每一頁有128個字,由指令中的指定的個字,由指令中的指定的7位偏移值來表示。例如,如位偏移值來表示。例如,如果訪問一頁的第一個字,其偏移值為果訪問一頁的第一個字,其偏移值為0。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2121 PDP直接尋址模式直接尋址模式 0000 0000 0000 0000000 0000 1000 0000000 0001 0.000 0000111 1111 1000 00002022-4-2820

13、22-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用22222022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2323 CPU支持的間接尋址模式有支持的間接尋址模式有AR間接尋址、雙間接尋址、雙AR間間接尋址、接尋址、CDP間接尋址和系數(shù)間接尋址。利用這些模式間接尋址和系數(shù)間接尋址。利用這些模式可以進行線性或循環(huán)尋址??梢赃M行線性或循環(huán)尋址。 該模式通過一個輔助寄存器該模式通過一個輔助寄存器ARn(n=0,1,2,3,4,5,6,或,或7)訪問數(shù)據(jù)空間。而)訪問數(shù)據(jù)空間。而ST2-55的的ARM

14、S位決定了位決定了AR間接尋址的操作類型間接尋址的操作類型: 當當 ARMS=0,DSP模式:模式:CPU提供提供DSP增強應用的高增強應用的高 效執(zhí)行功能。效執(zhí)行功能。 當當ARMS=1,控制模式:針對控制系統(tǒng)的應用,控制模式:針對控制系統(tǒng)的應用,CPU能夠優(yōu)化代碼的長度。能夠優(yōu)化代碼的長度。 下面分別給出了下面分別給出了AR間接尋址的間接尋址的DSP模式和控制模式。模式和控制模式。 2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2424AR間接尋址間接尋址DSP模式模式2022-4-282022-4-28TMS320C55x

15、 DSPTMS320C55x DSP原理及應用原理及應用2525AR間接尋址間接尋址DSP模式模式(續(xù))續(xù))在生成地址之后,ARn 減去T0或ARn 中16位帶符號的常數(shù):如果C54CM = 0,ARn =ARnT0在生成地址之后,ARn 加上T0或ARn 中16位帶符號的常數(shù):如果C54CM = 0,ARn =ARn + T0如果C54CM = 1,ARn =ARn + AR0在生成地址之后,ARn 減去T0或ARn 中16位帶符號的常數(shù):如果C54CM 1= 0,ARn =ARnT0如果C54CM = 1,ARn =ARnAR0在生成地址之后,ARn 加上T1中16位帶符號的常數(shù):在生成地

16、址之后,ARn 減去T1中16位帶符號的常數(shù):注1:C54CM是狀態(tài)寄存器ST1-55中TMS320C54x兼容模式。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2626在生成地址之后,ARn 加上T1中16位帶符號的常數(shù):在生成地址之后,ARn 減去T1中16位帶符號的常數(shù):在生成地址之后,ARn 加上T1中16位帶符號的常數(shù):在生成地址之后,ARn 減去T1中16位帶符號的常數(shù):AR間接尋址間接尋址DSP模式模式(續(xù))續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用

17、原理及應用2727在生成地址之后增加:16位操作,ARn =ARn + 1 AR間接尋址控制模式間接尋址控制模式 2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2828 AR間接尋址控制模式間接尋址控制模式 (續(xù))(續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用2929注:注:1 1、關于長字運算中的、關于長字運算中的* *ARn+ARn+ 舉例說明:舉例說明:ADD dual(ADD dual(* *AR0+),AC1,AC0 AR0+),AC1,AC0 ;

18、32;32位操作位操作2 2、關于位倒序?qū)ぶ贰㈥P于位倒序?qū)ぶ?位倒序?qū)ぶ分饕康氖翘岣邎?zhí)行速度及位倒序?qū)ぶ分饕康氖翘岣邎?zhí)行速度及FFTFFT算法中使算法中使用存儲器的效率。用存儲器的效率。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用30302022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3131WN02121x(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)212121WN121WN2

19、21WN3212121WN021WN2212121WN021WN22121WN02121WN0212121WN021WN0212022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3232存儲單元地址FFT變換結果位碼倒序位碼倒序?qū)ぶ方Y果存儲單元地址FFT變換結果位碼倒序位碼倒序?qū)ぶ方Y果0000X(0)0000X(0)1000X(1)0001X(8)0001X(8)1000X(1)1001X(9)1001X(9)0010X(4)0100X(2)1010X(5)0101X(10)0011X(12)1100X(3)1011X(13)1101

20、X(11)0100X(2)0010X(4)1100X(3)0011X(12)0101X(10)1010X(5)1101X(11)1011X(13)0110X(6)0110X(6)1110X(7)0111X(14)0111X(14)1110X(7)1111X(15)1111X(15)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3333 雙雙AR間接尋址模式可以通過間接尋址模式可以通過8個輔助寄存器(個輔助寄存器(AR0AR7)同時訪問兩個數(shù)據(jù)存儲單元,與單個同時訪問兩個數(shù)據(jù)存儲單元,與單個AR間接訪問數(shù)據(jù)空間一樣,間接訪問數(shù)據(jù)空

21、間一樣,CPU使用一個擴展輔助寄存器產(chǎn)生使用一個擴展輔助寄存器產(chǎn)生23位地址。雙位地址。雙AR間接尋址可以間接尋址可以實現(xiàn)以下功能:實現(xiàn)以下功能:(1)執(zhí)行一條可完成兩個)執(zhí)行一條可完成兩個16位數(shù)據(jù)空間訪問的指令。在這種情況位數(shù)據(jù)空間訪問的指令。在這種情況下,兩個數(shù)據(jù)存儲操作數(shù)在指令指令中為下,兩個數(shù)據(jù)存儲操作數(shù)在指令指令中為Xmem和和Ymem。例如:。例如: ADD Xmem,Ymem,ACx(2)并行執(zhí)行兩條指令。在這種情況下,必須每條指令訪問一個)并行執(zhí)行兩條指令。在這種情況下,必須每條指令訪問一個存儲數(shù)據(jù),操作數(shù)在指令指令中是存儲數(shù)據(jù),操作數(shù)在指令指令中是Smem或或Lmem。 M

22、OV Smem,dst | AND Smem,src,dst 雙雙AR間接尋址操作數(shù)是間接尋址操作數(shù)是AR間接尋址操作數(shù)的子集,而間接尋址操作數(shù)的子集,而ARMS狀態(tài)位不影響雙狀態(tài)位不影響雙AR間接尋址的操作。間接尋址的操作。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用34342022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3535 雙雙AR間接尋址操作數(shù)間接尋址操作數(shù) 在生成地址之后增加:16位操作,ARn =ARn + 1在生成地址之后減少:16位操作,ARn

23、 =ARn1在生成地址之后,ARn 加上T0或AR0 中16位帶符號的常數(shù):如果C54CM = 0,ARn =ARn + T02022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3636 雙雙AR間接尋址操作數(shù)間接尋址操作數(shù) (續(xù))續(xù))在生成地址之后,ARn 減去T0或AR0 中16位帶符號的常數(shù):如果C54CM = 0,ARn =ARnT0在生成地址之后,ARn 加上T1中16位帶符號的常數(shù):在生成地址之后,ARn 減去T1中16位帶符號的常數(shù):2022-4-282022-4-28TMS320C55x DSPTMS320C55x D

24、SP原理及應用原理及應用3737 CDP間接尋址模式使用系數(shù)數(shù)據(jù)指針(間接尋址模式使用系數(shù)數(shù)據(jù)指針(CDP)對數(shù)據(jù)空間、寄存器位和)對數(shù)據(jù)空間、寄存器位和I/O空間進行訪問??臻g進行訪問。 在生成地址之后增加:16位操作,CDP = CDP + 1在生成地址之后減少:16位操作,CDP = CDP1在地址生成之前,CDP加上16位帶符號常數(shù)(K16):2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用38382022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用3939 系數(shù)

25、間接尋址模式的地址產(chǎn)生過程與使用系數(shù)間接尋址模式的地址產(chǎn)生過程與使用CDP間接尋址數(shù)據(jù)空間的地址間接尋址數(shù)據(jù)空間的地址產(chǎn)生過程一樣。產(chǎn)生過程一樣。CDP間接尋址模式支持以下算術指令:間接尋址模式支持以下算術指令:FIR濾波、乘法、乘濾波、乘法、乘加、乘減和雙乘加或雙乘減。加、乘減和雙乘加或雙乘減。在生成地址之后增加:16位操作,CDP = CDP + 1在生成地址之后減少:16位操作,CDP = CDP 1在生成地址之后,CDP 加上T0或AR0 中16位帶符號的常數(shù):如果C54CM = 0,CDP =CDP + T02022-4-282022-4-28TMS320C55x DSPTMS320

26、C55x DSP原理及應用原理及應用40402022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4141 C55x DSP的結構特點使其在一個周期內(nèi)可以并行地執(zhí)行兩條指令。的結構特點使其在一個周期內(nèi)可以并行地執(zhí)行兩條指令。C55x支持三種類型的并行指令。支持三種類型的并行指令。(1)單指令中內(nèi)置并行方式)單指令中內(nèi)置并行方式 這類并行指令是由一條指令同時執(zhí)行兩個不同的操作,通常用符號這類并行指令是由一條指令同時執(zhí)行兩個不同的操作,通常用符號“:”來分隔指令的兩個部分,這種并行方式也稱為隱含并行方式。例如來分隔指令的兩個部分,這種并行方

27、式也稱為隱含并行方式。例如:MPY *AR0, *CDP, AC0 : MPY *AR1, *CDP, AC1 這是一條單指令,由這是一條單指令,由AR0引用的數(shù)據(jù)與由引用的數(shù)據(jù)與由CDP引用的系數(shù)相乘,同引用的系數(shù)相乘,同時,由時,由AR1引用的數(shù)據(jù)與該系數(shù)相乘。引用的數(shù)據(jù)與該系數(shù)相乘。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4242(2)用戶自定義的兩條指令間的并行方式)用戶自定義的兩條指令間的并行方式 這類并行指令是用戶或這類并行指令是用戶或C語言編譯器定義的,是由兩條指令同時并語言編譯器定義的,是由兩條指令同時并行

28、執(zhí)行兩個操作,通常用符號行執(zhí)行兩個操作,通常用符號“|”來分隔這兩條指令。例如:來分隔這兩條指令。例如:MPYM *AR1, *CDP, AC1 | XOR AR2, T1 第一條指令在第一條指令在D單元執(zhí)行乘法運算,第二條指令在單元執(zhí)行乘法運算,第二條指令在A單元的單元的ALU執(zhí)執(zhí)行一個邏輯操作。行一個邏輯操作。(3)內(nèi)置與用戶自定義混合的并行方式)內(nèi)置與用戶自定義混合的并行方式 例如:例如: MPYM T3=*AR3+, AC1, AC2 | MOV #5, AR1 第一條指令隱含了內(nèi)置并行方式,第二條指令是用戶自定義的并行第一條指令隱含了內(nèi)置并行方式,第二條指令是用戶自定義的并行方式。方

29、式。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4343在并行指令中,必須遵守三條基本規(guī)則:在并行指令中,必須遵守三條基本規(guī)則: 兩條指令的總長度不能超過兩條指令的總長度不能超過6個字節(jié)。個字節(jié)。 在指令的執(zhí)行過程中不存在操作器、地址產(chǎn)生單元、總線等資源沖突。在指令的執(zhí)行過程中不存在操作器、地址產(chǎn)生單元、總線等資源沖突。 其中一條指令必須有并行使能位或兩條指令符合軟其中一條指令必須有并行使能位或兩條指令符合軟雙并行條件。雙并行條件。下面介紹不能使用并行方式的情況:下面介紹不能使用并行方式的情況:(1)使用立即數(shù)尋址方式)使用立

30、即數(shù)尋址方式 例如:例如:*abs16(#k16)*(#k23)port(#k16)*ARn(K16)*+ARn(K16)*CDP(K16)*+CDP(K16)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4444(2)條件跳轉(zhuǎn)、條件調(diào)用、中斷、復位等程序控制指令)條件跳轉(zhuǎn)、條件調(diào)用、中斷、復位等程序控制指令例如:例如:BCC P24, condCALLCC P24, condIDLEINTR k5RESETTRAP k5(3)使用下列指令或者操作修飾符)使用下列指令或者操作修飾符例如:例如:mmap()port().CR.LR

31、(4)一個單獨的寄存器或存儲器在一個流水線節(jié)拍被讀兩次)一個單獨的寄存器或存儲器在一個流水線節(jié)拍被讀兩次2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4545 單指令在執(zhí)行中要使用操作器、地址產(chǎn)生單元、總線等單指令在執(zhí)行中要使用操作器、地址產(chǎn)生單元、總線等資源,并行的兩條指令在執(zhí)行時要使用兩條單指令執(zhí)行時占資源,并行的兩條指令在執(zhí)行時要使用兩條單指令執(zhí)行時占用的資源。所以,當并行的兩條指令使用用的資源。所以,當并行的兩條指令使用C55x不支持的組合不支持的組合資源時,就會發(fā)生資源沖突。資源時,就會發(fā)生資源沖突。 下面介紹下面介紹

32、C55x的資源。的資源。 (1)運算器)運算器 可使用的操作器有:可使用的操作器有:D單元的單元的ALU、D單元的移位器、單元的移位器、D單元的交換器、單元的交換器、A單元的交換器、單元的交換器、A單元的單元的ALU和和P單元。單元。并行指令執(zhí)行時一個操作器只能使用一次。并行指令執(zhí)行時一個操作器只能使用一次。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4646(2)地址產(chǎn)生單元)地址產(chǎn)生單元 地址產(chǎn)生單元有:地址產(chǎn)生單元有:2個數(shù)據(jù)地址(個數(shù)據(jù)地址(DA)產(chǎn)生單元、)產(chǎn)生單元、1個系個系數(shù)地址(數(shù)地址(CA)產(chǎn)生單元和)產(chǎn)生單

33、元和1個堆棧地址(個堆棧地址(SA)產(chǎn)生單元。)產(chǎn)生單元。 指令執(zhí)行時只能使用給定數(shù)量的數(shù)據(jù)地址產(chǎn)生單元。指令執(zhí)行時只能使用給定數(shù)量的數(shù)據(jù)地址產(chǎn)生單元。(3)總線)總線 可使用的總線有:兩個數(shù)據(jù)讀(可使用的總線有:兩個數(shù)據(jù)讀(DR)總線、一個系數(shù)讀)總線、一個系數(shù)讀(CA)總線、兩個數(shù)據(jù)寫()總線、兩個數(shù)據(jù)寫(DW)總線、一個)總線、一個ACB總線(將總線(將D單元寄存器的內(nèi)容傳送給單元寄存器的內(nèi)容傳送給A單元和單元和P單元的操作器)、一個單元的操作器)、一個KAB總線(立即數(shù)總線)和一個總線(立即數(shù)總線)和一個KDB總線(立即數(shù)總線)??偩€(立即數(shù)總線)。指令執(zhí)行時只能使用給定數(shù)量的總線。指

34、令執(zhí)行時只能使用給定數(shù)量的總線。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4747 引用存儲器操作數(shù)的指令沒有并行使能位。兩條這樣的引用存儲器操作數(shù)的指令沒有并行使能位。兩條這樣的指令可以組成混合并行指令就是軟指令可以組成混合并行指令就是軟雙并行方式。影響軟雙并行方式。影響軟雙并行方式的情況包括:雙并行方式的情況包括: (1)兩個存儲器操作數(shù)必須是雙)兩個存儲器操作數(shù)必須是雙AR間接尋址模式,符間接尋址模式,符合雙合雙AR間接尋址模式的操作數(shù)如下:間接尋址模式的操作數(shù)如下:*ARn*ARn+*ARn*(ARn + AR0)*

35、(ARn + T0)*(ARn AR0)*(ARn T0)*ARn(AR0)*ARn(T0)*(ARn + T1)*(ARn T1)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4848 (2)指令不能包含)指令不能包含high_byte(Smem)和和low_byte(Smem),例如:例如:MOV uns(high_byte(Smem), dstMOV uns(low_byte(Smem), dstMOV low_byte(Smem) #SHIFTW, ACxMOV high_byte(Smem) #SHIFTW, ACxM

36、OV src, high_byte(Smem)MOV src, low_byte(Smem)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用4949 (4)如果指令中的)如果指令中的k4的值是的值是08,就會改變,就會改變XDP 的值,的值,所以,不能與加載所以,不能與加載DP的指令組成并行指令。例如,改變的指令組成并行指令。例如,改變XDP的指令:的指令:BSET k4, ST0_55BCLR k4, ST0_55加載加載DP的指令:的指令:MOV Smem, DPMOV dbl(Lmem), XDPPOPBOTH XDP202

37、2-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5050 (4)讀重復計數(shù)寄存器()讀重復計數(shù)寄存器(RPTC)指令不能和如下的任何)指令不能和如下的任何一個單重復指令組成并行指令。一個單重復指令組成并行指令。RPTRPTADDRPTSUBRPTCC 雖然修改輔助寄存器(雖然修改輔助寄存器(MMR)指令沒有引用存儲器,)指令沒有引用存儲器,而且也沒有并行使能位,但是而且也沒有并行使能位,但是MMR指令可以和如下任何存指令可以和如下任何存儲器引用指令組合成軟儲器引用指令組合成軟雙并行指令。雙并行指令。AADD TAx, TAyAADD k

38、8, TAxAMOV TAx, TAyAMOV k8, TAxASUB TAx, TAyASUB k8, TAxAMOV D16, TAx AMAR Smem2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5151 TMS320C55x是是TMS320家族中的定點數(shù)字信號處理器,家族中的定點數(shù)字信號處理器,可以使用兩種指令集:助記符指令集和代數(shù)指令集。代數(shù)指令可以使用兩種指令集:助記符指令集和代數(shù)指令集。代數(shù)指令集中的指令類似于代數(shù)表達式,運算關系比較清楚明了;助記集中的指令類似于代數(shù)表達式,運算關系比較清楚明了;助記符指令集與計

39、算機匯編語言相似,采用助記符來表示指令。不符指令集與計算機匯編語言相似,采用助記符來表示指令。不過,在編程時只能使用一種指令集。過,在編程時只能使用一種指令集。 助記符指令和代數(shù)指令在功能上是一一對應的,只是表助記符指令和代數(shù)指令在功能上是一一對應的,只是表示形式不同。本節(jié)同時介紹助記符指令和代數(shù)指令,并通過實示形式不同。本節(jié)同時介紹助記符指令和代數(shù)指令,并通過實例來講解例來講解C55x的指令系統(tǒng)。的指令系統(tǒng)。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5252 TMS320C55x指令集按操作類型可分為以下指令集按操作類型可

40、分為以下6種:種:算術運算指令算術運算指令位操作指令位操作指令擴展輔助寄存器操作指令擴展輔助寄存器操作指令邏輯運算指令邏輯運算指令移動指令移動指令程序控制指令程序控制指令 一條指令的屬性包括:指令,執(zhí)行的操作,是否有并行一條指令的屬性包括:指令,執(zhí)行的操作,是否有并行使能位,長度,周期,在流水線上的執(zhí)行階段以及執(zhí)行的功使能位,長度,周期,在流水線上的執(zhí)行階段以及執(zhí)行的功能單元等。下面,將按照這些屬性分類介紹能單元等。下面,將按照這些屬性分類介紹C55x助記符指令助記符指令集。指令集。集。指令集。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應

41、用原理及應用5353(1)加法指令)加法指令加法指令加法指令 指令指令2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5454加法指令加法指令(續(xù))續(xù))ADD uns( Smem),CARRY,ACx,ADD uns( Smem)#SHIFTW,2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5555加法指令有幾點說明:加法指令有幾點說明:l如果目的操作數(shù)是累加器如果目的操作數(shù)是累加器ACx,在,在D單元的單元的ALU中進行中進行運算操作;運算操作;l如果目的操作數(shù)是

42、輔助或臨時寄存器如果目的操作數(shù)是輔助或臨時寄存器TAx,在,在A單元的單元的ALU中進行運算操作;中進行運算操作;l如果目的操作數(shù)是存儲器(如果目的操作數(shù)是存儲器(Smem),在),在D單元的單元的ALU中中進行運算操作;進行運算操作;l如果是移位指令(如果是移位指令(16位立即數(shù)移位除外),在位立即數(shù)移位除外),在D單元移單元移位器中進行運算操作。位器中進行運算操作。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5656 狀態(tài)位狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:CARRY,C54CM,M40,SATA,SA

43、TD,SXMD。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5757 舉例舉例ADD *AR3+, T0, T1 ;AR3間接尋址得到的內(nèi)容與間接尋址得到的內(nèi)容與T0的內(nèi)的內(nèi) ;容相加,結果裝入容相加,結果裝入T1,并將,并將AR3增增1 執(zhí)行前執(zhí)行前AR3T0T1CARRY0302330000數(shù)據(jù)存儲器EF000302執(zhí)行后執(zhí)行后AR3T0T1CARRY0303330022001數(shù)據(jù)存儲器EF0003022022-4-282022-

44、4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5858ADD *AR1T0,AC1,AC0 ;將由將由AR1尋址得到的內(nèi)容左移尋址得到的內(nèi)容左移T0位位 ;與與AC1相加,結果裝入相加,結果裝入AC0 執(zhí)行前執(zhí)行前AC0AC1T0AR1SXMDM40ACOV0CARRY00 0000 000000 2300 0000000C0200數(shù)據(jù)存儲器030002000000執(zhí)行后執(zhí)行后AC0AC1T0AR1SXMDM40ACOV0CARRY00 2330 000000 2300 0000000C0200030002000001數(shù)據(jù)存儲器2022-4-282022-

45、4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用5959(2)減法指令)減法指令 指令指令減法指令減法指令2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6060減法指令(續(xù))減法指令(續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6161減法指令(續(xù))減法指令(續(xù))ACy = ACx uns(Smem)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6262減法

46、指令(續(xù))減法指令(續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6363 指令指令影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:CARRY,C54CM,M40,SATA,SATD,SXMD。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY。 舉例舉例SUB uns(*AR1), BORROW, AC0, AC1 ;將CARRY位求反,AC0減去由AR1尋 ;址得到的內(nèi)容及CARRY的內(nèi)容,并將結果裝入AC1 執(zhí)行前執(zhí)行前AC0AC1AR1CARRY00 EC00 000000

47、0000 000003020數(shù)據(jù)存儲器F0000302執(zhí)行后執(zhí)行后AC0AC1AR1CARRY00 EC00 000000 EBFF 0FFF03021數(shù)據(jù)存儲器F00003022022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6464(3)條件減法)條件減法 指令指令SUBC Smem, ACx, ACy ;if (ACx (Smem = 0) ;ACy = (ACx (Smem #15) #1 + 1 ;else ;ACy = ACx #1 狀態(tài)位狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有: SXMD。 執(zhí)行指令后會受

48、影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVy,CARRY。2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6565 舉例舉例SUBC *AR1, AC0, AC1 ;如果 (AC0 (*AR1)= 0,則 ;AC1 = (AC0 (*AR1) #15) #1 + 1 ;否則AC1 = AC0 #1執(zhí)行前執(zhí)行前AC0AC1AR1SXMDACOV0CARRY23 4300 000000 0000 00000300數(shù)據(jù)存儲器02000300000執(zhí)行后執(zhí)行后AC0AC1AR1SXMDACOV0CARRY23 4300 00004

49、6 8400 00010300數(shù)據(jù)存儲器020003000112022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6666(4)條件加減法)條件加減法 指令指令條件加減法指令條件加減法指令ADDSUBCC Smem, ACx, TCx, ACyACy = adsc(Smem, ACx, TCx)If TCx = 1 ACy = ACx+(Smem#16)ADDSUBCC Smem, ACx, TC1, TC2,ACyACy = adsc(Smem, ACx, TC1, TC2)If TC2=1 ACy=ACxIf TC2=0 and

50、TC1=1ACy=ACx+( Smem#16)If TC2=0 and TC1=0ADDSUBCC Smem, ACx, Tx, TC1, TC2,ACyACy = ads2c(Smem, ACx, Tx, TC1, TC2)If TC2=1 and TC1=1ACy=ACx+( Smem#16)If TC2=0 and TC1=1ACy=ACx+( SmemTx)If TC2=1 and TC1=0ACy=ACx( Smem#16)If TC2=0 and TC1=02022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用6767 狀態(tài)

51、位狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATD,SXMD,TC1,TC2。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVy,CARRY。 舉例舉例ADDSUBCC *AR1, AC0, TC2, AC1 ;如果如果 TC2 = 1 ,則,則AC1= AC0+(*AR1)#16 ;否則否則AC1= AC0(*AR1) #16) + (uns2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用7575 狀態(tài)位狀態(tài)位 舉例舉例影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:FRCT,

52、SMUL,M40,RDM,SATD。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy。MACMR *AR1, *CDP, AC2 ;AC2=rnd(AC2+(*AR1)*(*CDP)執(zhí)行前執(zhí)行前AC2AR1CDPACOV200 EC00 000003020202004002020數(shù)據(jù)存儲器FE000302執(zhí)行后執(zhí)行后AC2AR1CDPACOV200 EC00 000003020202004002021數(shù)據(jù)存儲器FE0003022022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用7676MACMR uns

53、(*AR2+), uns(*AR3+), AC3 ;AC3=rnd(*AR2)*(*AR3)+AC3) ;AR2=AR2+1,AR3=AR3+1 執(zhí)行前執(zhí)行前AC3AR2AR3ACCOV3M40SATDFRCT00 2300 EC0003020202EF00030202020000數(shù)據(jù)存儲器7000執(zhí)行后執(zhí)行后AC3AR2AR3ACCOV3M40SATDFRCT00 9221 EC0003030203EF00030202021000數(shù)據(jù)存儲器70002022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用7777(7)乘減指令)乘減指令

54、指令指令乘減指令乘減指令2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用7878乘減指令(續(xù))乘減指令(續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用7979 狀態(tài)位狀態(tài)位 舉例舉例影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy。MASR T1, AC0, AC1 ;AC1=rnd(AC1AC0*T1) 執(zhí)行前執(zhí)行前AC0AC1T1M4

55、0ACOV1 FRCT00 EC00 000000 3400 00000020000執(zhí)行后執(zhí)行后AC0AC1T1M40ACOV1 FRCT00 EC00 000000 1680 000000200002022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8080(8)雙乘加)雙乘加/雙乘減指令雙乘減指令 指令指令雙乘加雙乘加/雙乘減指令利用雙乘減指令利用D單元的兩個單元的兩個MAC在一個周期內(nèi)同時執(zhí)行兩個乘法在一個周期內(nèi)同時執(zhí)行兩個乘法或乘加或乘加/雙乘減運算。雙乘減運算。 雙乘加雙乘加/雙乘減指令雙乘減指令2022-4-282022-

56、4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8181 雙乘加雙乘加/雙乘減指令雙乘減指令(續(xù))續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8282 雙乘加雙乘加/雙乘減指令雙乘減指令(續(xù))續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8383 雙乘加雙乘加/雙乘減指令雙乘減指令(續(xù))續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8484 狀態(tài)位狀

57、態(tài)位 舉例舉例影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy。MASR40 uns(*AR0), uns(*CDP), AC0 ;AC0=rnd(AC0uns(*AR0)*uns(*CDP): MACR40 uns(*AR1), uns(*CDP), AC1 ;AC1=rnd(AC1+uns(*AR1)*uns(*CDP)2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8585執(zhí)行前執(zhí)行前AC0AC1*A

58、R0*AR1*CDPACOV0ACOV1CARRYFRCT00 6900 000000 0023 00003400EF00A0670000執(zhí)行后執(zhí)行后00 486B 000000 95E3 00003400EF00A0670000AC0AC1*AR0*AR1*CDPACOV0ACOV1CARRYFRCT2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8686(9)雙雙16位算術指令位算術指令 指令指令雙雙16位算術指令利用位算術指令利用D單元中的單元中的ALU在一個周期內(nèi)完成兩個并行的算術運在一個周期內(nèi)完成兩個并行的算術運算,包括

59、一加一減、一減一加、兩個加法或兩個減法算,包括一加一減、一減一加、兩個加法或兩個減法 。 雙雙16位算術指令位算術指令2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8787 雙雙16位算術指令(續(xù))位算術指令(續(xù))2022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8888 狀態(tài)位狀態(tài)位 舉例舉例影響指令執(zhí)行的狀態(tài)位有:影響指令執(zhí)行的狀態(tài)位有:C54CM,SATD,SXMD。 執(zhí)行指令后會受影響的狀態(tài)位:執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY。

60、ADDSUB T1, *AR1, AC1 ;AC1(3916)=(*AR1)+T1 ;| AC1(150)=(*AR1) T12022-4-282022-4-28TMS320C55x DSPTMS320C55x DSP原理及應用原理及應用8989執(zhí)行前執(zhí)行前AC1T1AR1SXMDM40ACOV0CARRY00 2300 000040000201E30002011100數(shù)據(jù)存儲器執(zhí)行后執(zhí)行后AC1T1AR1SXMDM40ACOV0CARRY00 2300 A30040000201E30002011101數(shù)據(jù)存儲器2022-4-282022-4-28TMS320C55x DSPTMS320C55

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論