TMS320C5000系列DSP原理及應用(第二版)課件3-2(1)尋址方式_第1頁
TMS320C5000系列DSP原理及應用(第二版)課件3-2(1)尋址方式_第2頁
TMS320C5000系列DSP原理及應用(第二版)課件3-2(1)尋址方式_第3頁
TMS320C5000系列DSP原理及應用(第二版)課件3-2(1)尋址方式_第4頁
TMS320C5000系列DSP原理及應用(第二版)課件3-2(1)尋址方式_第5頁
已閱讀5頁,還剩26頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第3章 尋址方式數據尋址程序尋址

西安交通大學電信學部信通學院喬瑞萍

概念指令指令是DSP運行的最小的功能單元,是指揮計算機硬件運行的命令,是由多個二進制位組成的位串,是DSP硬件可以直接識別和執行的一個信息體。指令格式指令操作碼操作數地址尋址方式獲得下一條指令的地址獲得操作數地址指令的基本形式助記符指令:操作符,操作數基本形式:標號,操作符,操作數1,操作數2,操作數3源操作數在前——操作數1的位置目的操作數在后——操作數3的位置例:LD#0FFH,A指令的數據類型兩種基本的數據形式:16位數和32位數。存儲順序:第一個字處在偶地址,那么第二個字就處在下一個(較高的)地址;第一個字處在奇地址,那么第二個字就處在前一個(較低的)地址。3.1數據尋址方式立即尋址絕對尋址累加器尋址直接尋址間接尋址存儲器映像寄存器尋址堆棧尋址立即尋址定義:指令中已經包含有執行指令所需的OP.D。數值形式:短立即數(3、5、8或9位)和長立即數(16位)指令長度:單字、雙字特點:OP.D就在指令中,運行比較快,并要求較多的存儲空間用途:表示常數,對reg初始化。絕對尋址定義:在指令中包含有所需要的尋址的存儲單元的16位地址(可用其所在單元的地址標號或者16位符號常數來表示)指令長度:至少2個字。特點:允許尋址任何一個數據存儲單元中的OP.D,運行速度較快,并要求較多的存儲空間。用途:用于對尋址速度無苛刻要求的地方。累加器尋址

定義:利用累加器的數值作為地址來讀取程序中的數據。特點:利用累加器指向程序存儲單元的地址。

用途:利用累加器,在程序空間和數據空間之間傳送數據。直接尋址定義:在指令中包含有數據存儲地址的低7位,由這7位數據存儲地址作為偏移地址,與基地址值一起構成16位數據存儲地址。優點:利用這種尋址方式,可以在不改變DP或SP的情況下,隨機的尋址128個存儲單元中的任何一個單元。每條指令只需要一個字。用途:尋址速度快,用于速度成為關鍵的場合。P18,ST1中的CPL間接尋址定義:間接尋址是按照一個輔助reg中的16位地址尋址的。特點:通過輔助reg(AR0—AR7)和輔助reg指針,尋址數據存儲空間的任何一個單元,并自動的增量,減量,變址尋址和循環尋址。用途:共有16種修正地址的方式,用于需要按固定步長步進尋址的場合。優點:一種靈活的尋址方式。(1)位碼倒序尋址功能P37例:對于16點FFT,設定(AR2)=0060h(存放數據存儲器的基地址01100000B,指向X(0)),(AR0)=0008h,(N/2=8),利用以下兩條指令就可以向外設口輸出正序后的FFT變換結果。

RPT

#15PORTW*AR2+0B,PA0;PA0輸出數據16位單尋址

說明:*AR2+0B;地址=AR2;尋址結束后,AR2用反向傳送進位的方法將;AR0加至AR2

;AR2=B(AR2+AR0)

