第3章-2TMS320C6000系列DSP指令系統_第1頁
第3章-2TMS320C6000系列DSP指令系統_第2頁
第3章-2TMS320C6000系列DSP指令系統_第3頁
第3章-2TMS320C6000系列DSP指令系統_第4頁
第3章-2TMS320C6000系列DSP指令系統_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、3.2.1 流水線操作的概述流水線操作的概述 TMS320C62x/64x/67x DSP指令集中的所有指令在執行過程中均通過流水線的取 指譯碼和執行3個階段。其中指令執行的取指階段有4個節拍,譯碼階段有2個節 拍,而執行階段對不同類型指令具有不同節拍數。TMS320C62x/64x和TMS320C67x 流水階段如圖3-5和圖3-6所示。 1取指階段取指階段 流水線取指階段的4個節拍如下: PG:程序地址產生; PS:程序地址發送; PW:程序訪問等待; PR:程序取指包接收。 TMS320C62x/64x/67x使用8條指令的取指包。所有的8條指令組成一個取指包, 取指包中的8條指令依次通

2、過PG,PS,PW和PR 4個節拍。 2譯碼階段譯碼階段 流水線譯碼階段的2個節拍如下: DP:指令分配; DC:指令譯碼。 圖3-8(a)從左到右給出了譯碼各節拍的順序。圖3-8(b)顯示了包含兩個執 行包中的一個取指包通過流水線譯碼的框圖,其中取指包(FP)中的6條指令是并 行的,組成一個執行包(EP),該執行包在譯碼階段分配。 3執行階段執行階段 TMS320C6000定點流水線的執行部分分為5個階段(E1E5)。執行不同類型的 指令需要不同的階段數。圖3-9(a)從左到右顯示執行節拍的順序。圖3-9(b)和圖 3-10分別為TMS320C62x和TMS320C64x執行部分的功能框圖。

3、 TMS320C62x/64x指令的流水線操作可以被分為7種指令類型,其中6種在表3-8中 列出(NOP指令不包含在其中),反映了不同類型指令在各個執行節拍中的操作。 指令類型 單周期 1616單乘法指令, C64x.M單元的非 乘法指令 存儲 C64x乘法 擴展 加載跳轉 執行階段E1 計算結果并寫入 寄存器 讀操作并開始計算計算地址 讀操作數并開始 計算 計算地址 目標代碼在 PG節拍 E2計算結果并寫入寄存器 傳送數據地址到存 儲器 傳送地址到寄存器 E3訪問存儲器訪問存儲器 E4寫結果到寄存器傳送數據回CPU E5寫數據到寄存器 延遲時隙010345 注:此表格假設每個指令的條件值為真

4、。如果條件為假,則在E1之后,不執行任何流水線操作,也不寫任何結果; NOP沒有在表中列出,因為它在任意一個執行節拍都不發生操作。 1單周期指令單周期指令 單周期指令的流水在E1節拍期間執行完成。圖3-11為單周期指令流水的取指、 譯碼及執行節拍。 圖3-12是單周期指令的執行框圖。讀操作數執行操作和結果寫入寄存器都在 E1階段完成,單周期指令沒有延遲時隙。 2雙周期指令和雙周期指令和TMS320C64x非乘法非乘法.M單元操作單元操作 乘法指令使用E1和E2節拍完成操作。圖3-13為使用雙周期指令的流水線節拍。 圖3-14為一次乘法過程在流水線中發生的操作。在E2節拍期間,乘法結束,結 果被

5、寫到目的寄存器,乘法指令有一個延遲時隙。該執行框圖對TMS320C64x的其他 非乘法.M單元操作同樣適用。 3存儲指令存儲指令 存儲指令要求在E1E3節拍完成其操作。圖3-15所示為使用存儲指令的流水線 節拍。 圖3-16為一次存儲指令中在流水線中發生的所有操作。在E1節拍,保存數據 地址被計算。在E2節拍中,數據和目的地址被發送到數據存儲器。在E3節拍階段, 執行一個存儲器寫操作。 當用戶執行一次加載和存儲到同一個存儲地址時,應用如下規則(i=周期): l當一次加載在一次存儲前執行時,原值被加載,而新值被存儲。 i LDW i+1 STW l當一次存儲在一次加載之前執行時,新值被存儲且加載

6、。 i STW i+1LDW l當這兩條指令并行執行時,原數值先被加載,然后新值被存儲,但是它們是在 同一個節拍中完成的。 i STW i|LDW 4擴展乘法指令擴展乘法指令 擴展乘法指令使用E1E4節拍來完成它們的操作。圖3-17為擴展乘法指令所使 用的流水線節拍。 圖3-18為一次乘法擴展中發生在流水線中的所有操作。在E1節拍,操作數被讀 取并且乘法開始。在E4節拍,乘法完成,結果被寫到目的寄存器中。擴展指令具有 3個延遲時隙。 5加載指令加載指令 加載指令要求所有5個節拍完成其操作。圖3-19為加載指令的流水線節拍。 圖3-20為一次加載中在流水線節拍發生的所有操作。在E1節拍,數據地址

