DSP_C55x期末考試復(fù)習(xí)題_第1頁(yè)
DSP_C55x期末考試復(fù)習(xí)題_第2頁(yè)
DSP_C55x期末考試復(fù)習(xí)題_第3頁(yè)
DSP_C55x期末考試復(fù)習(xí)題_第4頁(yè)
DSP_C55x期末考試復(fù)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1、DSP技術(shù)期末考試課本復(fù)習(xí)題:1、 簡(jiǎn)述數(shù)字信號(hào)處理器的主要特點(diǎn); 答:(1)存儲(chǔ)器采用哈佛或者改進(jìn)的哈佛結(jié)構(gòu);(2)內(nèi)部采用了多級(jí)流水;(3)具有硬件乘法累加單元;(4)可以實(shí)現(xiàn)零開銷循環(huán);(5)采用了特殊的尋址方式;(6)高效的特殊指令;(7)具有豐富的片內(nèi)外設(shè)。2、 請(qǐng)給出數(shù)字信號(hào)處理器的運(yùn)算速度指標(biāo); 答:常見的運(yùn)算速度指標(biāo)有如下幾種:(1) 指令周期:執(zhí)行一條指令所需的最短時(shí)間,數(shù)值等于主頻的倒數(shù);指令周期通常以ns(納秒)為單位。例如,運(yùn)行在200MHz的TMS320VC5510的指令周期為5ns。(2) MIPS:每秒百萬條指令數(shù)。(3) MOPS:每秒百萬次操作數(shù)。(4)

2、MFLOPS:每秒百萬次浮點(diǎn)操作數(shù)。(5) BOPS:每秒十億次操作數(shù)。(6) MAC時(shí)間:一次乘法累加操作花費(fèi)的時(shí)間。大部分DSP芯片可在一個(gè)指令周期內(nèi)完成MAC操作;(7) FFT執(zhí)行時(shí)間:完成N點(diǎn)FFT所需的時(shí)間。FFT運(yùn)算是數(shù)字信號(hào)處理中的典型算法而且應(yīng)用很廣,因此該指標(biāo)常用于衡量DSP芯片的運(yùn)算能力。3、 簡(jiǎn)述C55x的存儲(chǔ)器配置情況;(課本1112頁(yè)) C55x采用統(tǒng)一的存儲(chǔ)空間和I/O空間。C55x的內(nèi)存儲(chǔ)空間共有352KB,外部存儲(chǔ)空間共有16MB。存儲(chǔ)區(qū)支持的寄存器類型有異步SRAM、異步EPROM、同步DRAM和同步突發(fā)SRAM。C55x的I/O空間與程序/地址空間分開。I

3、/O空間的地址為16位,能訪問64K字地址,當(dāng)CPU讀/寫I/O空間時(shí),在16位地址前補(bǔ)0來擴(kuò)展成24位地址。4、 TMS320C55x的尋址空間是多少?當(dāng)CPU訪問程序空間和數(shù)據(jù)空間時(shí),使用的地址是多少位; 答:C55x的尋址空間為16MB,當(dāng)CPU從程序空間讀取程序代碼時(shí),使用24位地址,當(dāng)訪問數(shù)據(jù)空間時(shí),使用23位的地址。但是在訪問數(shù)據(jù)空間時(shí),將23位地址左移一位,并將地址總線上的最低有效位(LSB)置0,使得在對(duì)數(shù)據(jù)空間或程序空間尋址時(shí),地址總線都傳送24位地址。5、 VC5509A的PGE LQFP封裝芯片共有多少個(gè)引腳?其中GPIO引腳有多少個(gè)?并行地址總線引腳有多少個(gè)?并行雙向數(shù)

