DSP實(shí)驗(yàn)--第三章 數(shù)據(jù)尋址方式.ppt_第1頁(yè)
DSP實(shí)驗(yàn)--第三章 數(shù)據(jù)尋址方式.ppt_第2頁(yè)
DSP實(shí)驗(yàn)--第三章 數(shù)據(jù)尋址方式.ppt_第3頁(yè)
DSP實(shí)驗(yàn)--第三章 數(shù)據(jù)尋址方式.ppt_第4頁(yè)
DSP實(shí)驗(yàn)--第三章 數(shù)據(jù)尋址方式.ppt_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、DSP54.31,1.立即尋址 1)定義: 操作數(shù)被包含在執(zhí)行的指令中; 用來(lái)表示常數(shù)或初始化寄存器,但速度慢, 需要較多的存儲(chǔ)空間; 表示方法 :在數(shù)字前面加 # 號(hào) 2)指令格式: 短立即數(shù)操作數(shù)為 3、5 、8或 9 bit (1 word, 1 cycle) LD #12h, A; 長(zhǎng)立即數(shù)操作數(shù)為 16 bit 常數(shù) (2 words, 2 cycles) LD #1234h, A;,LD A # (opcode),1,2,LD to A # (opcode),1 2 3 4,DSP54.32,立即尋址指令,DSP54.33,2。絕對(duì)尋址 1)定義: 指令中包含有所要尋址的存儲(chǔ)單元的

2、16bit地址; 存儲(chǔ)單元的16bit地址,可以用其所在單元地址的標(biāo) 號(hào)或16bit符號(hào)常數(shù)(常數(shù)前面無(wú) # 號(hào))來(lái)表示; 允許尋址任何一個(gè)dmad,速度慢,需要較多的存儲(chǔ) 空間; 2)4種類型: (dmad) 尋址:用一個(gè)符號(hào)或一個(gè)常數(shù)確定數(shù)據(jù)空間中的 一個(gè)地址;,例: MVKD DATA, *AR5 or its equivalent: MVKD *(DATA), *AR5,DSP54.34, (pmad) 尋址:用一個(gè)符號(hào)或一個(gè)常數(shù)確定程序空間中的 一個(gè)地址;,例: MVDP *AR5-, TABLE or its equivalent: MVDP *AR5-, *(TABLE), (P

3、A) 尋址:用一個(gè)符號(hào)或一個(gè)常數(shù)確定外部I/O口 一個(gè)地址;,例: PORTW OUTPUT, 00B0h or its equivalent: PORTW *(OUTPUT), 00B0h, *(lk) 尋址:適用于支持所有單數(shù)據(jù)存儲(chǔ)器(Smem)操作數(shù)的 指令;,DSP54.35,3) 絕對(duì)尋址舉例,.data x: .word 1000h y: .word 500h .text LD *(x), A ADD *(y), A,0 0 0 0 0 0 1 0 0 0,0 0 0 0 0 0 1 5 0 0,ACC A,Addr. Data,0180 1001 x: 01FF 1000 y:

4、0200 0500 ,DSP54.36,3。累加器尋址 1)定義: 用累加器中的數(shù)作為地址,用來(lái)對(duì)存放數(shù)據(jù)的程序 存儲(chǔ)器尋址;(用來(lái)讀寫程序存儲(chǔ)器中的數(shù)據(jù)) 通常程序存儲(chǔ)器地址空間是64K字,可以用累加器 的低16位尋址;對(duì)C5402有擴(kuò)展程序存儲(chǔ)空間(尋 址空間為1M),則用累加器的低20位尋址; 指令執(zhí)行周期為 5 cycle; 2)指令語(yǔ)法: READA Smem ; Smem=Pmem(A) WRITA Smem ; Pmem(A)=Smem,DSP54.37,4。直接尋址 1)定義: 由ST0(80bit)=DP(CPL=0)或SP(CPL=1)作 為基地址,指令(opcode)中的

5、低7位作為偏移地址, 共同構(gòu)成16位數(shù)據(jù)存儲(chǔ)器地址(dmad); CPL=0: 15 9 8 0 15 8 7 6 0 ST0 指令碼 157 6 0 數(shù)據(jù)存儲(chǔ)器地址(dmad) CPL=1 : 15 0,Opcode 0 dma,DP,Value from the SP,0 0 0 0 0 0 0 0 0 Value from the IR(dma ),15 7 6 0,9-bit DP 7-bit dma,+,16-bit Data Memory Address, 偏移地址值用符號(hào) 表示;,DSP54.38,2)特點(diǎn) 9位數(shù)據(jù)頁(yè)面指針,涵蓋512頁(yè)面,每頁(yè)128字可以隨機(jī)訪問(wèn); 是一個(gè)單-

