TMS320C55x的硬件結(jié)構(gòu)課件_第1頁
TMS320C55x的硬件結(jié)構(gòu)課件_第2頁
TMS320C55x的硬件結(jié)構(gòu)課件_第3頁
TMS320C55x的硬件結(jié)構(gòu)課件_第4頁
TMS320C55x的硬件結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩190頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本 章 主 要 內(nèi) 容 TMS320C55x的總體結(jié)構(gòu)封裝和引腳功能CPU結(jié)構(gòu)CPU寄存器 存儲空間和I/O空間 堆棧操作 中斷和復位操作 第2章 TMS320C55x的硬件結(jié)構(gòu)2.1 TMS320C55x的總體結(jié)構(gòu)C55x芯片由CPU、存儲空間、片內(nèi)外設(shè)組成不同芯片體系結(jié)構(gòu)相同,具有相同的CPU,片上存儲器和外圍電路配置有所不同圖2-1 TMS320VC5509A框圖2.1.1 C55x CPU內(nèi)部總線結(jié)構(gòu)內(nèi)部獨立總線:12組程序地址總線(PAB):1組,24位程序數(shù)據(jù)總線(PB):1組,32位數(shù)據(jù)讀地址總線(BAB、CAB、DAB):3組,24位數(shù)據(jù)讀總線(BB、CB、DB):3組,16位

2、數(shù)據(jù)寫地址總線(EAB、FAB):2組,24位數(shù)據(jù)寫總線(EB、FB):2組,16位。2.1.2 C55x的CPU組成組成: 3216位指令緩沖隊列; 指令譯碼器。功能: 接收程序代碼并放入指令緩沖隊列; 由指令譯碼器解釋指令,再把指令流傳給其它的工作單元指令緩沖單元(I單元)程序流單元(P單元)地址-數(shù)據(jù)流單元(A單元)數(shù)據(jù)運算單元(D單元)存儲器接口單元(M單元)組成: 程序地址發(fā)生器; 程序控制邏輯功能: 產(chǎn)生所有程序空間地址,并送到PAB總線組成: 數(shù)據(jù)地址產(chǎn)生電路 (DAGEN);附加16位ALU和1組寄存器功能: 產(chǎn)生讀/寫數(shù)據(jù)空間地址,并送到BAB、CAB、DAB總線組成: 1個

3、40位的筒形移位寄存器(barrel shifter); 2個乘加單元(MAC); 1個40位的ALU; 若干寄存器。功能: CPU中最主要的部分,是主要的數(shù)據(jù)處理部件 是CPU和數(shù)據(jù)空間或I/O空間之間傳輸所有數(shù)據(jù)的中間媒介 2.1.3 C55x存儲器配置存儲空間支持的存儲器類型特點 片內(nèi)存儲空間共有352KB(176K字);外部存儲空間共有16MB (8M字)異步SRAM、EPROM;同步DRAM;同步突發(fā)SRAM采用統(tǒng)一的程序/地址空間存儲空間; I/O空間與程序/地址空間分開存儲器5501550255035506550755095510ROM(KB)32326464646432RAM(

4、KB)326464128128256320表2-1 C55x片內(nèi)存儲器配置2.1.4 C55x外設(shè)配置模數(shù)轉(zhuǎn)換器(ADC)可編程數(shù)字鎖相環(huán)時鐘發(fā)生器(DPLL)指令高速緩存(I-Cache)外部存儲器接口(EMIF)直接存儲器訪問控制器(DMA)多通道串行緩沖口(McBSP)10位,用于采集電壓、面板旋鈕的輸入值VC5509A的時鐘頻率可達200MHz,最小機器周期為5ns1個可配置的24KB的存儲器,可最小化對外部存儲區(qū)的訪問可以實現(xiàn)與各種存儲器件無縫連接在無CPU涉入的情況下,允許數(shù)據(jù)在內(nèi)部存儲器和外部存儲器、增強型主機接口(EHPI) 之間傳輸為全雙工串口,VC5509設(shè)有3個McBSP

5、增強型主機接口(EHPI)2個16位的通用定時/計數(shù)器8個可配置的通用I/O引腳(GPIO)實時時鐘(Real Time Clock,RTC)看門狗定時器(Watchdog Timer) USB 為16位并行接口,用于提供主處理器對DSP上的內(nèi)部存儲器的訪問,可被配置成復用或非復用形式提供一個時間參考,并能產(chǎn)生基于時間的報警來中斷DSP可以在軟件陷入循環(huán)有沒有受控退出的情況下,防止 系統(tǒng)死鎖目前VC5506、VC5507、 VC5509各提供了1個USB接口表2-2 C55x片內(nèi)外設(shè)配置 2.2 C55x的封裝和引腳功能 不同C55x芯片通常有不同封裝為滿足不同用途需求,C55x同一個芯片也往

6、往有多種封裝 本節(jié)以TMS320VC5509A PGE 封裝為例講述引腳配置及功能只給出VC5509A PGE引腳的定義和簡要描述,詳細描述請參考文獻SPRS205J圖2-2 TMS320VC5509A的封裝(a) 179腳BGA封裝(底視圖) (b) 144腳PGE封裝(頂視圖)2.2.1 引腳屬性表2-3 VC5509A PGE信號引腳對應(yīng)圖(1)表2-3 VC5509A PGE信號引腳對應(yīng)圖(2)表2-3 VC5509A PGE信號引腳對應(yīng)圖(3)表2-3 VC5509A PGE信號引腳對應(yīng)圖(4)2.2.2 引腳信號定義與描述并行總線引腳初始化、中斷和復位引腳位輸入/輸出信號振蕩器/時

7、鐘信號實時時鐘I2C總線McBSP接口USB接口A/D接口測試/仿真引腳電源引腳1. 并行總線引腳A13:0C55x內(nèi)核的并行地址總線A13A0的外部引腳。3種功能:HPI地址線HPI.HA13:0EMIF地址總線EMIF.A 13:0通用輸入輸出GPIO.A 13:0 D15:0C55x內(nèi)核的并行雙向數(shù)據(jù)總線D31D02種功能:EMIF 數(shù)據(jù)總線 (EMIF. D15:0) HPI數(shù)據(jù)總線(HPI.HD15:0)C0:EMIF異步存儲器讀選通(EMIF. ) 或通用輸入輸出口8 (GPIO.8)C1:EMIF異步輸出使能(EMIF. ) 或HPI中斷輸出(HPI. )C2:EMIF異步存儲器