;位倒序輔助reg修改順序結果:*AR2+0B;第一次(0060H)X(0)0110000000001000+01101000送出第二次第三次(0068H)X(1)011010000000100001100100(0064H)X(2)+從左向右反向傳送進位結果:*AR2+0B;AR2=011000001000010011000010101001101110(0次)X(0)(1次)X(1)X(2)X(3)X(4)X(5)X(6)X(7)(2)循環尋址功能用途:卷積,相關,FIRFilter——保存最后一批數據。循環緩沖區的長度放在BK中,由指令STM #lK,BK實現。說明:長度為R的buffer必須從N位地址的邊界開始(即循環buffer的基地址必須從××××00…0(N個)開始),N滿足2N>R。

循環準則:

1.當2N>R時,必須從N位地址邊界開始2.stepR

3.第一次循環隊列被尋址,ARx必須指向循環隊列中一元素循環尋址算法如下:

If0index+step<BK;index=index+step;Elseifindex+stepBK;index=index+step-BK;Elseifindex+step<0;index=index+step+BK說明:index:ARx的低N位,循環緩沖區的偏移量

step:從Arx中加、減的量。實現循環緩沖區間接尋址的關鍵問題是:必須利用BK(緩沖區長度)reg實現按模間接尋址 *ARx±%;*ARx±0%;*ARx(lk)%2k>N例:緩沖區長度N=5,(0065H)=(0060H) STM #5,BK0060H0061H0062H0063H0064H0065H存儲器映像寄存器尋址

存儲器映像寄存器尋址是一種基地址為零(不考慮DP,SP和CPL)的直接尋址,尋址速度快。用途:直接用MMR的名字快速訪問數據存儲器的0頁資源。例:LDMMMR,ALDMBH,A堆棧尋址定義:堆棧尋址是利用堆棧指針(SP)來尋址。SP始終指向所存放的最后一個數據。特點:有4條指令執行壓入/彈出堆棧操作。 (PSHD ;PSHM ;POPD ;POPM)用途:將數據保存至堆?;驈亩褩棾觥?/p>

例:PSHMBRC程序存儲器地址生成方式程序計數器分支轉移調用與返回條件操作重復操作復位操作 應用程序代碼程存中存放 系數表立即OP.D

PAGENPCRepeatregisterRCBRCRSAREAPC——16位計數器,保存某個內部或外部程存地址。

加載PC的幾種途徑如下:復位 PC=FF80H順序執行指令 PC=PC+1分支轉移由累加器分支轉移塊重復循環子程序調用從累加器調用子程序硬件中斷或軟件中斷分支轉移分支轉移操作有兩種形式:有條件分支轉移和無條件分支轉移,兩者都可以帶延遲操作和不帶延遲操作。調試程序時會發現,當分支轉移指令到達流水線的執行階段時,其后面兩個指令字則已經被取指了。這兩個指令字如何處置,則取決于此分支指令是帶延遲的還是不帶延遲的。好處:合理設計好延遲轉移指令,可以提高程序的效率。注意:緊跟在延遲指令后面的2個字,不能是造成PC不連續的指令。

例:BCnew,AGT,AOV調用與返回無條件調用與返回和有條件調用與返回都有可能帶延遲和不帶延遲操作。RETF[D]快速返回

RTN中返回地址加載PC,并開放中斷。XPC相應的有遠分支,遠調用,遠返回。條件操作分組選擇原則:同一組內,可在A,B或C類中各選一個條件,不能在同一類中選兩個條件。第一組第二組A類B類A類B類C類EQOVTCCBIONEQNOVNTCNCNBIOLTLEQGTGEQ重復操作重復執行單條指令優點:使多周期指令在執行一次后變成單周期指令,大大提高了速度,不需要取指,譯碼。注意:重復指令直到循環完成以前,對所有中斷均不響應。但是對HOLD信號取決于ST1中的HM位。若HM=0,則繼續操作,否則暫停操作。程序塊重復操作‘C54x內部的塊重復計數器(BR

溫馨提示

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

評論

0/150

提交評論