4、據(jù)總線引腳有多少個(gè)?(此題答案不確定) 芯片共有144個(gè)引腳;GPIO引腳:7個(gè);并行地址總線:14個(gè);并行雙向數(shù)據(jù):16個(gè)6、 C55x的指令分為兩個(gè)階段,第一階段為取指階段,第二階段為執(zhí)行階段;7、 C55x的CPU包含4個(gè)40位的累加器,輔助寄存器ARn有16位,XARn有23位;8、 XF位是寄存器ST1_55中的第13位,它是一通用的輸出位,能用軟件處理且可輸出至DSP引腳。若要使該引腳輸出高電平,可用指令BSET XF;9、 CPL位是寄存器ST1_55中的第14位,指令BCLR CPL的功能是對(duì)CPL清零;10、INTM位是寄存器ST1_55中的第11位,該位能夠使能或禁止可屏蔽

5、中斷,如果INTM=0,C55x使能所有可屏蔽中斷。11、SATA位是寄存器ST3_55中的第5位,如果SATA=1,則執(zhí)行A單元ALU的飽和模式;12、MPNMC位是寄存器ST3_55中的第6位,該位使能或禁止片上ROM,如果MPNMC=0,則為微計(jì)算機(jī)模式,使能片上ROM;(812題在課本41頁(yè)附近)13、VC5509A擁有160K字的片內(nèi)存儲(chǔ)器資源,其中有128K字RAM和32K字ROM。外部擴(kuò)展存儲(chǔ)空間由CE3:0組成,其中CE0的首字地址為0020000H,CE1的首字地址為200000H;(5152頁(yè))14、C55x有32個(gè)中斷向量,中斷向量指針I(yè)VPD、IVPH應(yīng)指向中斷向量表的

6、首地址;15、IER0和IER1的功能是什么? IER0:中斷使能寄存器0;IER1:中斷使能寄存器1。當(dāng)寄存器某位的值為1時(shí),開啟該位所控制的中斷,為0則關(guān)閉該位所控制的中斷。16、請(qǐng)寫出允許定時(shí)器0中斷的指令代碼。17、C55x的不可屏蔽中斷有哪幾種? 三種:硬件中斷RESET,硬件中斷NMI,軟件中斷。18、C55x支持3種類型的尋址方式,分別是絕對(duì)尋址模式;直接尋址模式和間接尋址模式19、什么是絕對(duì)尋址方式?C55x有幾種絕對(duì)尋址方式,分別是什么? 絕對(duì)尋址方式:通過在指令中指定一個(gè)常數(shù)地址完成尋址;有三種絕對(duì)尋址方式:K16絕對(duì)尋址方式,K23絕對(duì)尋址方式,I/O絕對(duì)尋址方式。20、