8、寫選通 (EMIF. ) 或HPI讀/寫(HPI. )C3:EMIF數(shù)據(jù)輸入準備就緒(EMIF.ARDY) 或HPI輸出準備就緒(HPI.HRDY)C4:存儲空間CE0的EMIF片選信號(EMIF. ) 或通用輸入輸出口9(GPIO.9)C5:存儲空間CE1的EMIF片選信號(EMIF. ) 或通用輸入輸出口10(GPIO.10)C6:存儲空間CE2的EMIF片選信號(EMIF. ) 或HPI訪問控制信號0 (HPI.HCNTL0)C7:存儲空間CE3的EMIF片選信號(EMIF. ) 或通用輸入輸出口11(GPIO.11) 或HPI訪問控制信號1 (HPI.HCNTL1)C8: EMIF字節(jié)

9、使能控制0 (EMIF. ) 或HPI 字節(jié) 辨識(HPI. )C9: EMIF字節(jié)使能控制1 (EMIF. ) 或HPI 字節(jié) 辨識(HPI. )C10: EMIF SDRAM行選通信號(EMIF. ) 或HPI地址選通信號(HPI. ) 或通用輸入輸出口12(GPIO.12)C11: EMIF SDRAM列選通信號(EMIF. ) 或HPI片選輸入信號(HPI. )C12: EMIF SDRAM寫使能信號(EMIF. ) 或HPI數(shù)據(jù)選通信號 1 (HPI. )C13: SDRAM A10地址線 (EMIF.SDA10) 或通用輸入輸出口13 (GPIO.13)C14:SDRAM存儲器時鐘

10、信號(EMIF.CLKMEM) 或HPI數(shù)據(jù)選通信號2(HPI. )2. 初始化、中斷和復位引腳 外部中斷請求信號;為可屏蔽中斷,并且可由中斷使能寄存器(IER)和中斷方式位屏蔽;可以通過中斷標志寄存器(IFR)進行查詢和復位復位信號,低電平有效;使DSP終止程序執(zhí)行并且使程序計數(shù)器指向FF8000h處。當引腳電平為高時,從程序存儲器FF8000h地址處開始執(zhí)行;影響寄存器和狀態(tài)位;此引腳需要外接上拉電阻3. 位輸入/輸出信號GPIO7:6,4:0XF可以配置為輸入口或輸出口;當配置為輸出引腳時,可以單獨置位或者復位;在復位時,被配置為輸入引腳;復位完成后,在片bootloader采樣GPIO

11、3:0 決定啟動方式。為輸出信號,用于配置其它處理器的復用狀態(tài)或者作為通用輸出引腳;指令BSET XF可以使XF輸出電平為高;指令BCLR XF 可以使XF輸出電平為低;加載ST1. XF位可以控制XF輸出電平。4.振蕩器/時鐘信號CLKOUTX2/CLKIN X1 TIN/TOUT0 時鐘輸出引腳;CLKOUT 周期為CPU的機器周期;當/OFF為低電平時,CLKOUT呈高阻狀態(tài)時鐘振蕩器輸入引腳;若使用內(nèi)部時鐘,用來外接晶體電路;若使用外部時鐘,該引腳接外部時鐘輸入。由內(nèi)部系統(tǒng)振蕩器到晶體的輸出引腳;若不使用內(nèi)部振蕩器時,X1引腳懸空;當/OFF為低,X1不會處于高阻狀態(tài)定時器T0 輸入/

12、輸出;當作為定時器T0的輸出時, 計數(shù)器減少到0,TIN/TOUT0 信號輸出一個脈沖或者狀態(tài)發(fā)生改變;當作為輸入時,TIN/TOUT0為內(nèi)部定時器模塊提供時鐘;復位時,此引腳配置為輸入引腳。 只有定時器0 信號可以輸出。定時器T1信號不能提供輸出。5.實時時鐘RTCINX1實時時鐘振蕩器輸入。RTCINX2實時時鐘振蕩器輸出。6. I2C總線SDAI2C (雙向) 數(shù)據(jù)信號復位時,此引腳處于高阻狀態(tài)。SCLI2C (雙向) 時鐘信號復位時,此引腳處于高阻狀態(tài)。7. McBSP接口 VC5509A共有3個McBSP接口,其中McBSP1與McBSP2為多功能口。CLKR0DR0FSR0CLKX

13、0DX0FSX0McBSP0串行接收器的串行移位時鐘McBSP0數(shù)據(jù)接收信號McBSP0接收幀同步信號,初始化DR0的數(shù)據(jù)接收McBSP0發(fā)送時鐘信號,為串行發(fā)送器的串行發(fā)送時鐘。McBSP0數(shù)據(jù)發(fā)送信號。McBSP0發(fā)送幀同步信號,初始化DX0的數(shù)據(jù)發(fā)送。S10S11S12S13S14S15McBSP1 接收時鐘信號或者MMC/SD1的命令/響應(yīng)信號; 復位時被配置為McBSP1.CLKRMcBSP1 數(shù)據(jù)接收信號或者SD1的數(shù)據(jù)信號1;復位時被配置為McBSP1.DRMcBSP1接收幀同步信號或者SD1的數(shù)據(jù)信號2;復位時被配置為McBSP1.FSRMcBSP1數(shù)據(jù)發(fā)送信號或者MMC/SD

14、1串行時鐘信號; 復位時被配置為McBSP1.DXMcBSP1發(fā)送時鐘信號或MMC/SD1數(shù)據(jù)信號0; 復位時被配置為McBSP1.CLKXMcBSP1發(fā)送幀同步信號或者SD1數(shù)據(jù)信號3;復位時被配置為McBSP1.FSXS20S21S22S23S24S25McBSP2 接收時鐘信號或者MMC/SD2的命令/響應(yīng)信號; 復位時被配置為McBSP2.CLKRMcBSP2 數(shù)據(jù)接收信號或者SD2的數(shù)據(jù)信號1;復位時被配置為McBSP2.DRMcBSP2接收幀同步信號或者SD2的數(shù)據(jù)信號2;復位時被配置為McBSP2.FSRMcBSP2數(shù)據(jù)發(fā)送信號或者MMC/SD2串行時鐘信號; 復位時被配置為Mc

15、BSP2.DXMcBSP2發(fā)送時鐘信號或MMC/SD2數(shù)據(jù)信號0; 復位時被配置為McBSP2.CLKXMcBSP2發(fā)送幀同步信號或者SD2數(shù)據(jù)信號3;復位時被配置為McBSP2.FSX8. USB接口DP差分數(shù)據(jù)接收/發(fā)送(正向)復位時,此引腳配置為輸入端DN差分數(shù)據(jù)接收/發(fā)送(負向)復位時,此引腳配置為輸入端PU:上拉輸出用于上拉USB模塊需要的檢測電阻通過一個軟件控制開關(guān)(USBCTL寄存器的CONN位),此引腳在VC5509內(nèi)部與USBVDD連接9. A/D接口AIN0:模擬輸入通道0AIN1:模擬輸入通道1 注意: VC5509A PGE有2個 10位 A/D 接口; VC5509A