6、字單-周期操作; 頁(yè)面尋址DP和堆棧指針尋址SP,兩者只能選擇其中之一, 由ST0(14-bit)=CPL位決定,可以用命令: RSBX CPL ;CPL=0,允許頁(yè)面指針DP尋址 SSBX CPL ; CPL=1,允許堆棧指針SP尋址 復(fù)位時(shí): CPL=0; 若同時(shí)要快速、隨機(jī)訪問(wèn)100個(gè)左右的變量,直接尋址是 有用的, (若無(wú)速度要求,可以用絕對(duì)尋址),DSP54.39, 頁(yè)面指針尋址(DP)用得比較多。但在結(jié)構(gòu)化編程C語(yǔ)言 環(huán)境中,用堆棧指針尋址(SP), 此時(shí)要設(shè)CPL=1; 3)頁(yè)面指針(DP)尋址舉例(教材p.34),.data x: .word 1000 y: .word 500

7、 .text RSBX CPL LD #x, DP LD x, A ADD y, A,Addr. Data 0180 0001 x: 01FF 1000 y: 0200 0500 ,DP 0 0 3 0 0 3 0 0 3,ACC A 00 0000 1000 00 0000 1001,結(jié)果不對(duì),Why?,DSP54.310,4)把數(shù)據(jù)置于同一頁(yè)面方法: 在匯編源文件中設(shè)置,.mmregs .def start .data Tbl .word 1000 .word 500 .bss x, 2, 1 y: .set x+1 .text start MVPD Tbl, *(x) MVPD Tbl+

8、1, *(y) RSBX CPL LD #x, DP LD x, A ADD y, A .end,Addr. Data 0180 0001 x: 0200 1000 y: 0201 0500 ,DP 0 0 4 0 0 4 0 0 4,ACC A 00 0000 1000 00 0000 1500,注意呵, 這里的1!,DSP54.311, 在.cmd文件中聲明:,.bss: RAM BLOCK=128,5)堆棧指針(SP)尋址舉例(教材p.34),.text SSBX CPL LD 1, A ADD 2, A, ,SP 0020 0100 0050 A000,ACC A 0 0 0 0 0

9、0 0 1 0 0 0 0 0 0 0 0 0 1 5 0,DSP54.312,5。間接尋址 1)定義: 根據(jù)8個(gè)輔助寄存器(AR0AR7)中定義的任何一 個(gè)寄存器給出的16-bit地址進(jìn)行尋址; 這是DSP最具特色的尋址方式,它是用硬件來(lái)實(shí)現(xiàn) 數(shù)據(jù)存儲(chǔ)器地址指針; 用符號(hào) “” 表示間接尋址; 絕對(duì)尋址實(shí)際上也是運(yùn)用了間接尋址的硬件; 2)特點(diǎn): 尋址方式靈活:可以從單條指令中讀(或?qū)懀┮粋€(gè) 操作數(shù)、讀兩個(gè)操作數(shù)、讀和寫兩個(gè)順序操作數(shù)等; 兩個(gè)輔助寄存器算術(shù)運(yùn)算單元(ARAU0和ARAU1) 可以進(jìn)行16-bit無(wú)符號(hào)算術(shù)運(yùn)算,從而實(shí)現(xiàn)各種靈活 的尋址功能;,DSP54.313, AR0主要

10、用來(lái)作為尋址下標(biāo)值處理,從而可以任意改 變順序變址長(zhǎng)度; 主要用于訪問(wèn)數(shù)組、表格等順序變址的尋址方式; 具有DSP運(yùn)算中經(jīng)常用到的循環(huán)尋址、碼位到序 (例卷積、相關(guān)、FFT)等特殊尋址功能; 3)單數(shù)據(jù)存儲(chǔ)器(Smem)操作數(shù)的指令代碼格式: 15 8 7 6 3 2 0,OPCODE 1 MOD ARP,用作尋址的ARx指示,15種間接尋址模式指示 1表示間接尋址(0表示絕對(duì)尋址),DSP54.314,4)單數(shù)據(jù)存儲(chǔ)器(Smem)操作數(shù)間接尋址類型 參考教材p.35表113,無(wú)修改 *ARn addr.=ARn 用后增減 *ARn+ addr.=ARn, ARn=ARn+1 *ARn - a