7、什么是直接尋址方式?C55x有幾種直接尋址方式,分別是什么? 直接尋址方式:使用地址偏移量尋址;有四種直接尋址方式:DP直接尋址,SP直接尋址,寄存器位直接尋址,PDP直接尋址。21、什么是間接尋址方式?C55x有幾種間接尋址方式,分別是什么? 間接尋址方式:使用指針完成尋址;有四種間接尋址方式:AR間接尋址,雙AR間接尋址,CDP間接尋址,系數(shù)間接尋址。22、指令 MOV *abs16(#2002h), T2 采用的是絕對(duì) / k16絕對(duì)尋址方式。設(shè)DPH=03h,該指令的功能是#k16=2002H,CPU從032002H處讀取數(shù)據(jù)裝入T2;23、指令 MOV port(0), T2 采用的

8、是直接 / PDP直接尋址方式。設(shè)PDP=511,該指令的功能是PDP:Poffset=FF80H,CPU從FF80H讀取數(shù)據(jù)進(jìn)T2;24、已知AC1=0200FC00H,AR3=0200H,(200)= 3400H,0 MOV *AR3+ #16, AC1執(zhí)行上面指令后,AC1和AR3的值分別是多少? 指令功能是把AR3指向的地址里面的內(nèi)容左移16位(二進(jìn)制左移16位相當(dāng)于十六進(jìn)制左移四位,所以在右邊補(bǔ)四個(gè)0),把AR3指向的地址里面的內(nèi)容左移后的內(nèi)容送進(jìn)AC1,之后指針AC3自加一次。 所以 AC1=34000000H ,AR3=0201H。說明:其實(shí)AC0AC3是40位,如果問AC1的內(nèi)

9、容,則AC1=0034000000H25、已知AC0=EC000000H,AC1=00000000H,AR1=0200H,(200)= 3300H,TC2=1, ADDSUBCC *AR1, AC0, TC2, AC1執(zhí)行上面指令后,AC1、AR1和AC0的值分別是多少?指令功能是:如果TC2=1,則AC1=AC0+(*AR1)#16;否則AC1=AC0(*AR1)#16,這里TC2=1,所以AC1=AC0+(*AR1)#16,AC1=EC000000H+33000000H=11F000000H,AR1=0200H,AC0=EC000000H。說明:其實(shí)AC0AC3是40位,AC0的內(nèi)容是00

10、EC000000H,AC1的內(nèi)容是011F000000H26、在.text、.data和.bss段,初始化段是.text和.data,未初始化段是;.bss27、利用.sect指令可創(chuàng)建已初始化段,利用.usect指令可創(chuàng)建未初始化段;28、請(qǐng)指出匯編語(yǔ)言文件中的偽指令.def、.ref和.global的區(qū)別; 是指在一個(gè)模塊中定義,可以在另一個(gè)模塊中引用的符號(hào).可以用偽指令.def、.ref或.global來定義. .def 在當(dāng)前模塊中定義,可在別的模塊中使用; .ref在當(dāng)前模塊中使用,但在別的模塊中定義; .global全局符號(hào)變量。29、DSP鏈接器命令文件中,MEMORY和SECT

11、IONS偽指令的作用是什么? MEMORY偽指令用來表示實(shí)際存在的目標(biāo)系統(tǒng)中可被使用的存儲(chǔ)器范圍,每個(gè)存儲(chǔ)器范圍都有名字、起始地址和長(zhǎng)度。 SECTIONS偽指令的作用是:描述輸入段怎樣被組合到輸出段內(nèi);在可執(zhí)行程序內(nèi)定義輸出段;規(guī)定在存儲(chǔ)器內(nèi)何處存放置輸出段;允許重命名輸出段。30、CCS有兩種工作模式,分別是軟件仿真器模式和硬件在線編程模式;31、在大存儲(chǔ)模式下編譯代碼時(shí),必須和rts55x.lib運(yùn)行時(shí)間庫(kù)鏈接;32、給出函數(shù)int fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int

12、 i9, int i10)中傳送參數(shù)所使用的寄存器;分別為:AC0, AC1, AC2, AR0, AR1, AR2, AR3, AR4, T0, T1即是longl1存放在AC0,對(duì)應(yīng)下去。33、以下的匯編語(yǔ)句實(shí)現(xiàn)兩個(gè)整型數(shù)的飽和加法,請(qǐng)編寫C語(yǔ)言程序調(diào)用該匯編函數(shù),實(shí)現(xiàn)整數(shù)20000和30000的飽和加法,并在CCS中輸出和的值; .def _sadd_asmfun _sadd_asmfun: BSET ST3_SATA ADD T1, T0 BCLR ST3_SATA RET #include stdio.h main() int c=0; int sadd_asmfun(int a,

13、int b); /聲明函數(shù) c = sadd_asmfun(20000, 30000); printf( c=%d,c); int sadd_asmfun(int a, int b) /定義函數(shù) return _sadd_asmfun(a,b) 34、TMS320VC5509A系統(tǒng)的晶體振蕩器頻率為12MHz,試通過設(shè)置DPLL,使系統(tǒng)的時(shí)鐘頻率為144MHz;(1)使DPLL工作在鎖定模式:D4(PLL ENABL)=1B(這里B表示二進(jìn)制,不是11,下面 的也是,D4表示時(shí)鐘模式寄存器(CLKMD)的第5位,D0為第1位,下面D11D5意 思類似)(2)根據(jù)題意有 144MHz=PLL M

14、ULT/(PLL DIV+1)12MHz (“/”表示除號(hào))解得 PLL MULT/(PLL DIV+1)=12,取PLL DIV=0,PLL MULT=12,即有: D6D5(PLL DIV)=00B,D11D7(PLL MULT)=01100B(3)時(shí)鐘模式寄存器(CLKMD)的其他未均取為0。(時(shí)鐘模式寄存器(CLKMD)共16位)綜合(1)、(2)、(3),得CLKMD=0000 0110 0001 0000 B或者CLKMD=0C10H用匯編予以實(shí)現(xiàn):mov #0000 0110 0001 0000 B, port(#1c00h) 或者 mov 0C10H, port(#1c00h)