16、 BGA有4個 10位 A/D 接口.10.測試/仿真引腳TCK:IEEE 標準 1149.1 測試時鐘輸入引腳。TDI:IEEE 標準1149.1測試數(shù)據(jù)輸入信號。TDO:IEEE 標準1149.1測試數(shù)據(jù)輸出信號。TMS:IEEE 標準1149.1測試方式選擇信號。/TRST:IEEE 標準1149.1測試復位信號。EMU0: 仿真器中斷0引腳。EMU1/OFF11.電源引腳 數(shù)字電源,+1.6V,專為CPU內(nèi)核提供電源。 數(shù)字電源,+3.3V,為I/O引腳提供電源。 數(shù)字電源,+3.3V,專為USB 模塊的I/O引腳(DP, DN和PU)提供電源。 數(shù)字電源,+1.6V。專為USB PL

17、L提供電源。 數(shù)字電源,+ 3.3V。專為RTC模塊的I/O引腳提供電源。 數(shù)字電源,+ 1.6V。專為RTC模塊提供電源。 數(shù)字地。 模擬電源,專為10位 A/D模塊提供電源。 模擬地,10位 A/D內(nèi)核部分接地引腳。 模擬數(shù)字地,10位 A/D模塊的數(shù)字部分接地引腳。 數(shù)字地,用于USB PLL。2.3 C55x的CPU結(jié)構(gòu) 存儲器接口單元(M單元) 指令緩沖單元(I單元)程序流單元(P單元)地址數(shù)據(jù)流單元(A單元)數(shù)據(jù)計算單元(D單元)內(nèi)部地址總線與數(shù)據(jù)總線圖2-3 C55x的CPU結(jié)構(gòu)框圖2.3.1 存儲器接口單元(M單元)內(nèi)部數(shù)據(jù)流、指令流接口管理所有來自CPU、數(shù)據(jù)空間或I/O空間

18、的數(shù)據(jù)和指令負責CPU和數(shù)據(jù)空間以及或CPU和I/O空間的數(shù)據(jù)傳輸2.3.2 指令緩沖單元(I單元)圖2-4 I單元結(jié)構(gòu)框圖每個機器周期,PB從程序空間傳送32位的程序代碼至I單元的指令緩沖隊列;最大可以存放64個字節(jié)的待譯碼指令,可以執(zhí)行塊循環(huán)指令,具有對于分支、調(diào)用和返回指令的隨機處理能力當CPU準備譯碼時,6個字節(jié)的代碼從隊列發(fā)送到I單元的指令譯碼器;能夠識別指令邊界, 譯碼8、16、24、32、40和48位的指令,決定2條指令是否并行執(zhí)行,將譯碼結(jié)果和立即數(shù)送至P單元、A單元、D單元2.3.3 程序流單元(P單元)圖2-5 P單元結(jié)構(gòu)框圖程序地址產(chǎn)生邏輯:產(chǎn)生24位的程序空間取指的地址

19、;可產(chǎn)生順序地址;也可以I單元的立即數(shù)或D單元的寄存器值作為地址程序控制邏輯: 接收來自I單元的立即數(shù),并測試來自A單元或D單元的結(jié)果從而執(zhí)行如下動作: 測試條件執(zhí)行指令的條件是否成立,把測試結(jié)果送程序地址發(fā)生器; 當中斷被請求或使能時,初始化中斷服務(wù)程序; 控制單一指令重復或塊指令重復;管理并行執(zhí)行的指令P單元的作用:產(chǎn)生程序空間地址,并加載地址到PAB;控制指令流順序2.3.4 地址數(shù)據(jù)流單元(A單元)圖2-6 A單元結(jié)構(gòu)框圖 DAGEN產(chǎn)生所有讀寫數(shù)據(jù)空間的地址。 可接收來自I單元的立即數(shù)或來自A單元的寄存器值; 根據(jù)P單元指示,對間接尋址方式時選擇使用線性尋址還是循環(huán)尋址。 ALU可接

20、收來自I單元的立即數(shù)或與存儲器、I/O空間、A單元寄存器、D單元寄存器和P單元寄存器進行雙向通信??赏瓿扇缦聞幼鳎?加法、減法、比較、布爾邏輯、符號移位、邏輯移位和絕對值計算; 測試、設(shè)置、清空、求補A單元寄存器位或存儲器位域; 改變或轉(zhuǎn)移寄存器值,循環(huán)移位寄存器值,從移位器向一個A單元寄存器送特定值。2.3.5 數(shù)據(jù)計算單元(D單元)圖2-7 D單元結(jié)構(gòu)框圖 接收來自I單元的立即數(shù), 與存儲器、I/O空間、D單元寄存器、P單元寄存器、A單元寄存器進行雙向通信; 把移位結(jié)果送至D單元的ALU或A單元的ALU; 實現(xiàn)40位累加器值最大左移31位或最大右移32位; 實現(xiàn)16位寄存器、存儲器或I/O

21、空間數(shù)據(jù)最大左移31位或最大右移32位; 實現(xiàn)16位立即數(shù)最大左移15位; 提取或擴張位域,執(zhí)行位計數(shù); 對寄存器值進行循環(huán)移位; 在累加器的值存入數(shù)據(jù)空間之前,對它們進行取整/飽和處理。 可從I單元接收立即數(shù),或與存儲器、I/O空間、D單元寄存器、P單元寄存器、A單元寄存器進行雙向通信,還可接收移位器的結(jié)果; 加法、減法、比較、取整、飽和、布爾邏輯以及絕對值運算; 在執(zhí)行一條雙16位算術(shù)指令時,同時進行兩個算術(shù)操作; 測試、設(shè)置、清除以及求D單元寄存器的補碼; 對寄存器的值進行移動。 可支持乘法和加/減法。在單個機器周期內(nèi),每個MAC可以進行一次1717位小數(shù)或整數(shù)乘法運算和一次帶有可選的3