11、ddr.=ARn, ARn=ARn -1 帶下標(biāo)增減 *ARn+0 addr.=ARn, ARn=ARn+AR0 *ARn 0 addr.=ARn, ARn=ARn AR0 循環(huán)增減 *ARn+% addr.=ARn, ARn=circ(ARn+1) *ARn -% addr.=ARn, ARn=circ(ARn -1) *ARn+0% addr.=ARn, ARn=circ(Arn+AR0) *ARn 0% addr.=ARn, ARn=circ(ARn AR0) 倒位序 *ARn+0B addr.=ARn, ARn=B(ARn +AR0) *ARn -0B addr.=ARn, ARn=B

12、(ARn AR0) 先修改 *ARn(lk) addr.=ARn+lk, ARn=ARn *+ARn(lk) addr.=ARn+lk, ARn=ARn+lk *+ARn(lk)% addr.=circ(ARn+lk), ARn=circ(ARn+lk) *+ARn addr.=ARn+1, ARn=ARn+1(只用來(lái)寫) 絕對(duì)尋址 *(lk) addr.=lk,DSP54.315,5)倒位序?qū)ぶ罚裕?6)循環(huán)尋址 在DSP中的卷積、相關(guān)等運(yùn)算都用到緩沖存儲(chǔ)區(qū),它相當(dāng) 數(shù)據(jù)滑窗:,x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 , R=8, 循環(huán)緩沖區(qū)保持?jǐn)?shù)據(jù)不動(dòng)

13、,每次更新最老的數(shù)據(jù),而指針 移動(dòng);,x0 x1 x7 x2 x6 x3 x5 x4,x8 x1 x7 x2 x6 x3 x5 x4,AR2,AR2,DSP54.316,h0 h1 h2 h3 h4 h5 h6 h7,x7 x6 x5 x4 x3 x2 x1 x0,x7 x6 x5 x4 x3 x2 x1 x8,x7 x6 x5 x4 x3 x2 x9 x8,循環(huán)緩沖區(qū),h:,AR4,x:,AR3,AR3,AR3,低,高,循環(huán)緩沖區(qū)的基址必須對(duì)準(zhǔn)2NR 即基地址的低N個(gè)有效位必須是 0 例:R=8,則:N=4 起始地址:(xxxx xxxx xxxx 0000)2,DSP54.317, 一個(gè)例

14、子, STM #h+7, AR4 STM #x+7, AR3 STM #8, BK STM # -1, AR0 LD #x, DP PORTR PA1, x FIR: RPTZ A, #7 MAC *AR3+0%, *AR4+0%, A STH A, *AR3 PORTW *AR3, PA0 BD FIR PORTR PA1, *AR3+0% ,DSP54.318, 循環(huán)尋址要點(diǎn)(見(jiàn)講義 p.120) 邊界對(duì)齊 2N 的方法:偽指令 .align 的應(yīng)用(見(jiàn)講義 p.135) 在.asm 文件中定義:, 在.cmd文件中定義:,x DARAM align 16 PAGE 1 h DARAM a

15、lign 16 PAGE 1,. align 16 x: . usect “x”, 8 . align 16 h: . usect “h”, 8,x: . usect “x”, 8 h: . usect “h”, 8,DSP54.319,7) 雙數(shù)據(jù)存儲(chǔ)器操作數(shù)的尋址方式 定義:一條指令同時(shí)完成兩個(gè)讀或一個(gè)讀并行一個(gè)寫; 這些指令只有一個(gè)字長(zhǎng),且只能以間接尋址方式工作; 雙操作數(shù)指令舉例:,ADD Xmem, Ymem, dst ; dst=Xmem16+Ymem16 MPY Xmem, Ymem, dst ; dst=XmemYmem, T=Xmem MAC Xmem, Ymem, src ,dst ; dst=src+XmemYmem MVDD Xmem, Ymem, ; Ymem=Xmem FIRS Xmem, Ymem, pmad ; B=B+Apmad, ; A=(Xmem+Ymem)16 LMS X

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論