第01講 指令系統(tǒng)1-尋址方式_第1頁
第01講 指令系統(tǒng)1-尋址方式_第2頁
第01講 指令系統(tǒng)1-尋址方式_第3頁
第01講 指令系統(tǒng)1-尋址方式_第4頁
第01講 指令系統(tǒng)1-尋址方式_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

DSP原理及應用

——TMS320VC55x系列浦鐵成putiecheng@163.com*第2頁/共28頁本節(jié)提要引言 存儲空間結構簡介

CPU寄存器尋址方式*第3頁/共28頁引言:(1)TMS320C55x存儲空間結構簡介(1)首先,CPU要知道要做什么?(2)其次,CPU要知道操作數(shù)是誰?在哪?(3)再次,CPU執(zhí)行操作,求和。(4)最后,CPU結果放到那?A+B=C例:+指令助記符:ADDA和B存儲空間分配尋址方式CPU寄存器CPU運算單元C存儲空間分配尋址方式*第4頁/共28頁引言:(1)TMS320C55x存儲空間結構簡介程序空間24位地址,按字節(jié)編址,尋址空間16MB;數(shù)據(jù)空間23位地址,按字編址,尋址空間8MW;I/O空間16位地址,按字編址,尋址空間64KW。*第5頁/共28頁累加器(AC0~AC3)輔助寄存器(AR0~AR7)注:ARnH沒有映射到存儲器空間,只能用XARn訪問引言:(2)TMS320C55x的CPU寄存器*第6頁/共28頁臨時寄存器(T0~T3)用途:①在乘法、乘加、乘減指令中存放被乘數(shù);②存放移位次數(shù)用于加、減和裝載指令;系數(shù)數(shù)據(jù)指針(XCDP/CDP)數(shù)據(jù)頁指針(XDP/DP)引言:(2)TMS320C55x的CPU寄存器狀態(tài)寄存器ST0_55*第7頁/共28頁引言:(2)TMS320C55x的CPU寄存器狀態(tài)寄存器ST1_55狀態(tài)寄存器ST2_55狀態(tài)寄存器ST3_55*第8頁/共28頁3.TMS320C55x的指令系統(tǒng)3.1尋址方式

