第3-2講-第2章TMS320C55x的硬件結構-狀態(tài)寄存器249-12_第1頁
第3-2講-第2章TMS320C55x的硬件結構-狀態(tài)寄存器249-12_第2頁
第3-2講-第2章TMS320C55x的硬件結構-狀態(tài)寄存器249-12_第3頁
第3-2講-第2章TMS320C55x的硬件結構-狀態(tài)寄存器249-12_第4頁
第3-2講-第2章TMS320C55x的硬件結構-狀態(tài)寄存器249-12_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章TMS320C55x的硬件結構

(第3_2講)狀態(tài)寄存器2.4.9ST0_552.4.10ST1_552.4.11ST2_552.4.12ST3_55StatusRegisters1狀態(tài)寄存器概述4個16位的狀態(tài)寄存器(ST0_55~ST3_55)控制位影響C55xDSP的工作狀態(tài)位反映C55xDSP當前工作狀態(tài)或運行結果ST0_55、ST1_55和ST3_55有兩個訪問地址非保護地址,所有位都可以訪問保護地址,圖2-27中的加黑部分不能修改保護地址是為了支持把C54x的代碼寫入ST0、ST1和PMST22.4.9ST0_5532.4.9ST0_551.累加器溢出標志ACOV0,ACOV1,ACOV2,ACOV32.進位位CARRY3.DP位域4.測試/控制位TC1,TC24被置1:

AC0、AC1、AC2或AC3有溢出時相應的ACOV0、ACOV1、ACOV2或ACOV3被清0:(1)復位;(2)執(zhí)行條件跳轉、調用、返回,或執(zhí)行一條測試ACOVx狀態(tài)的指令;(3)被指令清01.累加器溢出標志overflowflag當M40=0時,溢出檢測在第31位,與C54x兼容。當M40=1時,溢出檢測在第39位。52.進位位(1)進位/借位的檢測取決于M40位M40=0時,由第31位檢測進位/借位M40=1時,由第39位檢測進位/借位carrybit62.進位位(2)D單元ALU運算改變CARRY做加法時產(chǎn)生進位,置位;不產(chǎn)生進位,清0例外:有進位時CARRY置位,無進位時CARRY不變

ADDSmem<<#16,[ACx,]ACy做減法時產(chǎn)生借位,清0;不產(chǎn)生借位,置位。例外:有借位時CARRY清0,無借位時CARRY不變

SUB Smem<<#16,[ACx,]ACy7修改CARRY位的其他方法邏輯移位指令帶符號移位指令和循環(huán)移位指令目的寄存器是累加器時,用以下指令修改CARRY位,以指示計算結果

MIN [src,]dst MAX [src,]dst ABS [src,]dst NEG [src,]dst兩條指令對CARRY清零和置位

BCLR CARRY ;清零

BSET CARRY ;置位83.DP位域提供與C54x兼容的數(shù)據(jù)頁指針C55x有一個獨立的數(shù)據(jù)頁指針DPDP(15-7)的任何變化都會反映在ST0_55的DP位域上基于DP的直接尋址方式,C55x使用完整的數(shù)據(jù)頁指針DP,因此不需要使用ST0_55的DP位域裝入ST0_55,但不改DP位域的值,可用OR或AND指令94.測試/控制位保存一些特殊令的測試結果所有能影響一個測試/控制位的指令,都可以選擇影響TC1還是TC2TCx或關于TCx的布爾表達式,都可以在任何條件指令里用作觸發(fā)器TCx的置位和清零

