




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、nTMS320C55x的總體結(jié)構(gòu)的總體結(jié)構(gòu)n封裝和引腳功能封裝和引腳功能nCPU結(jié)構(gòu)結(jié)構(gòu)nCPU寄存器寄存器 n存儲空間和存儲空間和I/O空間空間 n堆棧操作堆棧操作 n中斷和復(fù)位操作中斷和復(fù)位操作 第第2章章 TMS320C55x的硬件結(jié)構(gòu)的硬件結(jié)構(gòu)VC5509-A評估板原理框圖評估板原理框圖2.1 TMS320C55x的總體結(jié)構(gòu)的總體結(jié)構(gòu)lC55x芯片由芯片由CPU、存儲空間、片內(nèi)、存儲空間、片內(nèi)外設(shè)組成外設(shè)組成l不同芯片體系結(jié)構(gòu)相同,具有相同不同芯片體系結(jié)構(gòu)相同,具有相同的的CPU,片上存儲器和外圍電路配,片上存儲器和外圍電路配置有所不同置有所不同圖圖2-1 TMS320VC5509A框
2、圖框圖2.1.1 C55x CPU內(nèi)部總線結(jié)構(gòu)l內(nèi)部獨立總線內(nèi)部獨立總線:12組組u程序地址總線(程序地址總線(PAB):1組組,24位位u程序數(shù)據(jù)總線(程序數(shù)據(jù)總線(PB):1組組,32位位u數(shù)據(jù)讀地址總線(數(shù)據(jù)讀地址總線(BAB、CAB、DAB):3組組,24位位u數(shù)據(jù)讀總線(數(shù)據(jù)讀總線(BB、CB、DB):3組,組,16位位u數(shù)據(jù)寫地址總線(數(shù)據(jù)寫地址總線(EAB、FAB):2組,組,24位位u數(shù)據(jù)寫總線(數(shù)據(jù)寫總線(EB、FB):2組組,16位。位。2.1.2 C55x的CPU組成l指令緩沖單元(指令緩沖單元(I單元)單元)l程序流單元(程序流單元(P單元)單元)l地址地址-數(shù)據(jù)流單元
3、(數(shù)據(jù)流單元(A單元)單元)l數(shù)據(jù)運算單元(數(shù)據(jù)運算單元(D單元)單元)l存儲器接口單元(存儲器接口單元(M單元)單元)2.1.3 C55x存儲器配置l存儲空間存儲空間l支持的存儲器類型支持的存儲器類型l特點特點 片內(nèi)存儲空間共有片內(nèi)存儲空間共有352KB(176K字)字);外部存儲空間共有外部存儲空間共有16MB (8M字)字)異步異步SRAM、EPROM;同步同步DRAM;同步突發(fā)同步突發(fā)SRAM采用統(tǒng)一的程序采用統(tǒng)一的程序/地址空間存儲地址空間存儲空間空間; I/O空間與程序空間與程序/地址空間分開地址空間分開存儲器存儲器5501550255035506550755095510ROM(K
4、B)32326464646432RAM(KB)326464128128256320表2 C55x片內(nèi)存儲器配置2.1.4 C55x外設(shè)配置外設(shè)配置l模數(shù)轉(zhuǎn)換器(模數(shù)轉(zhuǎn)換器(ADC)l可編程數(shù)字鎖相環(huán)時鐘發(fā)生器(可編程數(shù)字鎖相環(huán)時鐘發(fā)生器(DPLL)l外部存儲器接口(外部存儲器接口(EMIF)l直接存儲器訪問控制器(直接存儲器訪問控制器(DMA)l多通道串行緩沖口(多通道串行緩沖口(McBSP)1010位,用于采集電壓、位,用于采集電壓、面板旋鈕的輸入值面板旋鈕的輸入值為為VC5509A提供最小時提供最小時鐘,鐘,CPU的時鐘頻率可的時鐘頻率可達達200MHz,最小機器,最小機器周期為周期為5n
5、s可以實現(xiàn)與各種存儲器可以實現(xiàn)與各種存儲器件無縫連接件無縫連接在無在無CPU涉入的情況下,涉入的情況下,允許數(shù)據(jù)在內(nèi)部存儲器允許數(shù)據(jù)在內(nèi)部存儲器和外部存儲器、增強型和外部存儲器、增強型主機接口主機接口(EHPI) 之間傳之間傳輸輸為全雙工串口,為全雙工串口,VC5509設(shè)設(shè)有有3個個McBSPl增強型主機接口增強型主機接口(EHPI)l2個個20位的通用定時位的通用定時/計計數(shù)器數(shù)器l8個可配置的通用個可配置的通用I/O引引腳(腳(GPIO)l實時時鐘(實時時鐘(Real Time Clock,RTC)l看門狗定時器看門狗定時器(Watchdog Timer) lUSBlI2C總線接口總線接口
6、 為為16位并行接口,用于位并行接口,用于提供主處理器對提供主處理器對DSP上上的內(nèi)部存儲器的訪問,的內(nèi)部存儲器的訪問,可被配置成復(fù)用或非復(fù)可被配置成復(fù)用或非復(fù)用形式用形式提供一個時間參考,并提供一個時間參考,并能產(chǎn)生基于時間的報警能產(chǎn)生基于時間的報警來中斷來中斷DSP可以在軟件陷入循環(huán)有沒可以在軟件陷入循環(huán)有沒有受控退出的情況下,防有受控退出的情況下,防止止 系統(tǒng)死鎖系統(tǒng)死鎖目前目前VC5506、VC5507、 VC5509各提供了各提供了1個個USB接接口口2.2 C55x的封裝和引腳功能的封裝和引腳功能 n不同不同C55x芯片通常有不同封裝芯片通常有不同封裝n為滿足不同用途需求,為滿足不
7、同用途需求,C55x同一個芯片也往往同一個芯片也往往有多種封裝有多種封裝n 本節(jié)以本節(jié)以TMS320VC5509A PGE 封裝為例講述封裝為例講述引腳配置及功能引腳配置及功能n只給出只給出VC5509A PGE引腳的定義和簡要描述,引腳的定義和簡要描述,詳細(xì)描述請參考文獻詳細(xì)描述請參考文獻SPRS205J圖圖2-2 TMS320VC5509A的封裝的封裝(a) 179腳腳BGA封裝封裝(底視圖底視圖) (b) 144腳腳PGE封裝封裝(頂視圖頂視圖)2.2.1 引腳屬性引腳屬性表表2-1 VC5509A PGE信號引腳對應(yīng)圖信號引腳對應(yīng)圖(1)表表2-1 VC5509A PGE信號引腳對應(yīng)圖
8、(信號引腳對應(yīng)圖(2)表表2-1 VC5509A PGE信號引腳對應(yīng)圖(信號引腳對應(yīng)圖(3)表表2-1 VC5509A PGE信號引腳對應(yīng)圖(信號引腳對應(yīng)圖(4)2.2.2 引腳信號定義與描述引腳信號定義與描述n并行總線引腳并行總線引腳n初始化、中斷和復(fù)位初始化、中斷和復(fù)位引腳引腳n位輸入位輸入/輸出信號輸出信號n振蕩器振蕩器/時鐘信號時鐘信號n實時時鐘實時時鐘nI2C總線總線nMcBSP接口接口nUSB接口接口nA/D接口接口n測試測試/仿真引腳仿真引腳n電源引腳電源引腳2.3 C55x的的CPU結(jié)構(gòu)結(jié)構(gòu)n 存儲器接口單元(存儲器接口單元(M單元)單元)n 指令緩沖單元(指令緩沖單元(I單元
9、)單元)n程序流單元(程序流單元(P單元)單元)n地址數(shù)據(jù)流單元(地址數(shù)據(jù)流單元(A單元)單元)n數(shù)據(jù)計算單元(數(shù)據(jù)計算單元(D單元)單元)n內(nèi)部地址總線與數(shù)據(jù)總線內(nèi)部地址總線與數(shù)據(jù)總線圖圖2-3 C55x的的CPU結(jié)構(gòu)框圖結(jié)構(gòu)框圖讀數(shù)據(jù)的數(shù)據(jù)總線BB,CB,DB(每組16位)讀程序的數(shù)據(jù)總線PB(每組32位)讀數(shù)據(jù)的地址總線BAB,CAB,DAB(每組24位)M單元I單元P單元A單元D單元寫數(shù)據(jù)的地址總線EAB,FAB(每組24位)寫數(shù)據(jù)的數(shù)據(jù)總線EB,FB(每組16位)C CP PU U外部數(shù)據(jù)總線外部程序總線讀程序的地址總線PAB(每組24位)2.3.1 存儲器接口單元(存儲器接口單元(
10、M單元)單元)l內(nèi)部數(shù)據(jù)流、指令流接口內(nèi)部數(shù)據(jù)流、指令流接口l管理所有來自管理所有來自CPU、數(shù)據(jù)空間或、數(shù)據(jù)空間或I/O空間的空間的數(shù)據(jù)和指令數(shù)據(jù)和指令l負(fù)責(zé)負(fù)責(zé)CPU和數(shù)據(jù)空間以及或和數(shù)據(jù)空間以及或CPU和和I/O空間空間的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸2.3.2 指令緩沖單元(指令緩沖單元(I單元)單元)程序讀數(shù)據(jù)總線PB(4字節(jié)代碼)M單元指令緩沖隊列(64字節(jié))指令解碼器P 單元A 單元D 單元I單元圖圖2-4 I單元結(jié)構(gòu)框圖單元結(jié)構(gòu)框圖每個機器周期,PB從程序空間傳送32位的程序代碼至I單元的指令緩沖隊列;當(dāng)CPU準(zhǔn)備譯碼時,6個字節(jié)的代碼從隊列發(fā)送到I單元的指令解碼器;其能夠識別指令邊界,
11、譯碼8、16、24、32、40和48位的指令,決定2條指令是否并行執(zhí)行,將譯碼結(jié)果和立即數(shù)送至P單元、A單元、D單元2.3.3 程序流單元(程序流單元(P單元)單元)圖圖2-5 P單元結(jié)構(gòu)框圖單元結(jié)構(gòu)框圖數(shù)據(jù)讀數(shù)據(jù)總線CB,DB (每組16位數(shù)據(jù))M單元程序地址產(chǎn)生器和程序控制邏輯P單元寄存器I單元A單元D單元數(shù)據(jù)寫數(shù)據(jù)總線EB,FB (每組16位數(shù)據(jù))程序讀地址總線PAB (24位地址)P單元程序地址產(chǎn)生邏輯:程序地址產(chǎn)生邏輯:產(chǎn)生24位的程序空間取指的地址;可產(chǎn)生順序地址;也可以I單元的立即數(shù)或D單元的寄存器值作為地址程序控制邏輯程序控制邏輯: 接收來自I單元的立即數(shù),并測試來自A單元或D
12、單元的結(jié)果從而執(zhí)行如下動作: 測試條件執(zhí)行指令的條件是否成立,把測試結(jié)果送程序地址發(fā)生器; 當(dāng)中斷被請求或使能時,初始化中斷服務(wù)程序; 控制單一指令重復(fù)或塊指令重復(fù);管理并行執(zhí)行的指令P單元的作用:單元的作用:產(chǎn)生程序空間地址,并加載地址到PAB;控制指令流順序2.3.4 地址數(shù)據(jù)流單元(地址數(shù)據(jù)流單元(A單元)單元)圖圖2-6 A單元結(jié)構(gòu)框圖單元結(jié)構(gòu)框圖數(shù)據(jù)讀數(shù)據(jù)總線 CB,DB(每組16位數(shù)據(jù))M單元數(shù)據(jù)地址產(chǎn)生器單元(DAGEN)A單元寄存器A單元ALU D單元P單元數(shù)據(jù)寫數(shù)據(jù)總線 EB,F(xiàn)B(每組16位數(shù)據(jù))I單元數(shù)據(jù)寫地址總線 EAB,FAB(每組24位地址)數(shù)據(jù)讀地址總線 BAB,
13、CAB,DAB(每組24位地址)A單元 DAGEN產(chǎn)生所有讀寫數(shù)據(jù)空產(chǎn)生所有讀寫數(shù)據(jù)空間的地址。間的地址。 可接收來自I單元的立即數(shù)或來自A單元的寄存器值; 根據(jù)P單元指示,對間接尋址方式時選擇使用線性尋址還是循環(huán)尋址。 ALU可接收來自可接收來自I單元的立即數(shù)單元的立即數(shù)或與存儲器、或與存儲器、I/O空間、空間、A單元寄存單元寄存器、器、D單元寄存器和單元寄存器和P單元寄存器進單元寄存器進行雙向通信??赏瓿扇缦聞幼鳎盒须p向通信??赏瓿扇缦聞幼鳎?加法、減法、比較、布爾邏輯、加法、減法、比較、布爾邏輯、符號移位、邏輯移位和絕對值計算;符號移位、邏輯移位和絕對值計算; 測試、設(shè)置、清空、求補測試
14、、設(shè)置、清空、求補A單單元寄存器位或存儲器位域;元寄存器位或存儲器位域; 改變或轉(zhuǎn)移寄存器值,循環(huán)移改變或轉(zhuǎn)移寄存器值,循環(huán)移位寄存器值,從移位器向一個位寄存器值,從移位器向一個A單單元寄存器送特定值。元寄存器送特定值。2.3.5 數(shù)據(jù)計算單元(數(shù)據(jù)計算單元(D單元單元)圖圖2-7 D2-7 D單元結(jié)構(gòu)框圖單元結(jié)構(gòu)框圖數(shù)據(jù)讀數(shù)據(jù)總線BB,CB,DB(每組16位數(shù)據(jù))數(shù)據(jù)寫數(shù)據(jù)總線 EB,FB(每組16位數(shù)據(jù))M單元I單元D單元寄存器D單元ALU 移位器兩個MACA單元P單元D單元 接收來自接收來自I單元的立即數(shù),單元的立即數(shù), 與存儲器、與存儲器、I/O空間、空間、D單元寄存器、單元寄存器、P
15、單元寄存器、單元寄存器、A單元寄存器進行雙向通信;單元寄存器進行雙向通信; 把移位結(jié)果送至把移位結(jié)果送至D單元的單元的ALU或或A單單元的元的ALU; 實現(xiàn)實現(xiàn)40位累加器值最大左移位累加器值最大左移31位或最位或最大右移大右移32位;位; 實現(xiàn)實現(xiàn)16位寄存器、存儲器或位寄存器、存儲器或I/O空間空間數(shù)據(jù)最大左移數(shù)據(jù)最大左移31位或最大右移位或最大右移32位;位; 實現(xiàn)實現(xiàn)16位立即數(shù)最大左移位立即數(shù)最大左移15位;位; 提取或擴張位域,執(zhí)行位計數(shù);提取或擴張位域,執(zhí)行位計數(shù); 對寄存器值進行循環(huán)移位對寄存器值進行循環(huán)移位; 在累加器的值存入數(shù)據(jù)空間之前,對在累加器的值存入數(shù)據(jù)空間之前,對它
16、們進行取整它們進行取整/飽和處理。飽和處理。 可從可從I單元接收立即數(shù),或與存儲器、單元接收立即數(shù),或與存儲器、I/O空間、空間、D單元寄存器、單元寄存器、P單元寄存器、單元寄存器、A單元寄存器進行雙向通信單元寄存器進行雙向通信,還可接收移還可接收移位器的結(jié)果;位器的結(jié)果; 加法、減法、比較、取整、飽和、加法、減法、比較、取整、飽和、布爾邏輯以及絕對值運算;布爾邏輯以及絕對值運算; 在執(zhí)行一條雙在執(zhí)行一條雙16位算術(shù)指令時,同位算術(shù)指令時,同時進行兩個算術(shù)操作;時進行兩個算術(shù)操作; 測試、設(shè)置、清除以及求測試、設(shè)置、清除以及求D單元寄存單元寄存器的補碼;器的補碼; 對寄存器的值進行移動。對寄存
17、器的值進行移動。 可支持乘法和加可支持乘法和加/減法。在單個機減法。在單個機器周期內(nèi),每個器周期內(nèi),每個MAC可以進行一次可以進行一次1717位小數(shù)或整數(shù)乘法運算和一次帶位小數(shù)或整數(shù)乘法運算和一次帶有可選的有可選的32或或40位飽和處理的位飽和處理的40位加位加/減法運算。減法運算。MAC的結(jié)果送累加器;的結(jié)果送累加器; MAC接收來自接收來自I單元的立即數(shù),或單元的立即數(shù),或來自存儲器、來自存儲器、I/O空間、空間、A單元寄存器的單元寄存器的數(shù)據(jù),和數(shù)據(jù),和D單元寄存器、單元寄存器、P單元寄存器單元寄存器進行雙向通信;進行雙向通信; MAC的操作會影響的操作會影響P單元狀態(tài)寄存單元狀態(tài)寄存器
18、的某些位。器的某些位。2.3.6 地址總線與數(shù)據(jù)總線地址總線與數(shù)據(jù)總線lC55x的的CPU總線總線u1組組32位程序總線:位程序總線:PBu5組組16位數(shù)據(jù)總線:位數(shù)據(jù)總線: BB、CB、DB、EB、FBu6組組24位地址總線:位地址總線:PAB、BAB、CAB、DAB、EAB、FABl特點:特點: 這種總線并行機構(gòu)使這種總線并行機構(gòu)使CPU在一個機器周期內(nèi),能夠讀在一個機器周期內(nèi),能夠讀1次次32位程序代碼、讀位程序代碼、讀3次次16位數(shù)據(jù)、寫位數(shù)據(jù)、寫2次次16位地址位地址表表2-4 地址總線和數(shù)據(jù)總線的功能地址總線和數(shù)據(jù)總線的功能表表2-5 各種訪問類型下總線的使用(各種訪問類型下總線的
19、使用(1)表表2-5 各種訪問類型下總線的使用(各種訪問類型下總線的使用(2)2.3.7 指令流水線指令流水線 C55x的指令流水線分為兩個階段的指令流水線分為兩個階段:第一階段第一階段取指階段取指階段:從存儲器取來從存儲器取來32位指位指令包,將其存入指令緩沖隊列(令包,將其存入指令緩沖隊列(IBQ)中,)中,并送并送48位指令包給第二流水階段位指令包給第二流水階段第二階段第二階段執(zhí)行階段執(zhí)行階段:對指令進行譯碼,并對指令進行譯碼,并完成數(shù)據(jù)訪問和計算。完成數(shù)據(jù)訪問和計算。1.1.概況:概況:表表2-6 取指階段流水線的意義取指階段流水線的意義圖圖2-8 指令流水線(取指階段)指令流水線(取
20、指階段)2.2.取指階段取指階段圖圖2-9 指令流水線(執(zhí)行階段)指令流水線(執(zhí)行階段)3.3.執(zhí)行階段執(zhí)行階段表表2-7 執(zhí)行階段流水線的意義(執(zhí)行階段流水線的意義(1)表表2-7 執(zhí)行階段流水線的意義(執(zhí)行階段流水線的意義(2)lC55x的寄存器(見表的寄存器(見表2-6)lC55x寄存器的映射地址及描述(見表寄存器的映射地址及描述(見表2-7 )2.4 CPU寄存器寄存器2.4.1 概況概況 注意事項:注意事項: ST0_55、ST1_55和和ST3_55都有兩個訪問地址;都有兩個訪問地址; T3、RSA0L、REA0L和和SP有兩個訪問地址;有兩個訪問地址; 任何裝入任何裝入BRC1的
21、指令將相同的值裝入的指令將相同的值裝入BRS1。 對于對于ST0_55、ST1_55和和ST3_55,對于其中一個地址,所有的對于其中一個地址,所有的C55x位均位均可訪問;在另外一個地址(稱為保護地可訪問;在另外一個地址(稱為保護地址),某些保護位不能被修改。保護地址),某些保護位不能被修改。保護地址是為了提供對址是為了提供對C54x代碼的支持,以代碼的支持,以便寫入便寫入ST0、ST1以及以及PMST(C54x對對應(yīng)應(yīng)ST3_55) 對于對于T3、RSA0L、REA0L和和SP,當(dāng)使用當(dāng)使用DP直接尋址方式訪問存儲器映直接尋址方式訪問存儲器映射寄存器時,將訪問兩個地址中更高的射寄存器時,將
22、訪問兩個地址中更高的地址,即地址,即 T3=23H(不是(不是0EH);); RSA0L=3DH(不是(不是1BH);); REA0L=3FH(不是(不是1CH);); SP=4DH(不是(不是18H)表表2-6 寄存器總表(寄存器總表(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的高位部
23、分7位CFCT控制流關(guān)系寄存器8位CSR計算單循環(huán)寄存器16位DBIER0,DBIER1調(diào)試中斷使能寄存器0和116位DP數(shù)據(jù)頁寄存器(XDP的低位部分)16位DPHXDP的高位部分7位IER0,IER1中斷使能寄存器0和116位IFR0,IFR1中斷標(biāo)志寄存器0和116位IVPD,IVPH中斷向量指針16位表表2-6 寄存器總表(寄存器總表(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的高位
24、7位SSP系統(tǒng)堆棧指針16位ST0_55ST3_55狀態(tài)寄存器0316位T0T3暫時寄存器16位TRN0TRN1變換寄存器0和116位XAR0XAR7擴展輔助寄存器0723位XCDP擴展系數(shù)數(shù)據(jù)指針23位XDP擴展數(shù)據(jù)頁寄存器23位XSP擴展數(shù)據(jù)堆棧指針23位XSSP擴展系統(tǒng)堆棧指針23位表表2-7 存儲器映射寄存器(存儲器映射寄存器(1) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(2) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(3) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(4) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(5) 表表2-7 存儲器映射寄存器(存儲器映射
25、寄存器(6) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(7) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(8) 表表2-7 存儲器映射寄存器(存儲器映射寄存器(9) 2.4.2 累加器(累加器(AC0AC3)lC55x的的CPU包括包括4個個40位的累加器位的累加器AC0、AC1、AC2、AC3lAC0、AC1、AC2、AC3等價。任何一條使用一個累加等價。任何一條使用一個累加器的指令,都可以通過編程來使用器的指令,都可以通過編程來使用4個累加器中的任何一個累加器中的任何一個個l在在C54x兼容模式(兼容模式(C54CM=1)下,累加器)下,累加器AC0、AC1分分別對應(yīng)于別對應(yīng)于C
26、54x里的累加器里的累加器A、B l 每個累加器分為低字(每個累加器分為低字(ACxL)、高字()、高字(ACxH) 和和8個個保護位(保護位(ACxG),用戶可以使用訪問存儲器映射寄存器用戶可以使用訪問存儲器映射寄存器的尋址方式,分別訪問這的尋址方式,分別訪問這3部分部分 AC0GAC0LAC0HAC1GAC1LAC1HAC2GAC2LAC2HAC3GAC3LAC3HAC0AC1AC2AC3393231161502.4.3 變換寄存器變換寄存器TRN0、TRN1lC55x有有2個變換寄存器個變換寄存器TRN0、TRN1l用途:在用途:在比較比較-選擇選擇-極值極值指令里使用指令里使用u比較兩
27、個累加器的高段字和低段字后,執(zhí)行選擇兩比較兩個累加器的高段字和低段字后,執(zhí)行選擇兩個個16位極值的指令,以更新位極值的指令,以更新TRN0和和TRN1。比較累。比較累加器的高段字后更新加器的高段字后更新TRN0,比較累加器的低段字后,比較累加器的低段字后更新更新TRN1u在比較完兩個累加器的全部在比較完兩個累加器的全部40位后,執(zhí)行選擇一個位后,執(zhí)行選擇一個40位極值的指令,以更新被選中的變換寄存器位極值的指令,以更新被選中的變換寄存器(TRN0或或TRN1) 2.4.4 T寄存器(寄存器(T0-T3) l用途用途u存放乘法、乘加以及乘減運算里的一個乘數(shù)存放乘法、乘加以及乘減運算里的一個乘數(shù)u
28、存放存放D單元里加法、減法和裝入運算的移位數(shù)單元里加法、減法和裝入運算的移位數(shù)u用交換指令交換輔助寄存器(用交換指令交換輔助寄存器(AR0-AR7)和)和T寄存器寄存器中的內(nèi)容時,跟蹤多個指針值中的內(nèi)容時,跟蹤多個指針值u在在D單元單元ALU里作雙里作雙16位運算時,存放位運算時,存放Viterbi蝶形的蝶形的變換尺度變換尺度l CPU包括包括4個個16位通用位通用T寄寄存器:存器:T0、T1、T2、T32.4.5 用作數(shù)據(jù)地址空間和用作數(shù)據(jù)地址空間和I/O空間的寄存器空間的寄存器 表表2-8 用作數(shù)據(jù)地址空間和用作數(shù)據(jù)地址空間和I/O空間的寄存器空間的寄存器1. 輔助寄存器(輔助寄存器(XA
29、R0XAR7/AR0AR7)低字的作用:低字的作用: 用于用于ARAR間接尋址模式,以間接尋址模式,以及雙及雙ARAR間接尋址模式。間接尋址模式。 提供提供7 7位數(shù)據(jù)頁內(nèi)的位數(shù)據(jù)頁內(nèi)的1616位偏位偏移量(形成一個移量(形成一個2323位地址)位地址); ;存放位地址存放位地址; ;作為通用寄存器作為通用寄存器或計數(shù)器?;蛴嫈?shù)器。高高7 7位用于指定要訪問數(shù)據(jù)位用于指定要訪問數(shù)據(jù)空間的數(shù)據(jù)頁空間的數(shù)據(jù)頁訪問屬性:訪問屬性: XARn只能用專用指令訪問; ARn可用專用指令訪問,也可以作為存儲器映射寄存器訪問; ARnH不能單獨訪問,必須通過訪問XARn來訪問ARnHlCPU在存儲器中映射了一
30、個系數(shù)數(shù)據(jù)指針(在存儲器中映射了一個系數(shù)數(shù)據(jù)指針(CDP)和)和一個相關(guān)的擴展寄存器(一個相關(guān)的擴展寄存器(CDPH):):2. 系數(shù)數(shù)據(jù)指針(系數(shù)數(shù)據(jù)指針(XCDP/CDP)lCPU可以連接這個寄存器形成一個擴展系數(shù)數(shù)據(jù)指針可以連接這個寄存器形成一個擴展系數(shù)數(shù)據(jù)指針(XCDP)u高高7位(位(CDPH)用于指定要訪問數(shù)據(jù)空間的數(shù)據(jù)頁)用于指定要訪問數(shù)據(jù)空間的數(shù)據(jù)頁u低字(低字(CDP)用來作為)用來作為16位偏移量與位偏移量與7位數(shù)據(jù)頁形成位數(shù)據(jù)頁形成一個一個23位地址位地址 lXCDP或或CDP用在用在CDP間接尋址方式和系數(shù)間接尋間接尋址方式和系數(shù)間接尋址方式中,址方式中,CDP可用于任
31、何指令中訪問一個單數(shù)據(jù)可用于任何指令中訪問一個單數(shù)據(jù)空間值,在雙空間值,在雙MAC指令中,它還可以獨立地提供第指令中,它還可以獨立地提供第三個操作數(shù)。三個操作數(shù)。 表表2-10 XCDP的訪問屬性的訪問屬性 3. 循環(huán)緩沖區(qū)首地址寄存器循環(huán)緩沖區(qū)首地址寄存器lCPU有有5個個16位的循環(huán)緩沖區(qū)首地址寄存器:位的循環(huán)緩沖區(qū)首地址寄存器:BSA01,BSA23,BSA45,BSA67,BSACl作用:定義循環(huán)的首地址作用:定義循環(huán)的首地址l每個循環(huán)緩沖區(qū)首地址寄存器與一個或兩個特殊的每個循環(huán)緩沖區(qū)首地址寄存器與一個或兩個特殊的指針相關(guān)聯(lián)指針相關(guān)聯(lián)4. 循環(huán)緩沖區(qū)大小寄存器循環(huán)緩沖區(qū)大小寄存器l三個
32、三個16位的循環(huán)緩沖區(qū)大小寄存器(位的循環(huán)緩沖區(qū)大小寄存器(BK03,BK47,BKC)l 用途:指定循環(huán)緩沖區(qū)大?。ㄗ畲鬄橛猛荆褐付ㄑh(huán)緩沖區(qū)大小(最大為65535)l每個循環(huán)緩沖區(qū)大小寄存器與一個或四個特殊的指針每個循環(huán)緩沖區(qū)大小寄存器與一個或四個特殊的指針相關(guān)聯(lián)相關(guān)聯(lián)5.數(shù)據(jù)頁寄存器(數(shù)據(jù)頁寄存器(XDP/DP)lCPU在存儲器中映射了一個數(shù)據(jù)頁寄存器(在存儲器中映射了一個數(shù)據(jù)頁寄存器(DP)和一)和一個相關(guān)的擴展寄存器(個相關(guān)的擴展寄存器(DPH)lCPU連接這兩個寄存器形成一個擴展數(shù)據(jù)頁寄存器連接這兩個寄存器形成一個擴展數(shù)據(jù)頁寄存器(XDP)uDPH指定要訪問數(shù)據(jù)空間的指定要訪問數(shù)據(jù)
33、空間的7位數(shù)據(jù)頁位數(shù)據(jù)頁u低字(低字(DP)用來代表一個)用來代表一個16位偏移地址位偏移地址l用途:用途:u在基于在基于DP的直接尋址方式中,的直接尋址方式中,XDP指定指定23位地址位地址u在在k16絕對尋址方式中,絕對尋址方式中,DPH與一個與一個16位的立即數(shù)位的立即數(shù)連接形成連接形成23位地址位地址表表2-13 XDP寄存器的訪問屬性寄存器的訪問屬性6.外設(shè)數(shù)據(jù)頁指針(外設(shè)數(shù)據(jù)頁指針(PDP)l對于對于PDP直接尋址方式,直接尋址方式, 9位的外設(shè)數(shù)據(jù)頁指針位的外設(shè)數(shù)據(jù)頁指針(PDP)選擇)選擇64K字字I/O空間中的一個空間中的一個128字頁面字頁面7.堆棧指針(堆棧指針(XSP/
34、SP,XSSP/SSP)l有關(guān)堆棧指針有關(guān)堆棧指針u數(shù)據(jù)堆棧指針數(shù)據(jù)堆棧指針(SP)u系統(tǒng)堆棧指針系統(tǒng)堆棧指針(SSP)u相關(guān)擴展寄存器相關(guān)擴展寄存器(SPH)l當(dāng)訪問數(shù)據(jù)堆棧時,當(dāng)訪問數(shù)據(jù)堆棧時,CPU連接連接SPH和和SP形成一個擴展的形成一個擴展的堆棧指針(堆棧指針(XSP),指向最后壓入數(shù)據(jù)堆棧的數(shù)據(jù)),指向最后壓入數(shù)據(jù)堆棧的數(shù)據(jù)uSPH代表代表7位數(shù)據(jù)頁位數(shù)據(jù)頁uSP指向頁中某個具體地址指向頁中某個具體地址l當(dāng)訪問系統(tǒng)堆棧時,當(dāng)訪問系統(tǒng)堆棧時,CPU連接連接SPH和和SSP形成一個擴展形成一個擴展的堆棧指針(的堆棧指針(XSSP),指向最后壓入系統(tǒng)堆棧的數(shù)據(jù)),指向最后壓入系統(tǒng)堆棧的
35、數(shù)據(jù)表表2-14 堆棧指針的訪問屬性堆棧指針的訪問屬性2.4.6 程序流寄存器(程序流寄存器(PC、RETA、CFCT)l程序流寄存器(程序流寄存器(3個)個)寄存器描 述PC24位的程序計數(shù)器。存放I單元里解碼的16字節(jié)代碼的地址.當(dāng)CPU執(zhí)行中斷或調(diào)用子程序時,當(dāng)前的PC值(返回地址)存起來,然后把新的地址裝入PC。當(dāng)CPU從中斷服務(wù)或子程序返回時,返回地址重新裝入PCRETA返回地址寄存器。如果所選擇的堆棧配置使用快速返回,則在執(zhí)行子程序時,RETA就作為返回地址的暫存器。RETA和CFCT一起,高效執(zhí)行多層嵌套的子程序??捎脤iT的32位裝入和存儲指令,成對地讀寫RETA和CFCTCFC
36、T控制流關(guān)系寄存器。CPU保存有激活的循環(huán)記錄(循環(huán)的前后關(guān)系)。如果選擇的堆棧配置使用快速返回,則在執(zhí)行子程序時,CFCT就作為8位循環(huán)關(guān)系的暫存器。RETA和CFCT一起,高效執(zhí)行多層嵌套的子程序??捎脤iT的32位 裝入和存儲指令,成對地讀寫RETA和CFCT lCFCT寄存器寄存器 CPU由內(nèi)部位按照一定規(guī)則來存放循環(huán)的前后關(guān)系,即由內(nèi)部位按照一定規(guī)則來存放循環(huán)的前后關(guān)系,即子程序里循環(huán)的狀態(tài)(激活和未激活)子程序里循環(huán)的狀態(tài)(激活和未激活)u當(dāng)當(dāng)CPU執(zhí)行中斷或調(diào)用子程序時,循環(huán)關(guān)系位就存執(zhí)行中斷或調(diào)用子程序時,循環(huán)關(guān)系位就存放在放在CFCT里里u當(dāng)當(dāng)CPU從中斷或調(diào)用子程序返回時,循
37、環(huán)關(guān)系位就從中斷或調(diào)用子程序返回時,循環(huán)關(guān)系位就從從CFCT恢復(fù)恢復(fù)表表2-16 CFCT各位的含義各位的含義2.4.7 中斷管理寄存器中斷管理寄存器表表2-17 中斷管理寄存器中斷管理寄存器 中斷向量指針(中斷向量指針(IVPD,IVPH)lDSP中斷向量指針(中斷向量指針(IVPD)l主機中斷向量指針(主機中斷向量指針(IVPH)16位,指向位,指向256字節(jié)的程序字節(jié)的程序空間中的中斷向量表空間中的中斷向量表(IV0IV15和和IV24IV31),這些中斷向量供),這些中斷向量供DSP專用專用16位,指向位,指向256字節(jié)的程序字節(jié)的程序空間中的中斷向量表空間中的中斷向量表(IV16 I
38、V23),這些中),這些中斷向量供斷向量供DSP和主機共享使和主機共享使用用 說明說明:如果如果IVPDIVPD和和IVPHIVPH的值相同,所有中斷向量可能占有相同的的值相同,所有中斷向量可能占有相同的256256字節(jié)大小的程序空間;字節(jié)大小的程序空間;DSPDSP硬件復(fù)位時,硬件復(fù)位時,IVPDIVPD和和IVPHIVPH都被裝入到都被裝入到FFFFHFFFFH地址處;地址處;IVPDIVPD和和IVPHIVPH均不受軟復(fù)位的影響均不受軟復(fù)位的影響 表表2-18 中斷向量地址中斷向量地址 在修改在修改IVPIVP之前應(yīng)確保:之前應(yīng)確保:INTM=1INTM=1,即所有可屏蔽中斷不能響應(yīng)。,
39、即所有可屏蔽中斷不能響應(yīng)。每個硬件不可屏蔽中斷對于原來的每個硬件不可屏蔽中斷對于原來的IVPDIVPD和修改后的和修改后的IVPDIVPD都有一個中斷向量和中斷服務(wù)程序。都有一個中斷向量和中斷服務(wù)程序。由由1616位的中斷向量指針加上一個位的中斷向量指針加上一個5 5位的中斷編號后左移位的中斷編號后左移3 3位組成一個位組成一個2424位的中斷地址。位的中斷地址。 2. 中斷標(biāo)志寄存器(中斷標(biāo)志寄存器(IFR0,IFR1)表表2-19 中斷標(biāo)志寄存器中斷標(biāo)志寄存器IFR1表表2-20中斷標(biāo)志寄存器中斷標(biāo)志寄存器IFR0l16位的中斷標(biāo)志寄存器IFR0和IFR1包括所有可屏蔽中斷的標(biāo)志位l當(dāng)一個
40、可屏蔽中斷向CPU提出申請時,IFR中相應(yīng)的標(biāo)志位置1,等待CPU應(yīng)答中斷l(xiāng)可以通過讀IFR標(biāo)志已發(fā)送申請的中斷,或?qū)?到IFR相應(yīng)的位撤銷中斷申請,即寫入1清相應(yīng)位為0l中斷被響應(yīng)后將相應(yīng)位清0,器件復(fù)位將所有位清03.中斷使能寄存器(中斷使能寄存器(IER0,IER1)表表2-23 中斷使能寄存器中斷使能寄存器IER1表表2-24 中斷使能寄存器中斷使能寄存器IER0 l通過設(shè)置IER0、IER1的位為u 1 ,打開相應(yīng)的可屏蔽中斷u 0 ,關(guān)閉相應(yīng)的可屏蔽l上電復(fù)位時,將所有IER位清0。lIER0、IER1不受軟件復(fù)位指令和DSP熱復(fù)位的影響,在全局可屏蔽中斷使能(INTM=1)之前應(yīng)
41、初始化它們。4. 調(diào)試中斷使能寄存器(調(diào)試中斷使能寄存器(DBIER0,DBIER1)l僅當(dāng)僅當(dāng)CPU工作在工作在 實時實時 仿真模式仿真模式 調(diào)試調(diào)試 暫停暫停 時,這兩個時,這兩個16位的調(diào)試中斷使能寄存器才會位的調(diào)試中斷使能寄存器才會使用使用l如果如果CPU工作在實時方式下,工作在實時方式下,DBIER0、DBIER1將被忽略將被忽略2.4.8 循環(huán)控制寄存器循環(huán)控制寄存器l單循環(huán)指令可以重復(fù)執(zhí)行一個單周期指令或并行執(zhí)單循環(huán)指令可以重復(fù)執(zhí)行一個單周期指令或并行執(zhí)行兩個單周期指令,重復(fù)次數(shù)行兩個單周期指令,重復(fù)次數(shù)N被裝在被裝在RPTC中,指中,指令將被重復(fù)執(zhí)行令將被重復(fù)執(zhí)行N+1次。次。
42、l在一些無條件單指令循環(huán)操作中,可以使用在一些無條件單指令循環(huán)操作中,可以使用CSR設(shè)設(shè)置重復(fù)次數(shù)。置重復(fù)次數(shù)。1.1.單指令循環(huán)控制單指令循環(huán)控制寄存器(寄存器(RPTC,CSR)2.塊循環(huán)寄存器(塊循環(huán)寄存器(BRC0,BRC1,BRS1,RSA0,RSA1,REA0,REA1)l塊循環(huán)指令可以實現(xiàn)塊循環(huán)指令可以實現(xiàn)2級嵌套,一個塊循環(huán)(級嵌套,一個塊循環(huán)(1級)嵌套在另級)嵌套在另一個塊循環(huán)(一個塊循環(huán)(0級)內(nèi)部級)內(nèi)部l當(dāng)當(dāng)C54CM=0,即工作在,即工作在C55x方式下,才實現(xiàn)方式下,才實現(xiàn)2級嵌套級嵌套u當(dāng)無循環(huán)嵌套時,當(dāng)無循環(huán)嵌套時,CPU使用使用0級寄存器級寄存器u當(dāng)出現(xiàn)循環(huán)
43、嵌套時,當(dāng)出現(xiàn)循環(huán)嵌套時,CPU對于對于1級嵌套使用級嵌套使用1級寄存器級寄存器l當(dāng)當(dāng)C54CM=1,即工作在,即工作在C54x方式下方式下u只能使用只能使用0級寄存器,通過借助塊重復(fù)標(biāo)志寄存器級寄存器,通過借助塊重復(fù)標(biāo)志寄存器(BRAF)完成嵌套)完成嵌套表表2-23 塊循環(huán)寄存器塊循環(huán)寄存器2.4.9 狀態(tài)寄存器狀態(tài)寄存器ST0_55 ST0_55(以及(以及ST1_55和和ST3_55)有)有兩個訪問地址。兩個訪問地址。 所有位都可以由第一個地址訪問,所有位都可以由第一個地址訪問,而在另一個地址(保護地址)里,加而在另一個地址(保護地址)里,加黑部分不能修改;黑部分不能修改; 保護地址是
44、為了支持把保護地址是為了支持把C54x的代的代碼寫入碼寫入ST0、ST1和和PMST累加器溢出標(biāo)志(累加器溢出標(biāo)志(ACOV0,ACOV1,ACOV2,ACOV3)l當(dāng)累加器當(dāng)累加器AC0、AC1、AC2或或AC3有數(shù)據(jù)溢出時有數(shù)據(jù)溢出時,相應(yīng)的相應(yīng)的ACOV0、ACOV1、ACOV2或或ACOV3被置被置1,直到發(fā)生以,直到發(fā)生以下任一事件:下任一事件:u復(fù)位復(fù)位uCPU執(zhí)行條件跳轉(zhuǎn)、調(diào)用、返回,或執(zhí)行一條測試執(zhí)行條件跳轉(zhuǎn)、調(diào)用、返回,或執(zhí)行一條測試ACOVx狀態(tài)的指令狀態(tài)的指令u被指令清被指令清0l溢出方式受溢出方式受M40位的影響位的影響u當(dāng)當(dāng)M40=0時,溢出檢測在第時,溢出檢測在第3
45、1位,與位,與C54x兼容兼容u當(dāng)當(dāng)M40=1時,溢出檢測在第時,溢出檢測在第39位位2. 進位位(進位位(CARRY)l進位進位/借位的檢測取決于借位的檢測取決于M40位位u當(dāng)當(dāng)M40=0時,由第時,由第31位檢測進位位檢測進位/借位借位u當(dāng)當(dāng)M40=1時,由第時,由第39位檢測進位位檢測進位/借位借位l當(dāng)當(dāng)D單元單元ALU做加法運算時,若產(chǎn)生進位,則置位做加法運算時,若產(chǎn)生進位,則置位CARRY;如果不產(chǎn)生進位時,則將如果不產(chǎn)生進位時,則將CARRY清清0例外:例外:使用以下語句(將使用以下語句(將Smem移動移動16位),有進位時置位),有進位時置位位CARRY,無進位時不清,無進位時不
46、清0。ADD Smem#16,ACx,ACyl當(dāng)當(dāng)D單元單元ALU做減法運算時做減法運算時u若產(chǎn)生借位,將若產(chǎn)生借位,將CARRY清清0。u如果不產(chǎn)生借位,則置位如果不產(chǎn)生借位,則置位CARRY。 例外例外:使用以下語句(將:使用以下語句(將Smem移動移動16位),有借位時位),有借位時 CARRY 清清0,無借位時,無借位時CARRY不變。不變。SUB Smem#16,ACx,ACylCARRY位可以被邏輯移位指令修改。對帶符號移位指令位可以被邏輯移位指令修改。對帶符號移位指令和循環(huán)移位指令,可以選擇和循環(huán)移位指令,可以選擇CARRY位是否需要修改位是否需要修改l目的寄存器是累加器時,用以
47、下指令修改目的寄存器是累加器時,用以下指令修改CARRY位,位,以指示計算結(jié)果以指示計算結(jié)果MIN src,dstMAX src,dstABSsrc,dstNEGsrc,dstl可以通過下面兩條指令對可以通過下面兩條指令對CARRY清零和置位:清零和置位:BCLR CARRY ;清零清零BSET CARRY ;置位置位3. DP位域位域lDP位域位域u占據(jù)占據(jù)ST0_55的第的第80位位u提供與提供與C54x兼容的數(shù)據(jù)頁指針兼容的數(shù)據(jù)頁指針lC55x有一個獨立的數(shù)據(jù)頁指針有一個獨立的數(shù)據(jù)頁指針DPuDP(157)的任何變化都會反映在)的任何變化都會反映在ST0_55的的DP位位域上。域上。u基
48、于基于DP的直接尋址方式,的直接尋址方式,C55x使用完整的數(shù)據(jù)頁指針使用完整的數(shù)據(jù)頁指針DP(150),因此不需要使用),因此不需要使用ST0_55的的DP位域。位域。l如果想裝入如果想裝入ST0_55,但不想改變,但不想改變DP位域的值,可以用位域的值,可以用OR或或AND指令。指令。l所有能影響一個測試所有能影響一個測試/控制位的指令,都可以選擇影響控制位的指令,都可以選擇影響TC1還是還是TC2lTCx或關(guān)于或關(guān)于TCx的布爾表達式,都可以在任何條件指的布爾表達式,都可以在任何條件指令里用作觸發(fā)器令里用作觸發(fā)器l可以通過下面指令對可以通過下面指令對TCx置位和清零:置位和清零:BCLR
49、 TC1 ;TC1清零清零BSET TC1 ;TC1置位置位BCLR TC2 ;TC2清零清零BSET TC2 ;TC2置位置位4. 測試測試/控制位(控制位(TC1,TC2) 測試測試/ /控制位用于保存一些特殊指令的測試結(jié)果,使用控制位用于保存一些特殊指令的測試結(jié)果,使用要點如下:要點如下:2.4.10 狀態(tài)寄存器狀態(tài)寄存器ST1_55l如果如果C54CM=0C55x忽略忽略ASM,C55x移位指令在暫存寄存(移位指令在暫存寄存(T0T3)里指定累加器的移位值,或者直接在指令里用)里指定累加器的移位值,或者直接在指令里用常數(shù)指定移位值。常數(shù)指定移位值。l如果如果C54CM=1 C55x以兼
50、容方式運行以兼容方式運行C54x代碼,代碼,ASM用于給出某用于給出某些些C54x移位指令的移位值,移位范圍移位指令的移位值,移位范圍-1615。1. ASM位位l如果如果C54CM=0,C55x不使用不使用BRAF。l如果如果C54CM=1,C55x以兼容方式運行以兼容方式運行C54x代碼,代碼,BRAF用于指定或控制一個塊循環(huán)操作的狀態(tài)。用于指定或控制一個塊循環(huán)操作的狀態(tài)。u在由調(diào)用、中斷或返回引起的代碼切換過程中,都要在由調(diào)用、中斷或返回引起的代碼切換過程中,都要保存和恢復(fù)保存和恢復(fù)BRAF的值。的值。u當(dāng)執(zhí)行遠程跳轉(zhuǎn)(當(dāng)執(zhí)行遠程跳轉(zhuǎn)(FB)或遠程調(diào)用()或遠程調(diào)用(FCALL)指令時,
51、)指令時,BRAF自動清零。自動清零。2. BRAF位位l如果如果C54CM=0,C55x忽略忽略C16 指令本身決定是用單指令本身決定是用單32位操作還是雙位操作還是雙16位操作。位操作。l如果如果C54CM=1,C55x以兼容方式運行以兼容方式運行C54x代碼,代碼,C16會會影響某些指令的執(zhí)行。影響某些指令的執(zhí)行。u當(dāng)當(dāng)C16=0時,關(guān)閉雙時,關(guān)閉雙16位模式,位模式,D單元單元ALU執(zhí)行一條指執(zhí)行一條指令是以單令是以單32位操作(雙精度運算)形式位操作(雙精度運算)形式u當(dāng)當(dāng)C16=1時,打開雙時,打開雙16位模式,位模式, D單元單元ALU執(zhí)行一條指執(zhí)行一條指令是以兩個并行的令是以兩
52、個并行的16位操作(雙位操作(雙16位運算)形式位運算)形式3. C16位位l如果如果C54CM0,C55x CPU不支持不支持C54x代碼代碼l如果如果C54CM1,C55x的的CPU支持支持C54x編寫的代碼編寫的代碼u在使用在使用C54x代碼時就必須置位該模式,所有代碼時就必須置位該模式,所有C55x CPU的資源都可以使用的資源都可以使用u在移植代碼時,可以利用在移植代碼時,可以利用C55x增加的特性優(yōu)化代碼增加的特性優(yōu)化代碼4. C54CM位位l可用以下指令或偽指令來改變模式:可用以下指令或偽指令來改變模式:BCLR C54CM ;清零清零C54CM(運行時)(運行時).C54CM_
53、off ;告知匯編器告知匯編器C54CM0BSET C54CM ;置位置位C54CM(運行時)(運行時).C54CM_on ;告知匯編器告知匯編器C54CM1l如果如果CPL0,CPL決定選擇決定選擇DP直接尋址模式直接尋址模式l如果如果CPL1,CPL決定選擇決定選擇SP直接尋址模式直接尋址模式l可用以下指令和偽指令來改變尋址模式:可用以下指令和偽指令來改變尋址模式:BCLR CPL ;清零清零CPL(運行時)(運行時).CPL_off ;告知匯編器告知匯編器CPL0BSET CPL ;置位置位CPL(運行時)(運行時).CPL_on;告知匯編器告知匯編器CPL15. CPL位位l如果如果F
54、RCT1,C55x打開小數(shù)模式。打開小數(shù)模式。 乘法運算的結(jié)果左乘法運算的結(jié)果左移一位進行小數(shù)點調(diào)整。兩個帶符號的移一位進行小數(shù)點調(diào)整。兩個帶符號的Q15制數(shù)相乘,得制數(shù)相乘,得到一個到一個Q31制數(shù)時,就要進行小數(shù)點調(diào)整。制數(shù)時,就要進行小數(shù)點調(diào)整。l如果如果FRCT0,C55x關(guān)閉小數(shù)模式。乘法運算的結(jié)果不關(guān)閉小數(shù)模式。乘法運算的結(jié)果不移位。移位。l可用下面的指令清零和置位可用下面的指令清零和置位FRCT:BCLR FRCT ;清零清零FRCTBSET FRCT ;置位置位FRCT6. FRCT位位l如果如果HM0,C55x繼續(xù)繼續(xù)執(zhí)行內(nèi)部程序存儲器的指令。執(zhí)行內(nèi)部程序存儲器的指令。l如果
55、如果HM1,C55x停止停止執(zhí)行內(nèi)部程序存儲器的指令。執(zhí)行內(nèi)部程序存儲器的指令。l可用下面的指令清零和置位可用下面的指令清零和置位HM:BCLR HM ;清零清零HMBSET HM ;置位置位HM7. HM位位當(dāng)當(dāng)DSPDSP得到得到HOLDHOLD信號時,會將外部接口總線置于高阻態(tài)。信號時,會將外部接口總線置于高阻態(tài)。根據(jù)根據(jù)HMHM的值,的值,DSPDSP也可以停止內(nèi)部程序執(zhí)行。也可以停止內(nèi)部程序執(zhí)行。l如果如果INTM0,C55x使能所有可屏蔽中斷使能所有可屏蔽中斷l(xiāng)如果如果INTM1,C55x禁止所有可屏蔽中斷禁止所有可屏蔽中斷l(xiāng)使用使用INTM位需要注意的要點:位需要注意的要點:uI
56、NTM位能夠全局使能或禁止可屏蔽中斷,但是位能夠全局使能或禁止可屏蔽中斷,但是它對不可屏蔽中斷無效。在使用它對不可屏蔽中斷無效。在使用INTM位時,要位時,要使用狀態(tài)位清零和置位指令來修改使用狀態(tài)位清零和置位指令來修改INTM位。其位。其它能影響它能影響INTM位的,只有軟件中斷指令和軟件位的,只有軟件中斷指令和軟件置位指令置位指令。8. INTM位位uCPU響應(yīng)中斷請求時,自動保存響應(yīng)中斷請求時,自動保存INTM位。特別地,位。特別地,CPU把把ST1_55保存到數(shù)據(jù)堆棧時,保存到數(shù)據(jù)堆棧時,INTM位也被保存位也被保存起來。起來。u執(zhí)行中斷服務(wù)子程序(執(zhí)行中斷服務(wù)子程序(ISR)之前,)之
57、前,CPU自動置位自動置位INTM位,禁止所有的可屏蔽中斷。位,禁止所有的可屏蔽中斷。ISR可以通過清零可以通過清零INTM位,來重新開放可屏蔽中斷。位,來重新開放可屏蔽中斷。u中斷返回指令,從數(shù)據(jù)堆?;謴?fù)中斷返回指令,從數(shù)據(jù)堆?;謴?fù)INTM位的值。位的值。u在調(diào)試器實時仿真模式下,在調(diào)試器實時仿真模式下,CPU暫停時,忽略暫停時,忽略INTM位,位,CPU只處理臨界時間中斷。只處理臨界時間中斷。 l如果如果M400,D單元的計算模式選擇單元的計算模式選擇32位模式:位模式:u第第31位是符號位位是符號位u計算過程中的進位取決于第計算過程中的進位取決于第31位位u由第由第31位判斷是否溢出位判
58、斷是否溢出u飽和過程,飽和值是飽和過程,飽和值是00 7FFF FFFFh(正溢出)或(正溢出)或FF 8000 0000h(負(fù)溢出)(負(fù)溢出)u累加器和累加器和0的比較,用第的比較,用第310位來進行位來進行u可對整個可對整個32位進行移位和循環(huán)操作位進行移位和循環(huán)操作9. M40位位u累加器左移或循環(huán)移位時,從第累加器左移或循環(huán)移位時,從第31位移出位移出u累加器右移或循環(huán)移位時,移入的位插入到第累加器右移或循環(huán)移位時,移入的位插入到第31位位上上u對于累加器帶符號位的移位對于累加器帶符號位的移位如果如果SXMD0,則累加器的保護位值要設(shè)為,則累加器的保護位值要設(shè)為0如果如果SXMD1,累
59、加器的保護位要設(shè)為第,累加器的保護位要設(shè)為第31位位的值;對于累加器的任何循環(huán)移位或邏輯移位,的值;對于累加器的任何循環(huán)移位或邏輯移位,都要清零目的累加器的保護位都要清零目的累加器的保護位l如果如果M401,D單元的計算模式選擇單元的計算模式選擇40位的帶符號移位位的帶符號移位模式:模式:u第第39位是符號位位是符號位u計算過程中的進位取決于第計算過程中的進位取決于第39位位u由第由第39位判斷是否溢出位判斷是否溢出u飽和過程,飽和值是飽和過程,飽和值是7F FFFF FFFFh(正溢出)或(正溢出)或80 0000 0000h(負(fù)溢出)(負(fù)溢出)u累加器和累加器和0的比較,用第的比較,用第3
60、90位來進行位來進行u可對整個可對整個40位進行移位和循環(huán)操作位進行移位和循環(huán)操作u累加器左移或循環(huán)移位時,從第累加器左移或循環(huán)移位時,從第39位移出位移出u累加器右移或循環(huán)移位時,移入的位插入到第累加器右移或循環(huán)移位時,移入的位插入到第39位上位上l如果如果SATD0,關(guān)閉,關(guān)閉D單元的飽和模式,不執(zhí)行飽和模式單元的飽和模式,不執(zhí)行飽和模式l如果如果SATD1,打開,打開D單元的飽和模式單元的飽和模式u如果如果D單元內(nèi)的運算產(chǎn)生溢出,則結(jié)果值飽和單元內(nèi)的運算產(chǎn)生溢出,則結(jié)果值飽和u飽和值取決于飽和值取決于M40位位M400,CPU的飽和值為的飽和值為00 7FFF FFFFh(正溢出)(正溢
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)員工培訓(xùn)項目總結(jié)報告模板
- 中小學(xué)雙減政策執(zhí)行效果總結(jié)報告
- 小學(xué)四年級英語詞匯同步測試題
- 生命安全與自我保護主題班會方案
- 建筑施工質(zhì)量驗收標(biāo)準(zhǔn)操作
- 河北中考語文滿分作文范例及點評
- 初中數(shù)學(xué)幾何專項訓(xùn)練及試題解析
- 小學(xué)數(shù)學(xué)期末試卷及解析北師大版
- Java技術(shù)每日分享
- 醫(yī)院醫(yī)務(wù)科主任競聘演講報告
- 北師大版八年級數(shù)學(xué)上冊教案(全冊)教學(xué)設(shè)計含教學(xué)反思
- 祛斑美容培訓(xùn)課件
- 酒店安全管理制度
- 2025《導(dǎo)游業(yè)務(wù)》高分必會試題庫1000題-選擇600題
- 交通基礎(chǔ)設(shè)施建設(shè)的合理化建議與改進措施
- 建筑工程施工安全監(jiān)督審查手續(xù)
- 生產(chǎn)經(jīng)營單位主要負(fù)責(zé)人和安全管理人員安全培訓(xùn)教材
- 設(shè)施玫瑰香葡萄生產(chǎn)技術(shù)規(guī)程
- 通訊與社交媒體管理制度
- 醫(yī)學(xué)會議準(zhǔn)備流程
- 電鍍產(chǎn)業(yè)園項目可行性研究報告(專業(yè)經(jīng)典案例)
評論
0/150
提交評論