第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ù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

DSP原理及應(yīng)用

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

CPU寄存器尋址方式*第3頁/共28頁引言:(1)TMS320C55x存儲空間結(jié)構(gòu)簡介(1)首先,CPU要知道要做什么?(2)其次,CPU要知道操作數(shù)是誰?在哪?(3)再次,CPU執(zhí)行操作,求和。(4)最后,CPU結(jié)果放到那?A+B=C例:+指令助記符:ADDA和B存儲空間分配尋址方式CPU寄存器CPU運(yùn)算單元C存儲空間分配尋址方式*第4頁/共28頁引言:(1)TMS320C55x存儲空間結(jié)構(gòu)簡介程序空間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è)數(shù)據(jù)頁,用9位的外設(shè)數(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間接尋址的操作類型當(dāng)ARMS=0,DSP模式:CPU提供DSP增強(qiáng)應(yīng)用的高效執(zhí)行功能。當(dāng)ARMS=1,控制模式:針對控制系統(tǒng)的應(yī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使用一個擴(kuò)展輔助寄存器產(chǎn)生23位地址。雙AR間接尋址可以實(shí)現(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空間進(jìn)行訪問。序號操作數(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論