22、2或40位飽和處理的40位加/減法運算。MAC的結(jié)果送累加器; MAC接收來自I單元的立即數(shù),或來自存儲器、I/O空間、A單元寄存器的數(shù)據(jù),和D單元寄存器、P單元寄存器進行雙向通信; MAC的操作會影響P單元狀態(tài)寄存器的某些位。2.3.6 地址總線與數(shù)據(jù)總線C55x的CPU總線1組32位程序總線:PB5組16位數(shù)據(jù)總線: BB、CB、DB、EB、FB6組24位地址總線:PAB、BAB、CAB、DAB、EAB、FAB特點: 這種總線并行機構(gòu)使CPU在一個機器周期內(nèi),能夠讀1次32位程序代碼、讀3次16位數(shù)據(jù)、寫2次16位地址表2-4 地址總線和數(shù)據(jù)總線的功能表2-5 各種訪問類型下總線的使用(1

23、)表2-5 各種訪問類型下總線的使用(2)2.3.7 指令流水線 C55x的指令流水線分為兩個階段:第一階段取指階段:從存儲器取來32位指令包,將其存入指令緩沖隊列(IBQ)中,并送48位指令包給第二流水階段第二階段執(zhí)行階段:對指令進行譯碼,并完成數(shù)據(jù)訪問和計算。1.概況:表2-6 取指階段流水線的意義圖2-8 指令流水線(取指階段)2.取指階段圖2-9 指令流水線(執(zhí)行階段)3.執(zhí)行階段表2-7 執(zhí)行階段流水線的意義(1)表2-7 執(zhí)行階段流水線的意義(2)2.4 CPU寄存器C55x的寄存器(見表2-8 )C55x寄存器的映射地址及描述(見表2-9 )2.4.1 概況 注意事項: ST0_

24、55、ST1_55和ST3_55都有兩個訪問地址; T3、RSA0L、REA0L和SP有兩個訪問地址; 任何裝入BRC1的指令將相同的值裝入BRS1。 對于ST0_55、ST1_55和ST3_55,對于其中一個地址,所有的C55x位均可訪問;在另外一個地址(稱為保護地址),某些保護位不能被修改。保護地址是為了提供對C54x代碼的支持,以便寫入ST0、ST1以及PMST(C54x對應(yīng)ST3_55) 對于T3、RSA0L、REA0L和SP,當使用DP直接尋址方式訪問存儲器映射寄存器時,將訪問兩個地址中更高的地址,即 T3=23H(不是0EH); RSA0L=3DH(不是1BH); REA0L=3F

25、H(不是1CH); SP=4DH(不是18H)表2-8 寄存器總表(1)縮 寫名 稱大小AC0AC3累加器0340位AR0AR7輔助寄存器0716位BK03,BK47,BKC循環(huán)緩沖區(qū)大小寄存器16位BRC0,BRC1塊循環(huán)計數(shù)器0和116位BRS1BRC1保存寄存器16位BSA01,BSA23,BSA45,BSA67,BSAC循環(huán)緩沖區(qū)起始地址寄存器16位CDP系數(shù)數(shù)據(jù)指針(XCDP的低位部分)16位CDPHXCDP的高位部分7位CFCT控制流關(guān)系寄存器8位CSR計算單循環(huán)寄存器16位DBIER0,DBIER1調(diào)試中斷使能寄存器0和116位DP數(shù)據(jù)頁寄存器(XDP的低位部分)16位DPHXD

26、P的高位部分7位IER0,IER1中斷使能寄存器0和116位IFR0,IFR1中斷標志寄存器0和116位IVPD,IVPH中斷向量指針16位表2-8 寄存器總表(2)PC程序計數(shù)器24位PDP外設(shè)數(shù)據(jù)頁寄存器9位REA0,REA1塊循環(huán)結(jié)束地址寄存器0和124位RETA返回地址寄存器24位RPTC單循環(huán)計數(shù)器16位RSA0,RSA1塊循環(huán)起始地址寄存器0和124位SP數(shù)據(jù)堆棧指針16位SPHXSP和XSSP的高位7位SSP系統(tǒng)堆棧指針16位ST0_55ST3_55狀態(tài)寄存器0316位T0T3暫時寄存器16位TRN0TRN1變換寄存器0和116位XAR0XAR7擴展輔助寄存器0723位XCDP擴

27、展系數(shù)數(shù)據(jù)指針23位XDP擴展數(shù)據(jù)頁寄存器23位XSP擴展數(shù)據(jù)堆棧指針23位XSSP擴展系統(tǒng)堆棧指針23位表2-9 存儲器映射寄存器(1) 表2-9 存儲器映射寄存器(2) 表2-9 存儲器映射寄存器(3) 表2-9 存儲器映射寄存器(4) 表2-9 存儲器映射寄存器(5) 表2-9 存儲器映射寄存器(6) 表2-9 存儲器映射寄存器(7) 表2-9 存儲器映射寄存器(8) 表2-9 存儲器映射寄存器(9) 2.4.2 累加器(AC0AC3)C55x的CPU包括4個40位的累加器AC0、AC1、AC2、AC3AC0、AC1、AC2、AC3等價。任何一條使用一個累加器的指令,都可以通過編程來使用

28、4個累加器中的任何一個在C54x兼容模式(C54CM=1)下,累加器AC0、AC1分別對應(yīng)于C54x里的累加器A、B 每個累加器分為低字(ACxL)、高字(ACxH) 和8個保護位(ACxG),用戶可以使用訪問存儲器映射寄存器的尋址方式,分別訪問這3部分 2.4.3 變換寄存器TRN0、TRN1C55x有2個變換寄存器TRN0、TRN1用途:在比較-選擇-極值指令里使用比較兩個累加器的高段字和低段字后,執(zhí)行選擇兩個16位極值的指令,以更新TRN0和TRN1。比較累加器的高段字后更新TRN0,比較累加器的低段字后更新TRN1在比較完兩個累加器的全部40位后,執(zhí)行選擇一個40位極值的指令,以更新被

29、選中的變換寄存器(TRN0或TRN1) 2.4.4 T寄存器(T0-T3) 用途存放乘法、乘加以及乘減運算里的一個乘數(shù)存放D單元里加法、減法和裝入運算的移位數(shù)用交換指令交換輔助寄存器(AR0-AR7)和T寄存器中的內(nèi)容時,跟蹤多個指針值在D單元ALU里作雙16位運算時,存放Viterbi蝶形的變換尺度 CPU包括4個16位通用T寄存器:T0、T1、T2、T32.4.5 用作數(shù)據(jù)地址空間和I/O空間的寄存器 表2-10 用作數(shù)據(jù)地址空間和I/O空間的寄存器1. 輔助寄存器(XAR0XAR7/AR0AR7)低字的作用: 用于AR間接尋址模式,以及雙AR間接尋址模式。 提供7位數(shù)據(jù)頁內(nèi)的16位偏移量