15、;1c00h是時(shí)鐘模式寄存器(CLKMD)的地址。35、 設(shè)DSP定時(shí)器輸入時(shí)鐘頻率為100MHz,如果要求定時(shí)器發(fā)送中斷信號(hào)的頻率為1000次每秒,需要如何對(duì)定時(shí)器進(jìn)行設(shè)置?答:根據(jù)公式 輸入時(shí)鐘頻率為100MHz,TINT頻率為1kHz,由于TDDR為4位,這里我們把TDDR設(shè)為9,即TDDR=0101B,則PRD為9999,PRD為16位,即PRD=0010011100001111B =270FH。36、寫出使C5509A的GPIO4、GPIO6和GPIO7引腳輸出高電平的C語(yǔ)言代碼。 #define IODIR (*(ioport unsigned int*)0x3400) #defi

16、ne IODATA (*(ioport unsigned int*)0x3401) IODIR |=0xF0; IODATA |=0xF0;附一歷年考題及答案:通信系DSP原理及應(yīng)用期末考試題(答案)姓名: 學(xué)號(hào): 班級(jí): 分?jǐn)?shù): 考試時(shí)間:15:4017:30 考試方式:開卷;注意:所有答案必須寫在答題紙上,試卷上的答案無效!一、 填空題(每空2分,共20分)1、 在C語(yǔ)言和C55x匯編語(yǔ)言的混合程序設(shè)計(jì)中,C函數(shù)的參數(shù)和返回值傳遞到C55x的寄存器中。在函數(shù)“l(fā)ong func(int *p1, int i2, int i3, int i4)”中,*p1傳遞到 AR0 寄存器,i2傳遞到

17、T0 寄存器,i4傳遞到 AR1 寄存器,返回值由 AC0 寄存器傳遞。2、 匯編語(yǔ)言“mov *AR0,AC0”使用的尋址方式是 間接尋址模式 ,“mov #0x3,DPH”使用的尋址方式是 直接尋址模式 ,“mov *(#0x011234),T2”使用的尋址方式是 絕對(duì)尋址模式 。3、 指令執(zhí)行前AC0的值是0012345678,那么匯編語(yǔ)句“AND #0x7f, AC0”,執(zhí)行之后,AC0的值是 0000000078 。4、 C55x 的鏈接器命令文件中,SECTIONS命令的主要作用是 告訴鏈接器如何將輸入段組合成輸出段,以及在存儲(chǔ)器何處存放輸出 。MEMORY命令的主要作用是 定義目

18、標(biāo)系統(tǒng)的存儲(chǔ)器配置圖,包括對(duì)存儲(chǔ)器各部分的命名,以及規(guī)定它們的起始地址和長(zhǎng)度 。二、簡(jiǎn)述題(共40分)1、 根據(jù)你的理解,試列舉 DSP 芯片的特點(diǎn)?(5分)答:哈佛結(jié)構(gòu);多總線結(jié)構(gòu);指令系統(tǒng)的流水線操作;專用的硬件乘法器;特殊的DSP指令;快速的指令周期;豐富的外設(shè) 2、 TMS320C55x 芯片的總線結(jié)構(gòu)有何特點(diǎn),主要包括哪些總線?它們的功能是什么?(6分) 答:TMS320C55x DSP采用先進(jìn)的哈佛結(jié)構(gòu)并具有十二組總線,其獨(dú)立的程序總線和數(shù)據(jù)總線允許同時(shí)讀取指令和操作數(shù),實(shí)現(xiàn)高度的并行操作。采用各自分開的數(shù)據(jù)總線分別用于讀數(shù)據(jù)和寫數(shù)據(jù),允許CPU在同一個(gè)機(jī)器周期內(nèi)進(jìn)行兩次讀操作數(shù)和

