DSP器件及應用C的程序控制_第1頁
DSP器件及應用C的程序控制_第2頁
DSP器件及應用C的程序控制_第3頁
DSP器件及應用C的程序控制_第4頁
DSP器件及應用C的程序控制_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、整理ppt1DSP器件及應用第第2章章 TMS320 C2000 DSP的硬件結(jié)構(gòu)的硬件結(jié)構(gòu)2.4 程序控制程序控制整理ppt2C2000程序控制特點vC2000 DSP 的改進型哈佛結(jié)構(gòu)和內(nèi)部多總的改進型哈佛結(jié)構(gòu)和內(nèi)部多總線的應用,使線的應用,使DSP具有并行操作的基礎(chǔ)具有并行操作的基礎(chǔ)v取指、譯碼、取操作數(shù)、執(zhí)行的重疊流水線取指、譯碼、取操作數(shù)、執(zhí)行的重疊流水線結(jié)構(gòu),使指令具有單周期執(zhí)行時間的能力結(jié)構(gòu),使指令具有單周期執(zhí)行時間的能力v硬件乘法加法單元的有機組合,使單周期完硬件乘法加法單元的有機組合,使單周期完成乘法和加法的指令成為可能成乘法和加法的指令成為可能v主運算單元(中央算術(shù)邏輯單元

2、主運算單元(中央算術(shù)邏輯單元CALU)以)以外的輔助寄存器算術(shù)單元外的輔助寄存器算術(shù)單元ARAU,使,使DSP進進行算術(shù)邏輯操作的同時,對源或目標操作數(shù)行算術(shù)邏輯操作的同時,對源或目標操作數(shù)的地址能及時產(chǎn)生的地址能及時產(chǎn)生整理ppt3C2000 DSP的程序控制 v程序控制程序控制內(nèi)容包括內(nèi)容包括程序地址的產(chǎn)生程序地址的產(chǎn)生流水線順序執(zhí)行流水線順序執(zhí)行無條件及有條件的分支、調(diào)用、返回無條件及有條件的分支、調(diào)用、返回指令重復執(zhí)行指令重復執(zhí)行中斷系統(tǒng)中斷系統(tǒng)在高級的在高級的DSP器件中還包括指令塊的重復、器件中還包括指令塊的重復、CACHE的使用控制、多處理器的協(xié)調(diào)等內(nèi)容的使用控制、多處理器的協(xié)調(diào)

3、等內(nèi)容整理ppt42.4.1 程序地址產(chǎn)生v當執(zhí)行當前(現(xiàn)行)指令時,程序流要求當執(zhí)行當前(現(xiàn)行)指令時,程序流要求CPU產(chǎn)生緊接著的后一指令的地址產(chǎn)生緊接著的后一指令的地址v當順序執(zhí)行時當順序執(zhí)行時,程序計數(shù)器,程序計數(shù)器PC+1v當非順序執(zhí)行時當非順序執(zhí)行時,緊接著的后一指令的地址,緊接著的后一指令的地址來源于來源于指令操作字指令操作字累加器低部分累加器低部分ACCL(分支或調(diào)用)(分支或調(diào)用)堆棧(返回)堆棧(返回)微堆棧(塊操作)微堆棧(塊操作)向量表(中斷)等向量表(中斷)等 整理ppt5整理ppt6程序計數(shù)器PC vPC新值總是等于下一指令所在地址新值總是等于下一指令所在地址當當C

4、PU順序執(zhí)行時,若當前指令字長為順序執(zhí)行時,若當前指令字長為1個字,個字,PC值值 = 當前值當前值 + 1;若當前指令字長為;若當前指令字長為2個字則個字則PC值值 = 當前當前值值 + 2分支分支(跳轉(zhuǎn)跳轉(zhuǎn))時,則將指令后的長立即數(shù)或累加器低半部時,則將指令后的長立即數(shù)或累加器低半部分分ACCL加載到加載到PC子程序調(diào)用時,子程序調(diào)用時,PC指向調(diào)用后的下條指令地址首先入指向調(diào)用后的下條指令地址首先入棧,然后將指令后的長立即數(shù)或累加器低半部分棧,然后將指令后的長立即數(shù)或累加器低半部分ACCL加載到加載到PC,返回時則將棧頂內(nèi)容彈出到,返回時則將棧頂內(nèi)容彈出到PC中斷調(diào)用時,也是首先將剛執(zhí)行

5、完指令的下條指令地中斷調(diào)用時,也是首先將剛執(zhí)行完指令的下條指令地址入棧,然后把中斷向量表的內(nèi)容(中斷向量)填入址入棧,然后把中斷向量表的內(nèi)容(中斷向量)填入PC。 整理ppt7堆棧堆棧STACKvC2000 DSP具有一個具有一個16位寬、位寬、8級深度的硬件堆棧,級深度的硬件堆棧,當調(diào)用子程序或發(fā)生中斷時,程序地址產(chǎn)生邏輯利當調(diào)用子程序或發(fā)生中斷時,程序地址產(chǎn)生邏輯利用該堆棧保存返回地址用該堆棧保存返回地址v指令指令PUSH和和POP實現(xiàn)棧頂?shù)闹蹬c累加器低半部分實現(xiàn)棧頂?shù)闹蹬c累加器低半部分ACCL之間相互傳送之間相互傳送v指令指令PSHD和和POPD實現(xiàn)棧頂?shù)闹蹬c數(shù)據(jù)存儲器單實現(xiàn)棧頂?shù)闹蹬c數(shù)