30、(形成一個23位地址); 存放位地址; 作為通用寄存器或計數(shù)器。高7位用于指定要訪問數(shù)據(jù)空間的數(shù)據(jù)頁訪問屬性: XARn只能用專用指令訪問; ARn可用專用指令訪問,也可以作為存儲器映射寄存器訪問; ARnH不能單獨訪問,必須通過訪問XARn來訪問ARnHCPU在存儲器中映射了一個系數(shù)數(shù)據(jù)指針(CDP)和一個相關(guān)的擴展寄存器(CDPH):2. 系數(shù)數(shù)據(jù)指針(XCDP/CDP)CPU可以連接這個寄存器形成一個擴展系數(shù)數(shù)據(jù)指針(XCDP)高7位(CDPH)用于指定要訪問數(shù)據(jù)空間的數(shù)據(jù)頁低字(CDP)用來作為16位偏移量與7位數(shù)據(jù)頁形成一個23位地址 XCDP或CDP用在CDP間接尋址方式和系數(shù)間接

31、尋址方式中,CDP可用于任何指令中訪問一個單數(shù)據(jù)空間值,在雙MAC指令中,它還可以獨立地提供第三個操作數(shù)。 表2-12 XCDP的訪問屬性 3. 循環(huán)緩沖區(qū)首地址寄存器CPU有5個16位的循環(huán)緩沖區(qū)首地址寄存器:BSA01,BSA23,BSA45,BSA67,BSAC作用:定義循環(huán)的首地址每個循環(huán)緩沖區(qū)首地址寄存器與一個或兩個特殊的指針相關(guān)聯(lián)4. 循環(huán)緩沖區(qū)大小寄存器三個16位的循環(huán)緩沖區(qū)大小寄存器(BK03,BK47,BKC) 用途:指定循環(huán)緩沖區(qū)大?。ㄗ畲鬄?5535)每個循環(huán)緩沖區(qū)大小寄存器與一個或四個特殊的指針相關(guān)聯(lián)5.數(shù)據(jù)頁寄存器(XDP/DP)CPU在存儲器中映射了一個數(shù)據(jù)頁寄存器

32、(DP)和一個相關(guān)的擴展寄存器(DPH)CPU連接這兩個寄存器形成一個擴展數(shù)據(jù)頁寄存器(XDP)DPH指定要訪問數(shù)據(jù)空間的7位數(shù)據(jù)頁低字(DP)用來代表一個16位偏移地址用途:在基于DP的直接尋址方式中,XDP指定23位地址在k16絕對尋址方式中,DPH與一個16位的立即數(shù)連接形成23位地址表2-15 XDP寄存器的訪問屬性6.外設(shè)數(shù)據(jù)頁指針(PDP)對于PDP直接尋址方式, 9位的外設(shè)數(shù)據(jù)頁指針(PDP)選擇64K字I/O空間中的一個128字頁面7.堆棧指針(XSP/SP,XSSP/SSP)有關(guān)堆棧指針數(shù)據(jù)堆棧指針(SP)系統(tǒng)堆棧指針(SSP)相關(guān)擴展寄存器(SPH)當訪問數(shù)據(jù)堆棧時,CPU

33、連接SPH和SP形成一個擴展的堆棧指針(XSP),指向最后壓入數(shù)據(jù)堆棧的數(shù)據(jù)SPH代表7位數(shù)據(jù)頁SP指向頁中某個具體地址當訪問系統(tǒng)堆棧時,CPU連接SPH和SSP形成一個擴展的堆棧指針(XSSP),指向最后壓入系統(tǒng)堆棧的數(shù)據(jù)表2-16 堆棧指針的訪問屬性2.4.6 程序流寄存器(PC、RETA、CFCT)程序流寄存器(3個)寄存器描 述PC24位的程序計數(shù)器。存放I單元里解碼的16字節(jié)代碼的地址.當CPU執(zhí)行中斷或調(diào)用子程序時,當前的PC值(返回地址)存起來,然后把新的地址裝入PC。當CPU從中斷服務(wù)或子程序返回時,返回地址重新裝入PCRETA返回地址寄存器。如果所選擇的堆棧配置使用快速返回,

34、則在執(zhí)行子程序時,RETA就作為返回地址的暫存器。RETA和CFCT一起,高效執(zhí)行多層嵌套的子程序??捎脤iT的32位裝入和存儲指令,成對地讀寫RETA和CFCTCFCT控制流關(guān)系寄存器。CPU保存有激活的循環(huán)記錄(循環(huán)的前后關(guān)系)。如果選擇的堆棧配置使用快速返回,則在執(zhí)行子程序時,CFCT就作為8位循環(huán)關(guān)系的暫存器。RETA和CFCT一起,高效執(zhí)行多層嵌套的子程序??捎脤iT的32位 裝入和存儲指令,成對地讀寫RETA和CFCT CFCT寄存器 CPU由內(nèi)部位按照一定規(guī)則來存放循環(huán)的前后關(guān)系,即子程序里循環(huán)的狀態(tài)(激活和未激活)當CPU執(zhí)行中斷或調(diào)用子程序時,循環(huán)關(guān)系位就存放在CFCT里當CPU

35、從中斷或調(diào)用子程序返回時,循環(huán)關(guān)系位就從CFCT恢復表2-18 CFCT各位的含義2.4.7 中斷管理寄存器表2-19 中斷管理寄存器 中斷向量指針(IVPD,IVPH)DSP中斷向量指針(IVPD)主機中斷向量指針(IVPH)16位,指向256字節(jié)的程序空間中的中斷向量表(IV0IV15和IV24IV31),這些中斷向量供DSP專用16位,指向256字節(jié)的程序空間中的中斷向量表(IV16 IV23),這些中斷向量供DSP和主機共享使用 說明:如果IVPD和IVPH的值相同,所有中斷向量可能占有相同的256字節(jié)大小的程序空間;DSP硬件復位時,IVPD和IVPH都被裝入到FFFFH地址處;IV

36、PD和IVPH均不受軟復位的影響 表2-20 中斷向量地址 在修改IVP之前應(yīng)確保:INTM=1,即所有可屏蔽中斷不能響應(yīng)。每個硬件不可屏蔽中斷對于原來的IVPD和修改后的IVPD都有一個中斷向量和中斷服務(wù)程序。由16位的中斷向量指針加上一個5位的中斷編號后左移3位組成一個24位的中斷地址。 2. 中斷標志寄存器(IFR0,IFR1)表2-21 中斷標志寄存器IFR1表2-22 中斷標志寄存器IFR016位的中斷標志寄存器IFR0和IFR1包括所有可屏蔽中斷的標志位當一個可屏蔽中斷向CPU提出申請時,IFR中相應(yīng)的標志位置1,等待CPU應(yīng)答中斷可以通過讀IFR標志已發(fā)送申請的中斷,或?qū)?到IF