19、一次寫操作數(shù)。獨(dú)立的程序總線和數(shù)據(jù)總線允許CPU同時(shí)訪問程序指令和數(shù)據(jù)。 包括12條總線,分別是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。功能:3、 DSP 為了降低功耗采取了哪些措施?(6分)答:雙電壓供電;多種工作模式4、 TMS320C55x 的總存儲(chǔ)空間為多少?可分為哪 3 類,它們的大小是多少?存儲(chǔ)器空間的各自作用是什么?(6分)答:程序空間16M Byte;I/O空間64K Words;數(shù)據(jù)空間8M Words5、 TMS320C55x有哪些尋址方式,它們是如何尋址的?試為每種尋址方式列舉一條指令(6分)答:直接尋址模式,mov K16,

20、DP;間接尋址模式,mov *AR0,AC0;絕對(duì)尋址模式,mov *(#0x011234),T2;MMR尋址模式,mov *abs16(AR2), T2;寄存器位尋址模式,btstp 30, AC1;圓形尋址模式。6、 將C源程序轉(zhuǎn)換成可執(zhí)行文件需要經(jīng)過哪些步驟?(6分)答:創(chuàng)建C源文件;創(chuàng)建工程文件;創(chuàng)建連接器命令文件;編譯整個(gè)工程文件;鏈接;生成可執(zhí)行文件7、 常用的TMS320C55x匯編命令有哪些,它們的作用是什么?(5分)三、程序設(shè)計(jì)題(共40分)1、 用C55x匯編語(yǔ)言實(shí)現(xiàn)計(jì)算 的程序。(10分)答:mpym *AR0+, *AR1+, AC0mpym *AR0+, *AR1+,

21、 AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0或者:mpym *AR0+, *AR1+, AC0 |rpt #2 macm *AR0+, *AR1+, AC02、 用C55x匯編語(yǔ)言實(shí)現(xiàn)計(jì)算 的程序。(10分)答:mpym *AR0+, *AR1+, AC3 masm *AR0+, *AR1+, AC33、 以8點(diǎn)的FFT為例,用C55x的匯編語(yǔ)言實(shí)現(xiàn)FFT的算法,并且解釋該算法的實(shí)現(xiàn)方法。(20分)答: .sect fft_code _fft: aadd #(ARGS-S

22、ize+1),SP ; Adjust stack for local vars mov mmap(ST1_55),AR2 ; Save ST1,ST3 mov mmap(ST3_55),AR3 mov AR2,fft.d_ST1 mov AR3,fft.d_ST3 btst #0,T1,TC1 ; Check SCALE flag set mov #0x6340,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM,FRCT (SCALE=1) mov #0x1f22,mmap(ST3_55) ; Set: HINT,SATA,SMUL xcc do_scale,TC1 mo

23、v #0x6300,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM (SCALE=2) do_scale mov T2,fft.d_T2 ; Save T2 | mov #1,AC0 mov AC0,fft.d_L ; Initialize L=1| sfts AC0,T0 ; T0=EXP mov AC0,fft.d_N ; N=1EXP mov XAR1,XCDP ; CDP = pointer to U mov XSP,XAR4 add #fft.d_temp,AR4 ; AR4 = pointer to temp mov XAR0,XAR1 ; AR1 poin

24、ts to sample buffer mov T0,T1 mov XAR0,XAR5 ; Copy externd bits to XAR5outer_loop ; for (L=1; L=EXP; L+) mov fft.d_L,T0 ; note: Since the buffer is| mov #2,AC0 ; arranged in re,im pairs sfts AC0,T0 ; the index to the buffer neg T0 ; is doubled| mov fft.d_N,AC1 ; But the repeat coutners sftl AC1,T0 ; are not doubled mov AC0,T0 ; LE=21 | sfts AC0,#-1 sub #1,AC0 ; Init mid_loop counter mov mmap(AC0L),BRC0 ; BRC0=LE1-1 sub #1,AC1 ; Init inner loop counter mov mmap(AC1L),BRC1 ; BRC1=(NL)-1 add AR1,AR0 mov #0,T2 ; j=0 | rptblocal mid_loop-1 ; for (j=0; jLE1;j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論