BCLRTC1; TC1清零 BSET TC2; TC2置位test/controlbit102.4.10ST1_55112.4.10ST1_55ASM位域BRAF位C16位C54CM位CPL位FRCT位HM位INTM位M40位SATD位SXMD位XF位121.ASM位域C54CM=0,C55x忽略ASMC55x移位指令在暫存寄存(T0~T3)里指定累加器的移位值,或者直接在指令里用常數(shù)指定移位值。C54CM=1,C55x以兼容方式運行C54x代碼ASM用于給出某些C54x移位指令的移位值,移位范圍-16~15。132.BRAF位C54CM=0C55x不使用BRAFC54CM=1C55x以兼容方式運行C54x代碼,BRAF用于指定或控制一個塊循環(huán)操作的狀態(tài)143.C16位C54CM=0C55x忽略C16,指令本身決定是用單32位操作還是雙16位操作C54CM=1C55x以兼容方式運行C54x代碼,C16會影響某些指令的執(zhí)行154.C54CM位C54CM=0C55xCPU不支持C54x代碼C54CM=1C55x的CPU支持C54x編寫的代碼16可用以下指令或偽指令來改變模式:BCLRC54CM ;清零C54CM(運行時).C54CM_off ;告知匯編器C54CM=0BSETC54CM ;置位C54CM(運行時).C54CM_on ;告知匯編器C54CM=1175.CPL位決定對數(shù)據(jù)空間訪問的直接尋址模式CPL=0,DP直接尋址模式與數(shù)據(jù)頁寄存器DP相關。CPL=1,SP直接尋址模式與數(shù)據(jù)堆棧指針SP相關。DSP稱為運行在編譯模式。18注意對I/O空間的直接尋址,總是與外設數(shù)據(jù)頁寄存器(PDP)相關??捎靡韵轮噶詈蛡沃噶顏砀淖儗ぶ纺J剑築CLRCPL ;清零CPL(運行時).CPL_off ;告知匯編器CPL=0BSETCPL ;置位CPL(運行時).CPL_on ;告知匯編器CPL=1196.FRCT位如果FRCT=0,C55x打開小數(shù)模式。乘法運算的結果左移一位進行小數(shù)點調整。如果FRCT=1,C55x關閉小數(shù)模式。乘法運算的結果不移位。207.HM位根據(jù)HM的值,DSP可以停止內部程序執(zhí)行。HM=0C55x繼續(xù)執(zhí)行內部程序存儲器的指令。HM=1C55x停止執(zhí)行內部程序存儲器的指令。218.INTM位INTM=0,C55x使能所有可屏蔽中斷INTM=1,C55x禁止所有可屏蔽中斷22INTM位使用要點INTM位能夠全局使能或禁止可屏蔽中斷,但是它對不可屏蔽中斷無效。要使用狀態(tài)位清零和置位指令來修改INTM位。其它能影響INTM位的,只有軟件中斷指令和軟件置位指令。CPU響應中斷請求時,自動保存INTM位。特別地,CPU把ST1_55保存到數(shù)據(jù)堆棧時,INTM位也被保存起來。23執(zhí)行中斷服務子程序(ISR)之前,CPU自動置位INTM位,禁止所有的可屏蔽中斷。ISR可以通過清零INTM位,來重新開放可屏蔽中斷。中斷返回指令,從數(shù)據(jù)堆?;謴虸NTM位的值。在調試器實時仿真模式下,CPU暫停時,忽略INTM位,CPU只處理臨界時間中斷。249.M40位D單元的計算模式選擇位M40=0,D單元的計算模式選擇32位模式M40=1,D單元的計算模式選擇40位的帶符號移位模式25M40=0,D單元的計算模式選擇32位模式第31位是符號位計算過程中的進位取決于第31位由第31位判斷是否溢出飽和過程,飽和值是007FFFFFFFh(正溢出)或FF80000000h(負溢出)累加器和0的比較,用第31~0位來進行可對整個32位進行移位和循環(huán)操作累加器左移或循環(huán)移位時,從第31位移出累加器右移或循環(huán)移位時,移入的位插入到第31位上對于累加器帶符號位的移位如果SXMD=0,則累加器的保護位值要設為0如果SXMD=1,累加器的保護位要設為第31位的值對于累加器的任何循環(huán)移位或邏輯移位,都要清零目的累加器的保護位26M40=1,D單元的計算模式選擇40位的帶符號移位模式第39位是符號位計算過程中的進位取決于第39位由第39位判斷是否溢出飽和過程,飽和值是7FFFFFFFFFh(正溢出)或8000000000h(負溢出)累加器和0的比較,用第39~0位來進行可對整個40位進行移位和循環(huán)操作累加器左移或循環(huán)移位時,從第39位移出累加器右移或循環(huán)移位時,移入的位插入到第39位上2710.SATD位SATD=0,關閉D單元的飽和模式,不執(zhí)行飽和模式SATD=1,打開D單元的飽和模式如果D單元內的運算產(chǎn)生溢出,則結果值飽和,飽和值取決于M40位Saturation:飽和2811.SXMD位SXMD=0,關閉D單元的符號擴展模式SXMD=1,打開符號擴展模式2912.XF位XF是通用的輸出位,能用軟件處理且可輸出至DSP引腳指令清零和置位XFBCLRXF ;清零XFBSETXF ;置位XF302.4.11ST2_55311.AR0LC~AR7LC位域2.ARMS位3.CDPLC位4.DBGM位5.EALLOW位6.RDM位321.AR0LC~AR7LC位域決定ARn用作線性尋址還是循環(huán)尋址ARnLC=0,線性尋址ARnLC=1,循環(huán)尋址332.ARMS位決定輔助寄存器(AR)間接尋址的CPU模式ARMS=0,采用DSP模式操作數(shù)有效執(zhí)行DSP專用程序ARMS=1,采用控制模式操作數(shù)為控制系統(tǒng)的應用優(yōu)化代碼的大小34用下面的指令和偽指令來改變模式BCLRARMS ;清零ARMS(運行時).ARMS_off ;告知編譯器ARMS=0BSETARMS ;置位ARMS(運行時).ARMS_on ;編譯器ARMS=1353.CDPLC位決定系數(shù)數(shù)據(jù)指針(CDP)是用線性尋址(CDPLC=0),還是循環(huán)尋址(CDPLC位=1)364.DBGM位用于調試程序里有嚴格時間要求的部分DBGM=0,調試事件使能DBGM=1,調試事件禁止仿真器不能訪問存儲器和寄存器。軟件斷點仍然可以使CPU暫停,但不會影響硬件斷點或暫停請求375.EALLOW位EALLOW使能(EALLOW=0)或禁止(EALLOW=1)對非CPU仿真寄存器的寫訪問386.RDM位確定取整模式在D單元執(zhí)行的一些指令里,CPU將rnd()括號里的操作數(shù)取整。取整操作的類型取決于RDM的值。392.4.12ST3_55401.CACLR位2.CAEN位3.CAFRZ位4.CBERR位5.CLKOFF位6.HINT位7.MPNMC位8.SATA位9.SMUL位10.SST位411.CACLR位檢查是否已完成程序cache清零CACLR=0:已經(jīng)完成。清零過程完成時,cache硬件清零CACLR位CACLR=1:未完成。所有的cache塊無效。422.CAEN位使能或禁止程序cacheCAEN=0,禁止CAEN=1,使能433.CAFRZ位CAFRZ能鎖定程序cacheCAFRZ=0,cache工作在默認操作模式CAFRZ=1,cache被凍結(其內容被鎖定)444.CBERR位檢測到一個內部總線錯誤時,置位CBERR。該錯誤使CPU在中斷標志寄存器1(IFR1)里置位總線錯誤中斷標志BERRINTF455.CLKOFF位當CLKOFF=1,CLKOUT引腳的輸出被禁止,且保持高電平466.HINT位通過主機接口,發(fā)送一個中斷請求給主機處理器。477.MPNMC位MPNMC位使能或禁止片上ROM0:微計算機模式使能片上ROM,可以在程序空間尋址。

溫馨提示

  • 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

提交評論