37、R相應(yīng)的位撤銷中斷申請,即寫入1清相應(yīng)位為0中斷被響應(yīng)后將相應(yīng)位清0,器件復位將所有位清03.中斷使能寄存器(IER0,IER1)表2-23 中斷使能寄存器IER1表2-24 中斷使能寄存器IER0 通過設(shè)置IER0、IER1的位為 1 ,打開相應(yīng)的可屏蔽中斷 0 ,關(guān)閉相應(yīng)的可屏蔽上電復位時,將所有IER位清0。ER0、IER1不受軟件復位指令和DSP熱復位的影響,在全局可屏蔽中斷使能(INTM=1)之前應(yīng)初始化它們。4. 調(diào)試中斷使能寄存器(DBIER0,DBIER1)僅當CPU工作在 實時 仿真模式 調(diào)試 暫停 時,這兩個16位的調(diào)試中斷使能寄存器才會使用如果CPU工作在實時方式下,DB

38、IER0、DBIER1將被忽略2.4.8 循環(huán)控制寄存器單循環(huán)指令可以重復執(zhí)行一個單周期指令或并行執(zhí)行兩個單周期指令,重復次數(shù)N被裝在RPTC中,指令將被重復執(zhí)行N+1次。在一些無條件單指令循環(huán)操作中,可以使用CSR設(shè)置重復次數(shù)。1.單指令循環(huán)控制寄存器(RPTC,CSR)2.塊循環(huán)寄存器(BRC0,BRC1,BRS1,RSA0,RSA1,REA0,REA1)塊循環(huán)指令可以實現(xiàn)2級嵌套,一個塊循環(huán)(1級)嵌套在另一個塊循環(huán)(0級)內(nèi)部當C54CM=0,即工作在C55x方式下,才實現(xiàn)2級嵌套當無循環(huán)嵌套時,CPU使用0級寄存器當出現(xiàn)循環(huán)嵌套時,CPU對于1級嵌套使用1級寄存器當C54CM=1,即

39、工作在C54x方式下只能使用0級寄存器,通過借助塊重復標志寄存器(BRAF)完成嵌套表2-25 塊循環(huán)寄存器2.4.9 狀態(tài)寄存器ST0_55 ST0_55(以及ST1_55和ST3_55)有兩個訪問地址。 所有位都可以由第一個地址訪問,而在另一個地址(保護地址)里,加黑部分不能修改; 保護地址是為了支持把C54x的代碼寫入ST0、ST1和PMST累加器溢出標志(ACOV0,ACOV1,ACOV2,ACOV3)當累加器AC0、AC1、AC2或AC3有數(shù)據(jù)溢出時,相應(yīng)的ACOV0、ACOV1、ACOV2或ACOV3被置1,直到發(fā)生以下任一事件:復位CPU執(zhí)行條件跳轉(zhuǎn)、調(diào)用、返回,或執(zhí)行一條測試A

40、COVx狀態(tài)的指令被指令清0溢出方式受M40位的影響當M40=0時,溢出檢測在第31位,與C54x兼容當M40=1時,溢出檢測在第39位2. 進位位(CARRY)進位/借位的檢測取決于M40位當M40=0時,由第31位檢測進位/借位當M40=1時,由第39位檢測進位/借位當D單元ALU做加法運算時,若產(chǎn)生進位,則置位CARRY;如果不產(chǎn)生進位時,則將CARRY清0例外:使用以下語句(將Smem移動16位),有進位時置位CARRY,無進位時不清0。ADD Smem#16,ACx,ACy當D單元ALU做減法運算時若產(chǎn)生借位,將CARRY清0。如果不產(chǎn)生借位,則置位CARRY。 例外:使用以下語句(

41、將Smem移動16位),有借位時 CARRY 清0,無借位時CARRY不變。SUB Smem#16,ACx,ACyCARRY位可以被邏輯移位指令修改。對帶符號移位指令和循環(huán)移位指令,可以選擇CARRY位是否需要修改目的寄存器是累加器時,用以下指令修改CARRY位,以指示計算結(jié)果MIN src,dstMAXsrc,dstABSsrc,dstNEGsrc,dst可以通過下面兩條指令對CARRY清零和置位:BCLRCARRY ;清零BSETCARRY ;置位3. DP位域DP位域占據(jù)ST0_55的第80位提供與C54x兼容的數(shù)據(jù)頁指針C55x有一個獨立的數(shù)據(jù)頁指針DPDP(157)的任何變化都會反映

42、在ST0_55的DP位域上?;贒P的直接尋址方式,C55x使用完整的數(shù)據(jù)頁指針DP(150),因此不需要使用ST0_55的DP位域。如果想裝入ST0_55,但不想改變DP位域的值,可以用OR或AND指令。所有能影響一個測試/控制位的指令,都可以選擇影響TC1還是TC2TCx或關(guān)于TCx的布爾表達式,都可以在任何條件指令里用作觸發(fā)器可以通過下面指令對TCx置位和清零:BCLR TC1 ;TC1清零BSETTC1 ;TC1置位BCLR TC2 ;TC2清零BSET TC2 ;TC2置位4. 測試/控制位(TC1,TC2) 測試/控制位用于保存一些特殊指令的測試結(jié)果,使用要點如下:2.4.10 狀

43、態(tài)寄存器ST1_55如果C54CM=0C55x忽略ASM,C55x移位指令在暫存寄存(T0T3)里指定累加器的移位值,或者直接在指令里用常數(shù)指定移位值。如果C54CM=1 C55x以兼容方式運行C54x代碼,ASM用于給出某些C54x移位指令的移位值,移位范圍-1615。1. ASM位如果C54CM=0,C55x不使用BRAF。如果C54CM=1,C55x以兼容方式運行C54x代碼,BRAF用于指定或控制一個塊循環(huán)操作的狀態(tài)。在由調(diào)用、中斷或返回引起的代碼切換過程中,都要保存和恢復BRAF的值。當執(zhí)行遠程跳轉(zhuǎn)(FB)或遠程調(diào)用(FCALL)指令時,BRAF自動清零。2. BRAF位如果C54C

44、M=0,C55x忽略C16 指令本身決定是用單32位操作還是雙16位操作。如果C54CM=1,C55x以兼容方式運行C54x代碼,C16會影響某些指令的執(zhí)行。當C16=0時,關(guān)閉雙16位模式,D單元ALU執(zhí)行一條指令是以單32位操作(雙精度運算)形式當C16=1時,打開雙16位模式, D單元ALU執(zhí)行一條指令是以兩個并行的16位操作(雙16位運算)形式3. C16位如果C54CM0,C55x CPU不支持C54x代碼如果C54CM1,C55x的CPU支持C54x編寫的代碼在使用C54x代碼時就必須置位該模式,所有C55x CPU的資源都可以使用在移植代碼時,可以利用C55x增加的特性優(yōu)化代碼4