6、據(jù)存儲器單元之間相互傳送元之間相互傳送v當多于當多于8級嵌套時,會發(fā)生堆棧溢出,為了解決這級嵌套時,會發(fā)生堆棧溢出,為了解決這一問題,一問題,DSP提供了一個使用軟堆棧的辦法:提供了一個使用軟堆棧的辦法:利用利用PSHD和和POPD指令將數(shù)據(jù)從數(shù)據(jù)存儲器壓入棧頂或指令將數(shù)據(jù)從數(shù)據(jù)存儲器壓入棧頂或從棧頂彈出數(shù)據(jù)到數(shù)據(jù)存儲器,這數(shù)據(jù)存儲器一般使用從棧頂彈出數(shù)據(jù)到數(shù)據(jù)存儲器,這數(shù)據(jù)存儲器一般使用片內(nèi)雙訪問存儲器,常用片內(nèi)雙訪問存儲器,常用B2塊塊(0060h007Fh)。經(jīng)堆棧。經(jīng)堆棧軟擴展后可適用于多級嵌套的復雜程序軟擴展后可適用于多級嵌套的復雜程序 整理ppt8堆棧STACK示意圖0ABCDh

7、0ABCDh 0ABCDh 0ABCDh 1h 2h 7h 3h 4h 5h 8h 6h 1h 2h 7h 3h 4h 5h 6h 1h 2h 7h 3h 4h 5h xxxx 6h 1h 2h 7h 3h 4h 5h 7h 6h 0ABCDh 進棧前 進棧后 出棧后 出棧前 棧頂 堆棧 棧底 PC或ACCL或數(shù)據(jù)存儲單元 圖2.40 堆棧操作示意圖 整理ppt9微堆棧MSTACK v在在CPU執(zhí)行塊操作時:執(zhí)行塊操作時:使用使用PC作為第一個操作數(shù)的地址增量作為第一個操作數(shù)的地址增量用用ARAU產(chǎn)生第產(chǎn)生第2個操作數(shù)地址個操作數(shù)地址使用一個微堆棧(只有一級的堆棧)使用一個微堆棧(只有一級的堆

8、棧)MSTACK來來暫時保存暫時保存“返回地址返回地址”(下條指令對應的(下條指令對應的PC值)值)操作開始時,操作開始時,PC +1或或PC + 2MSPACK,首操作數(shù)地址首操作數(shù)地址 PC,塊操作,塊操作,結(jié)束,結(jié)束,MSTACK PC。 整理ppt102.4.2 C2000 DSP的流水線v4級流水線把一個指令分解成級流水線把一個指令分解成4個獨立的階段:取指個獨立的階段:取指令(令(Fetch)、譯碼()、譯碼(Decode)、取操作數(shù))、取操作數(shù)(Operand)、執(zhí)行()、執(zhí)行(Execute)。)。4個階段是獨立個階段是獨立的,可以重疊執(zhí)行的,可以重疊執(zhí)行v在任意的指定周期內(nèi),

9、在任意的指定周期內(nèi),14條不同的指令均可有效條不同的指令均可有效(均被激活),每條被激活的指令均處于一個不同(均被激活),每條被激活的指令均處于一個不同的操作階段。對于指令流,指令的的操作階段。對于指令流,指令的4個階段在同一個階段在同一時間上的重疊,使指令的平均執(zhí)行時間減少時間上的重疊,使指令的平均執(zhí)行時間減少v在無流水線時一條指令執(zhí)行時間為在無流水線時一條指令執(zhí)行時間為4個周期,有流個周期,有流水線后,指令的平均執(zhí)行時間水線后,指令的平均執(zhí)行時間 = 無流水線執(zhí)行時間無流水線執(zhí)行時間 流水線級數(shù)流水線級數(shù) = 4 4 = 1,等效于一條指令只須,等效于一條指令只須單周期執(zhí)行的時間單周期執(zhí)行

10、的時間 整理ppt11流水線操作示意圖CLKOUT1 取指 譯碼 取操作數(shù) 執(zhí)行 N N+3 N+1 N+4 N+2 N N N N+3 N+2 N+2 N+1 N+1 N+1 N-1 N-2 N-1 N-2 N-3 N-1 圖2.41 C2xx DSP的4級流水線操作 v在分支、調(diào)用、中斷等操作中會破壞流水線,而流在分支、調(diào)用、中斷等操作中會破壞流水線,而流水線的建立需水線的建立需4個周期才能完成,因此在這種情況個周期才能完成,因此在這種情況下,指令的平均執(zhí)行時間會加長。下,指令的平均執(zhí)行時間會加長。 整理ppt122.4.3 C2000 DSP的非順序執(zhí)行 vC2xx DSP的的CPU有指