7、指針 在其寄存器中被修改。E2節拍,數據地址被傳送到數據存儲器;在E3節拍,該地址 的一個存儲器讀操作被執行。 6跳轉指令跳轉指令 雖然跳轉指令只占一個執行節拍,但從跳轉執行到目標代碼執行之間存在5個 延遲時隙。圖3-21為跳轉指令及其目標代碼執行所有的流水節拍。 圖3-22為跳轉指令執行框圖。如果一個跳轉指令處于流水線E1節拍(圖中.S2單 元),在同一周期,其分支目標應處于PG節拍的取指包中。由于分支目標代碼需要 其節拍到達E1時才能開始執行,所以跳轉指令在分支目標執行前,需要5個延遲時 隙。 1一個取指包(一個取指包(FP)包含多個()包含多個(EP)的流水操作)的流水操作 一個取指包包

8、含8條指令,每個取指包分為18個執行包,執行包是并行執行 的指令,每條指令在獨立的功能單元內執行。圖3-23為一個取指包(FP)包含多個 (EP)的流水操作,其代碼如下: instruction A;EP k FP n | instruction B instruction C;EP k+1 FP n | instruction D | instruction E instruction F;EP k+2 FP n | instruction G | instruction H instruction I;EP k+3 FP n+1 | instruction J | instruction

9、K | instruction L | instruction M | instruction N | instruction O | instruction P 2多時鐘多時鐘NOP 圖3-24為一個多周期NOP指令如何驅動同一個執行指令包中其他指令的操作。圖 3-24(a)是一個單周期NOP指令與其他代碼在一個執行包中的情況。圖3-24(b)中 將(a)中的單周期指令NOP替換成多周期指令NOP 5。 圖3-25顯示了跳轉指令對多周期NOP的影響。如果當多周期NOP指令仍在分配 NOP到流水線中時,跳轉指令的延遲時間結束,則跳轉指令將覆蓋多周期NOP指令, 跳轉指令的目標代碼將在跳轉指令被

10、聲明的5個延遲時隙后開始執行。 3存儲器的考慮存儲器的考慮 TMS320C6000具有典型的DSP存儲器配置,其程序存儲器和數據存儲器位于兩個 不同的物理空間。數據加載和程序取指在流水線中具有相同的操作,它們的區別只是 用不同的節拍完成各自的操作。數據加載和程序取指對存儲器的訪問分為多個節拍。 這樣TMS320C62x/C64x對存儲器可以進行高速的訪問。圖3-26列出了存儲器的訪問節 拍。 表3-9給出了數據加載和指令讀取的對比結果。數據加載和指令讀取在內部存儲 器以同一速度執行,且執行相同操作。 操 作程序存儲器訪問節拍數據加載訪問節拍 計算地址PGE1 發送地址到存儲器PSE2 存儲器讀

11、/寫PWE3 程序存儲器:在CPU中接收指令包 數據加載:在CPU中接收數據 PRE4 程序存儲器:傳送指令到功能單元 數據加載:傳送數據到寄存器 DPE5 (1)存儲器阻塞 當存儲器沒有做好響應CPU的訪問時,就會發生存儲器阻塞。這種阻塞發生在 程序存儲器的PW節拍和數據存儲器的E3節拍。存儲器阻塞導致處于該流水線中的 節拍延遲一個以上的時鐘周期,引起執行增加額外的時鐘周期。無論阻塞發生與否, 程序執行的結果相同。存儲器的阻塞過程見圖3-27。 (2)存儲器組沖突 多數的TMS320C6000 DSP器件使用交叉存儲方案。如圖3-28所示,每個數字代 表一個字節地址。從地址0開始的一個字節載

12、入指令(LDB)將載入0組的0個字節; 從地址0開始的半字載入指令(LDH)將載入0組的0和1字節;從地址0開始的字載入 指令(LDW)將載入0組和1組的03字節。 由于每組都是單口存儲區,每個周期只允許一次訪問,在一個周期內對一組進行 兩次訪問將產生存儲器阻塞,從而導致所有流水線操作的暫時停止,用來完成第二個 數值的讀取。一個周期內的兩個存儲器操作只要是不訪問相同的組,就不會出現阻塞。 【例3.2】 同一存儲器的加載。 LDW .D1 *A4+, A5 ;A4 地址處于組0 | LDW .D2 *B4+, B5 ;B4 地址處于組0 在例3.2中因為兩條取指指令試圖同時對同一個存儲器組進行訪問,因此一條加 載指令必須等待。第一個LDW指令在周

溫馨提示

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

評論

0/150

提交評論