45、. C54CM位可用以下指令或偽指令來改變模式:BCLR C54CM ;清零C54CM(運行時).C54CM_off ;告知匯編器C54CM0BSET C54CM ;置位C54CM(運行時).C54CM_on ;告知匯編器C54CM1如果CPL0,CPL決定選擇DP直接尋址模式如果CPL1,CPL決定選擇SP直接尋址模式可用以下指令和偽指令來改變尋址模式:BCLR CPL ;清零CPL(運行時).CPL_off ;告知匯編器CPL0BSET CPL ;置位CPL(運行時).CPL_on;告知匯編器CPL15. CPL位如果FRCT0,C55x打開小數(shù)模式。 乘法運算的結(jié)果左移一位進行小數(shù)點調(diào)整

46、。兩個帶符號的Q15制數(shù)相乘,得到一個Q31制數(shù)時,就要進行小數(shù)點調(diào)整。如果FRCT1,C55x關(guān)閉小數(shù)模式。乘法運算的結(jié)果不移位??捎孟旅娴闹噶钋辶愫椭梦籉RCT:BCLR FRCT ;清零FRCTBSET FRCT ;置位FRCT6. FRCT位如果HM0,C55x繼續(xù)執(zhí)行內(nèi)部程序存儲器的指令。如果HM1,C55x停止執(zhí)行內(nèi)部程序存儲器的指令??捎孟旅娴闹噶钋辶愫椭梦籋M:BCLR HM ;清零HMBSET HM ;置位HM7. HM位當DSP得到HOLD信號時,會將外部接口總線置于高阻態(tài)。根據(jù)HM的值,DSP也可以停止內(nèi)部程序執(zhí)行。如果INTM0,C55x使能所有可屏蔽中斷如果INTM1

47、,C55x禁止所有可屏蔽中斷使用INTM位需要注意的要點:INTM位能夠全局使能或禁止可屏蔽中斷,但是它對不可屏蔽中斷無效。在使用INTM位時,要使用狀態(tài)位清零和置位指令來修改INTM位。其它能影響INTM位的,只有軟件中斷指令和軟件置位指令。8. INTM位CPU響應(yīng)中斷請求時,自動保存INTM位。特別地,CPU把ST1_55保存到數(shù)據(jù)堆棧時,INTM位也被保存起來。執(zhí)行中斷服務(wù)子程序(ISR)之前,CPU自動置位INTM位,禁止所有的可屏蔽中斷。ISR可以通過清零INTM位,來重新開放可屏蔽中斷。中斷返回指令,從數(shù)據(jù)堆?;謴虸NTM位的值。在調(diào)試器實時仿真模式下,CPU暫停時,忽略INTM

48、位,CPU只處理臨界時間中斷。 如果M400,D單元的計算模式選擇32位模式:第31位是符號位計算過程中的進位取決于第31位由第31位判斷是否溢出飽和過程,飽和值是00 7FFF FFFFh(正溢出)或FF 8000 0000h(負溢出)累加器和0的比較,用第310位來進行可對整個32位進行移位和循環(huán)操作9. M40位累加器左移或循環(huán)移位時,從第31位移出累加器右移或循環(huán)移位時,移入的位插入到第31位上對于累加器帶符號位的移位如果SXMD0,則累加器的保護位值要設(shè)為0如果SXMD1,累加器的保護位要設(shè)為第31位的值;對于累加器的任何循環(huán)移位或邏輯移位,都要清零目的累加器的保護位如果M401,D

49、單元的計算模式選擇40位的帶符號移位模式:第39位是符號位計算過程中的進位取決于第39位由第39位判斷是否溢出飽和過程,飽和值是7F FFFF FFFFh(正溢出)或80 0000 0000h(負溢出)累加器和0的比較,用第390位來進行可對整個40位進行移位和循環(huán)操作累加器左移或循環(huán)移位時,從第39位移出累加器右移或循環(huán)移位時,移入的位插入到第39位上如果SATD0,關(guān)閉D單元的飽和模式,不執(zhí)行飽和模式如果SATD1,打開D單元的飽和模式如果D單元內(nèi)的運算產(chǎn)生溢出,則結(jié)果值飽和飽和值取決于M40位M400,CPU的飽和值為00 7FFF FFFFh(正溢出)或FF 8000 0000h(負溢

50、出)M401,CPU的飽和值為7F FFFF FFFFh(正溢出)或80 0000 0000h(負溢出)10. SATD位如果SXMD0,關(guān)閉D單元的符號擴展模式對于40位的運算,16位或更小的操作數(shù)都要補0,擴展至40位對于條件減法指令,任何16位的除數(shù)都可以得到理想的結(jié)果當D單元的ALU被局部配置為雙16位模式時,D單元ALU的高16位補零擴展至24位。累加器值右移時,高段和低段的16位補零擴展累加器帶符號移位時,如果是一個32位操作(M40=0),累加器的保護位(第3932位)填零累加器帶符號右移時,移位值補零擴展11. SXMD位如果SXMD1時,打開符號擴展模式:對于40位的運算,1

51、6位或更小的操作數(shù),都要符號擴展至40位對于條件減法指令,16位的除數(shù)必須是正數(shù),其最高位(MSB)必須是0當D單元的ALU局部配置為雙16位模式時,D單元ALU的高16位值帶符號擴展至24位。累加器右移時,高段和低段的16位都要帶符號擴展累加器帶符號移位時,其值帶符號擴展如果是一個32位操作(M40=0),則將第31位的值,復制到累加器的保護位(第3932位)累加器帶符號右移時,除非有限定符uns()表明它是無符號的,否則移位值都要被帶符號擴展。對于無符號運算(布爾邏輯運算、循環(huán)移位和邏輯移位運算),不管SXMD的值是什么,輸入的操作數(shù)都要被補零擴展至40位。對于乘加單元MAC里的運算,不管

52、SXMD值是多少,輸入的操作數(shù)都要帶符號擴展至17位。如果指令里的操作數(shù)是在限定符uns()里,則不管SXMD值是多少,都視為無符號的用下面的指令清零和置位SXMD: BCLR SXMD ;清零SXMD BSET SXMD ;置位SXMDXF是通用的輸出位,能用軟件處理且可輸出至DSP引腳用下面的指令清零和置位XF:BCLR XF ;清零XFBSET XF ;置位XF12. XF位2.4.11 狀態(tài)寄存器ST2_55ARnLC (n0、1、2、3、4、5、6、7)位決定ARn用作線性尋址還是循環(huán)尋址。ARnLC0:線性尋址ARnLC1:循環(huán)尋址1. AR0LCAR7LC位域 用狀態(tài)位清零/置位