CPU找到數(shù)據(jù)地址的方法;絕對尋址,直接尋址,間接尋址。3.1.1絕對尋址包括k16絕對尋址、k23絕對尋址和I/O絕對尋址*第9頁/共28頁3.1.1絕對尋址k16絕對尋址(不能與其他指令并行執(zhí)行)操作數(shù)為16位絕對地址*abs16(#k16)23位數(shù)據(jù)地址=DPH(7位)+k16(16位無符號常數(shù))例:DPH=01h,k16=1234h23位地址是?011234h*3.1.1絕對尋址k23絕對尋址(不能與其他指令并行執(zhí)行)操作數(shù)為23位絕對地址*(#k23)23位數(shù)據(jù)地址=k23(23位無符號常數(shù))第10頁/共28頁*第11頁/共28頁I/O絕對尋址(不能與其他指令并行執(zhí)行)代數(shù)指令操作數(shù)為*port(#k16)

助記符指令操作數(shù)為port(#k16)3.1.1絕對尋址*第12頁/共28頁3.1.2直接尋址DP直接尋址23位地址的高7位由DPH提供,用來確定主數(shù)據(jù)頁,其余低16位由DP和7位偏移量兩部分組成。例:DPH=01h,DP=1234h,Doffset=23h,則23位地址?011257h*第13頁/共28頁3.1.2直接尋址SP直接尋址23位地址的高7位由SPH提供,用來確定主數(shù)據(jù)頁,其余低16位由SP和7位偏移量兩部分組成。例:SPH=01h,SP=1234h,Doffset=23h,則23位地址?011257h*3.1.2直接尋址寄存器位尋址使用寄存器位尋址的指令其操作數(shù)是@bitoffset,該操作數(shù)是從寄存器的最低位開始的偏移值。例如,如果bitoffset為0,那么就可以訪問寄存器的最低位;如果bitoffset為3,那么就可以訪問寄存器的位3。Bitoffset的最大值依據(jù)寄存器大小而定,為39或15。只有寄存器的位測試、置位、清零、取反指令支持這種尋址模式。第14頁/共28頁*3.1.2直接尋址PDP直接尋址64K16位的I/O空間分成512個外設數(shù)據(jù)頁,用9位的外設數(shù)據(jù)頁指針PDP表示,其中每一頁有128個字,由指令中的指定的7位偏移值來表示。例如,如果訪問一頁的第一個字,其偏移值為0。第15頁/共28頁例:PDP=001h,Poffset=23h,則16位地址?00A3h*3.1.3間接尋址AR間接尋址

該模式通過一個輔助寄存器ARn(n=0,1,2,3,4,5,6,或7)訪問數(shù)據(jù)空間。

ARn給出地址低16位,ARnH給出地址高7位;

而ST2-55的ARMS位決定了AR間接尋址的操作類型當ARMS=0,DSP模式:CPU提供DSP增強應用的高效執(zhí)行功能。當ARMS=1,控制模式:針對控制系統(tǒng)的應用,CPU能夠優(yōu)化代碼的長度。第16頁/共28頁*AR間接尋址DSP模式序號操作數(shù)地址修改1*ARnARn未修改2*ARn+在生成地址之后增加:16位操作,ARn=ARn+132位操作,ARn=ARn+2

3*ARn在生成地址之后減少:16位操作,ARn=ARn132位操作,ARn=Arn2

4*+ARn在生成地址之前增加:16位操作,ARn=ARn+132位操作,ARn=ARn+25*ARn在生成地址之前減少:16位操作,ARn=ARn132位操作,ARn=ARn2

6*(ARn+T0/AR0)在生成地址之后,ARn加上T0或ARn中16位帶符號的常數(shù):如果C54CM=0,ARn=ARn+T0

如果C54CM=1,ARn=ARn+AR0第17頁/共28頁*第18頁/共28頁AR間接尋址DSP模式(續(xù))7*(ARnT0/AR0)在生成地址之后,ARn減去T0或ARn中16位帶符號的常數(shù):如果C54CM=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR08*ARn(T0/AR0)ARn未被修改。ARn被作為基指針,T0或AR0中16位帶符號常數(shù)被作為偏移量9*(ARn+T0B/AR0B)在生成地址之后,ARn加上T0或ARn中16位帶符號的常數(shù):如果C54CM=0,ARn=ARn+T0如果C54CM=1,ARn=ARn+AR0按位倒序模式相加

10*(ARnT0B/AR0B)在生成地址之后,ARn減去T0或ARn中16位帶符號的常數(shù):如果C54CM1=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR0按位倒序模式相減[注1]:C54CM是狀態(tài)寄存器ST1-55中TMS320C54x兼容模式。*11*(ARn+T1)在生成地址之后,ARn加上T1中16位帶符號的常數(shù):ARn=ARn+T1

12*(ARnT1)在生成地址之后,ARn減去T1中16位帶符號的常數(shù):ARn=ARnT113*ARn(T1)ARn未被修改。ARn被作為基指針,T1中16位帶符號常數(shù)被作為偏移量14*ARn(#K16)ARn未被修改。ARn被作為基指針,16位帶符號常數(shù)(K16)被作為偏移量15*+ARn(#K16)在地址生成之前,ARn加上16位帶符號常數(shù)(K16)AR間接尋址DSP模式(續(xù))第19頁/共28頁*序號操作數(shù)地址修改1*ARnARn未修改2*ARn+在生成地址之后增加:16位操作,ARn=ARn+132位操作,ARn=ARn+23*ARn在生成地址之后減少:16位操作,ARn=ARn132位操作,ARn=ARn2

4*(ARn+T0/AR0)在生成地址之后,ARn加上T0或AR0中16位帶符號的常數(shù):如果C54CM=0,ARn=ARn+T0如果C54CM=1,ARn=ARn+AR0

5*(ARnT0/AR0)在生成地址之后,ARn減去T0或AR0中16位帶符號的常數(shù):如果C54CM=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR0

AR間接尋址控制模式

第20頁/共28頁*

AR間接尋址控制模式(續(xù))6*ARn(T0/AR0)ARn未被修改。ARn被作為基指針,T0或AR0中16位帶符號常數(shù)被作為偏移量7*ARn(#K16)ARn未被修改。ARn被作為基指針,16位帶符號常數(shù)(k16)被作為偏移量8*+ARn(#K16)在地址生成之前,ARn加上16位帶符號常數(shù)(k16)9*ARn(short(#k3))ARn未被修改。ARn被作為基指針,3位帶符號常數(shù)(k13)被作為偏移量第21頁/共28頁*3.1.3間接尋址雙AR間接尋址

雙AR間接尋址模式可以通過8個輔助寄存器(AR0--AR7)同時訪問兩個數(shù)據(jù)存儲單元,與單個AR間接訪問數(shù)據(jù)空間一樣,CPU使用一個擴展輔助寄存器產(chǎn)生23位地址。雙AR間接尋址可以實現(xiàn)以下功能:

(1)執(zhí)行一條可完成兩個16位數(shù)據(jù)空間訪問的指令。在這種情況下,兩個數(shù)據(jù)存儲操作數(shù)在指令中為Xmem和Ymem。例如:

ADDXmem,Ymem,ACx

(2)并行執(zhí)行兩條指令。在這種情況下,必須每條指令訪問一個存儲數(shù)據(jù),操作數(shù)在指令指令中是Smem或Lmem。

MOVSmem,dst||ANDSmem,src,dst

雙AR間接尋址操作數(shù)是AR間接尋址操作數(shù)的子集,而ARMS狀態(tài)位不影響雙AR間接尋址的操作。第22頁/共28頁*

雙AR間接尋址操作數(shù)

序號操作數(shù)地址修改1*ARnARn未修改2*ARn+在生成地址之后增加:16位操作,ARn=ARn+132位操作,ARn=ARn+23*ARn在生成地址之后減少:16位操作,ARn=ARn132位操作,ARn=ARn24*(ARn+T0/AR0)在生成地址之后,ARn加上T0或AR0中16位帶符號的常數(shù):如果C54CM=0,ARn=ARn+T0如果C54CM=1,ARn=ARn+AR0第23頁/共28頁*

雙AR間接尋址操作數(shù)(續(xù))序號操作數(shù)地址修改5*(ARnT0/AR0)在生成地址之后,ARn減去T0或AR0中16位帶符號的常數(shù):如果C54CM=0,ARn=ARnT0如果C54CM=1,ARn=ARnAR0

6*ARn(T0/AR0)ARn未被修改。ARn被作為基指針,T0或AR0中16位帶符號常數(shù)被作為偏移量7*(ARn+T1)在生成地址之后,ARn加上T1中16位帶符號的常數(shù):ARn=ARn+T1

8*(ARnT1)在生成地址之后,ARn減去T1中16位帶符號的常數(shù):ARn=ARn-T1第24頁/共28頁*3.1.3間接尋址CDP間接尋址

CDP間接尋址模式使用系數(shù)數(shù)據(jù)指針(CDP)對數(shù)據(jù)空間、寄存器位和I/O空間進行訪問。序號操作數(shù)地址修改1*CDPCDP未修改2*CDP+在生成地址之后增加:16位操作,CDP=CDP+132位操作,CDP=CDP+23*CD

溫馨提示

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

評論

0/150

提交評論