11、令重復、分支、有指令重復、分支、調(diào)用、返回、中斷等非順序執(zhí)行方式,調(diào)用、返回、中斷等非順序執(zhí)行方式,除指令重復不會破壞流水線(使流水線除指令重復不會破壞流水線(使流水線暫停)外,其他情況均會破壞流水線。暫停)外,其他情況均會破壞流水線。 整理ppt13分支、調(diào)用和返回 v無條件分支、調(diào)用和返回無條件分支、調(diào)用和返回v帶條件判斷的分支、調(diào)用和返回指令帶條件判斷的分支、調(diào)用和返回指令整理ppt14可測試(判斷)的條件可測試(判斷)的條件EQ: ACC = 0 累加器內(nèi)容為累加器內(nèi)容為0;NEQ:ACC0,累加器不為,累加器不為0;LT: ACC 0 累加器內(nèi)容大于累加器內(nèi)容大于0;GEQ:ACC0

12、,累加器大于等于,累加器大于等于0;C: C = 1 進位等于進位等于1;NC: C = 0,進位位等于,進位位等于0;整理ppt15可測試(判斷)的條件可測試(判斷)的條件OV: OV = 1,ACC發(fā)生溢出;發(fā)生溢出;NOV:OV = 0,ACC不溢出;不溢出;TC: TC = 1,測試控制位等于,測試控制位等于1;NTC:TC = 0,測試控制位等于,測試控制位等于0;BIO: = 0,引腳為低電平;,引腳為低電平;應注意的是,應注意的是,TC和和BIO是互斥的,這兩個是互斥的,這兩個條件不能同時存在。條件不能同時存在。 整理ppt16條件分組條件分組條 件 分 組 1組 2組 A類 :

13、 EQ、 NEQ、 LT、 LEQ、 GT、 GEQ B類 : OV、 NOV A類 : TC、 NTC B類 : C、 NC C類 : BIO 整理ppt17單指令重復 vC2xx DSP設置了一種特殊的指令執(zhí)行模式:重復設置了一種特殊的指令執(zhí)行模式:重復執(zhí)行某條指令執(zhí)行某條指令v由于指令重復執(zhí)行時可采用間接尋址方式,操作數(shù)由于指令重復執(zhí)行時可采用間接尋址方式,操作數(shù)地址由地址由ARAU確定,確定,ARAU又在同時并行地進行算又在同時并行地進行算術(shù)運算,因此單指令重復執(zhí)行實際上并不是對同一術(shù)運算,因此單指令重復執(zhí)行實際上并不是對同一操作數(shù)的簡單重復運算(處理),而是對不同操作操作數(shù)的簡單重復

14、運算(處理),而是對不同操作數(shù)進行了某中運算,因此單指令重復意義十分重大。數(shù)進行了某中運算,因此單指令重復意義十分重大。在乘加操作,塊操作,等方面使用重復指令效果很在乘加操作,塊操作,等方面使用重復指令效果很好。好。v單指令重復不破壞流水線單指令重復不破壞流水線 整理ppt18中斷中斷vC2xx DSP支持應中斷和軟中斷方式。支持應中斷和軟中斷方式。v軟中斷由程序預先安排實現(xiàn),無須硬件開銷,軟中斷由程序預先安排實現(xiàn),無須硬件開銷,但是按中斷調(diào)用的方法去執(zhí)行對應中斷向量但是按中斷調(diào)用的方法去執(zhí)行對應中斷向量表(地址)處的程序。產(chǎn)生軟件中斷的指令表(地址)處的程序。產(chǎn)生軟件中斷的指令有有INTR調(diào)

15、用自定義軟中斷或調(diào)用可屏蔽調(diào)用自定義軟中斷或調(diào)用可屏蔽硬中斷硬中斷 v硬中斷則由片內(nèi)外設或片外部件產(chǎn)生中斷請硬中斷則由片內(nèi)外設或片外部件產(chǎn)生中斷請求信號,受優(yōu)先級和屏蔽邏輯以及中斷控制求信號,受優(yōu)先級和屏蔽邏輯以及中斷控制系統(tǒng)的影響和控制。硬中斷包括復位、系統(tǒng)的影響和控制。硬中斷包括復位、非屏蔽、和可屏蔽中斷(、非屏蔽、和可屏蔽中斷(、TINT、RINT、XINT、TXRXINT)。)。 整理ppt19中斷向量表中斷向量表vC2000器件將程序存儲器地址為器件將程序存儲器地址為0000003Fh的的64個存儲單元作為中斷向量表個存儲單元作為中斷向量表v該表為每個中斷分配了兩個地址單元,用以存放一該表為每個中斷分配了兩個地址單元,用以存放一條兩個字的轉(zhuǎn)移指令條兩個字的轉(zhuǎn)移指令 整理ppt20IFR、IMR、ICR寄存器寄存器整理ppt21使用中斷時應遵循原則使用中斷時應遵循原則 v(1)由)由IRC(中斷控制寄存器)、(中斷控制寄存器)、IMR(中斷屏蔽(中斷屏蔽寄存器)、寄存器)、ST0的的INTM位決定是否允許中斷和允許位

溫馨提示

  • 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

提交評論