53、 指令來清零/置位ARnLC。例: BCLR AR3LC ;清零AR3LC BSET AR3LC ;置位AR3LC如果ARMS0,輔助寄存器(AR)間接尋址的CPU模式采用DSP模式操作數(shù),該操作數(shù)能有效執(zhí)行DSP專用程序。這些操作數(shù)里,有的在指針加/減時使用反向操作數(shù)。短偏移操作數(shù)不可用。如果ARMS1,輔助寄存器(AR)間接尋址的CPU模式采用控制模式操作數(shù),該操作數(shù)能為控制系統(tǒng)的應(yīng)用優(yōu)化代碼的大小。短偏移操作數(shù)*ARn(short(#k3)可用。其它偏移需要在指令里進行2字節(jié)擴展,而這些有擴展的指令不能和其他指令并行執(zhí)行。2. ARMS位用下面的指令和偽指令來改變模式:BCLR ARMS

54、 ;清零ARMS(運行時).ARMS_off ;告知編譯器ARMS0BSET ARMS ;置位ARMS(運行時).ARMS_on ;編譯器ARMS1CDPLC位決定系數(shù)數(shù)據(jù)指針(CDP)是用線性尋址(CDPLC0),還是循環(huán)尋址(CDPLC位1)用下面的指令清零和置位CDPLC:BCLR CDPLC ;清零CDPLCBSET CDPLC ;置位CDPLC3. CDPLC位DBGM位用于調(diào)試程序里有嚴格時間要求的部分 如果DBGM0,使能該位 如果DBGM1,禁止該位。仿真器不能訪問存儲器和寄存器。軟件斷點仍然可以使CPU暫停,但不會影響硬件斷點或暫停請求4. DBGM位 為了保護流水,只能由狀

55、態(tài)位清零/置位指令修改DBGM,其它指令都不會影響DBGM位:BCLR DBGM ;清零DBGMBSET DBGM ;置位DBGM當CPU響應(yīng)一個中斷請求時,會自動保護DBGM位的狀態(tài)。確切地說,當CPU把ST2_55保存到數(shù)據(jù)堆棧時,DGBM位就被保存起來執(zhí)行一個中斷服務(wù)子程序(ISR)前,CPU自動置位DBGM,禁止調(diào)試。ISR可以通過清零DBGM位,重新使能調(diào)試EALLOW使能(EALLOW0)或禁止(EALLOW1)對非CPU仿真寄存器的寫訪問當CPU響應(yīng)一個中斷請求時,自動保存EALLOW位的狀態(tài)。確切地說,當CPU把ST2_55保存到數(shù)據(jù)堆棧時,也就是保存了EALLOW位執(zhí)行一個中

56、斷服務(wù)子程序(ISR)前,CPU自動清EALLOW位,禁止訪問仿真寄存器。ISR通過置位EALLOW位,可以重新開放對仿真寄存器的訪問中斷返回指令,從數(shù)據(jù)堆?;謴虴ALLOW位5.EALLOW位 在D單元執(zhí)行的一些指令里,CPU將rnd()括號里的操作數(shù)取整。取整操作的類型取決于RDM的值如果RDM=0,CPU給40位的操作數(shù)加上8000h(即215),然后CPU清零第150位,產(chǎn)生一個24位或16位的取整結(jié)果若結(jié)果是24位的整數(shù),只有第3916位是有意義的若結(jié)果是16位的整數(shù),只有第3116位是有意義的6. RDM位如果RDM=1,取整至最接近的整數(shù)。取整結(jié)果取決于40位操作數(shù)的第150位:

57、If(0=(位15-0)8000h) CPU 清零第150位 If(8000h(位15-0)10000h) CPU給該操作數(shù)加上8000h,再清零第150位 If ((位15-0)= =8000h) If (位31-16)是奇數(shù) CPU給該操作數(shù)加上8000h,再清零第150位2.4.12 狀態(tài)寄存器ST3_55 說明: ST3_55的第118位總是寫作1100b(Ch)檢查是否已完成程序cache清零CACLR0:已經(jīng)完成。清零過程完成時, cache硬件清零CACLR位CACLR1:未完成。所有的cache塊無效清零cache所需的時間周期數(shù)取決于存儲器的結(jié)構(gòu)當cache清零后,指令緩沖器

58、單元里的預取指令隊列的內(nèi)容會自動清零1. CACLR位使能或禁止程序cacheCAEN0:禁止。cache控制器不接收任何程序要求,所有的程序要求都由片內(nèi)存儲器或片外存儲器(根據(jù)解碼的地址而定)來處理。CAEN1:使能。依據(jù)解碼的地址,可以從cache、片內(nèi)存儲器或片外存儲器提取程序代碼。當清零CAEN位禁止cache時,I單元的指令緩沖隊列的內(nèi)容會自動清零2. CAEN位CAFRZ能鎖定程序cacheCAFRZ0 :cache工作在默認操作模式CAFRZ1 :cache被凍結(jié)(其內(nèi)容被鎖定)。沒有訪問該cache時,它的內(nèi)容不會更改,但被訪問時仍然可用。cache內(nèi)容一直保持不變,直到CAF

59、RZ位清零3. CAFRZ位檢測到一個內(nèi)部總線錯誤時,置位CBERR。該錯誤使CPU在中斷標志寄存器1(IFR1)里置位總線錯誤中斷標志BERRINTF對CBERR位寫1無效。該位只在發(fā)生內(nèi)部總線錯誤時才為1??偩€錯誤的中斷服務(wù)子程序,返回控制中斷程序的代碼以前,必須清零CBERR。4. CBERR位當CLKOFF1,CLKOUT引腳的輸出被禁止,且保持高電平用下面的指令清零和置位CLKOFF:BCLR CLKOFF ;清零CLKOFFBSET CLKOFF ;置位CLKOFF5. CLKOFF位用HINT位通過主機接口,發(fā)送一個中斷請求給主機處理器。先清零,然后再給HINT置位,產(chǎn)生一個低電

60、平有效的中斷脈沖:BCLR HINT ;清零HINTBSET HINT ;置位HINT6. HINT位MPNMC位使能或禁止片上ROMMPNMC0:微計算機模式。使能片上ROM,可以在程序空間尋址。MPNMC1:微處理器模式。禁止片上ROM,不映射在程序空間里。MPNMC的改變,反映復位過程中MP/MC引腳的邏輯電平(高電平1,低電平0)僅在復位時才對MP/MC引腳采樣。軟件中斷指令不影響MPNMC7. MPNMC位SATA決定A單元ALU的溢出結(jié)果是否飽和SATA0:關(guān)閉。不執(zhí)行飽和SATA1:打開。如果A單元的ALU里的計算產(chǎn)生溢出,則結(jié)果飽和至7FFFh(正向飽和)或8000h(負向飽和

溫馨提示

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

評論

0/150

提交評論