第二章 TMS320C6000 CPU結構與指令系統_第1頁
第二章 TMS320C6000 CPU結構與指令系統_第2頁
第二章 TMS320C6000 CPU結構與指令系統_第3頁
第二章 TMS320C6000 CPU結構與指令系統_第4頁
第二章 TMS320C6000 CPU結構與指令系統_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 TMS320C6000 CPU結構與指令系統2.1 CPU結構2.2 CPU控制寄存器2.3 流水線2.4 匯編指令系統2.1 CPU結構取數存數分離結構取數存數分離結構CPU 雙數據通路 8個運算單元 8條32-位指令/周期32-位尋址空間位尋址空間整數指令特性整數指令特性 數據可按字節(jié)尋址(8-, 16-, 32-位數據) 8-位溢出保護 飽和 位操作:提取、置位、清零 位計數 歸一化C62xC67x控制控制寄存器寄存器 程序取指程序取指指令調度指令調度指令譯碼指令譯碼控制控制邏輯邏輯 中斷中斷 仿真接口仿真接口 Test數據通路數據通路1數據通路數據通路2A寄存器堆寄存器堆A15

2、A0B寄存器堆寄存器堆B15B0L2S2M2D2D1M1S1L1C6000系列DSP第1代VelociTI.1 CPU內核結構雙雙32-位取數存數通路位取數存數通路對第對第1代代VLIW內核結構進內核結構進行擴展行擴展支持支持4個個16-位和位和8個個8-位位連乘加連乘加MAC指令,提高指令,提高運算的并行度運算的并行度寄存器數量增加了寄存器數量增加了1倍,倍,取數存數的數據通道也取數存數的數據通道也從從32-位增加為位增加為64-位,實位,實現帶寬的加倍現帶寬的加倍增強在線仿真能力增強在線仿真能力增加了新的指令以加速寬增加了新的指令以加速寬帶和圖像處理等應用帶和圖像處理等應用改善正交設計,使

3、頻繁使改善正交設計,使頻繁使用的指令獲得更多的功能用的指令獲得更多的功能單元單元C6000系列DSP第2代VelociTI.2 CPU內核結構C64x CPU數據通路數據通路 2數據通路數據通路 1寄存器堆寄存器堆 AD2S2L2A31A16指令譯碼指令譯碼指令調度指令調度取指取指控制寄存器控制寄存器中斷控制中斷控制S1L1雙雙64-位取數存數通路位取數存數通路A15A0+M1xD1+寄存器堆寄存器堆 BB31B16B15B0+M2高級指令打包高級指令打包+xxxxxxxxxxx高級在線仿真高級在線仿真u 進一步改進內部存儲器結構:進一步改進內部存儲器結構: L1P和L1D既可配置為Cache

4、,也可配置為SRAM 改進了Cache一致性協議 增加了Cache凍結功能 增加了內部DMA控制器 增加了帶寬管理功能 增加了存儲器保護u 增加了新的指令增加了新的指令 32-位乘法指令,提高精度 擴展了算術指令,以加速FFT和DCt運算 改進復數乘法指令 增加了雙點積指令,改善FIR循環(huán)的吞吐率 增加了平行打包指令 增強了“高斯”域乘法指令C6000系列DSP第3代VelociTI.3 CPU內核結構存儲器保護存儲器保護128128統一的存儲器統一的存儲器控制器控制器 (UMC) 存儲器保護存儲器保護帶寬管理器帶寬管理器IDMA數據通路數據通路1數據數據通路通路2A寄存器堆寄存器堆中斷中斷&

5、異常異常控制器控制器S1L1M1xxxx數據存儲器控制器數據存儲器控制器 (DMC)外部存儲器外部存儲器控制器控制器(EMC)DMA Slave I/F256程序存儲器控制器程序存儲器控制器 (PMC)256128Master Port(CPU/ cache req.)功率控制功率控制256L1D Cache/SRAML1P Cache/SRAML2 Cache/SRAMTo EDMA3.0256D1C64x+CPUM2xxxxS2 L2D2B寄存器堆寄存器堆指令譯碼指令譯碼16/32-位指令調度位指令調度軟件流水線緩沖器軟件流水線緩沖器取指取指高級事件觸發(fā)高級事件觸發(fā)(AET)存儲器保護存儲

6、器保護帶寬管理器帶寬管理器25625625612864帶寬管理器帶寬管理器32TMS320C64x+DSP Core新增的特點新增的特點由由C64x改進改進2.1.1 CPU結構v(1)程序取指單元v(2)指令分配單元v(3)指令譯碼單元v(4)32個或64個32位寄存器v(5)兩個數據通路,每通路4個功能單元v(6)控制寄存器v(7)控制邏輯v(8) 測試、仿真和中斷邏輯2.1.2 CPU 數據通路(1) 2 個通用寄存器組(A 和 B) (2) 8 個功能單元(.L1、.L2、.S1、.S2、.M1、.M2、.D1 和.D2)(3) 2 個數據讀取通路(LD1 和 LD2) (4) 2 個

7、數據存儲通路(ST1 和 ST2) (5) 2 個寄存器組交叉通路(1X 和 2X)(6) 2 個數據尋址通路(DA1 和 DA2) 通用寄存器組v寄存器組A -16個32位寄存器 A0-A31v寄存器組B -16個32位寄存器 B0-B31功能單元v.L單元:完成算術和邏輯運算v.S單元:完成程序跳轉指令v.M單元:完成乘法運算v.D單元:完成數據讀取/寫入交叉通路v每個功能單元可以直接與所處的數據通路的寄存器組進行讀寫操作,即.L1、.S1、.D1和 .M1 可以直接讀寫寄存器組 A,而 .L2、.S2、.D2 和 .M2 可以直接讀寫寄存器組 B。v兩個寄存器組通過 1X 和 2X 交叉

8、通路也可以與另一側的功能單元相連。1X 交叉通路允許數據通路 A 的功能單元從寄存器組 B 讀它的源操作數,2X 交叉通路則允許數據通路 B 的功能單元從寄存器組 A 讀它的源操作數。數據存取通道vLD1 用于寄存器組AvLD2 用于寄存器組BvST1、ST2 用于保存及存器中的值到存儲器中數據地址通道v數據地址通路 DA1 和 DA2 來自數據通路的 .D 功能單元,地址通路與兩側數據通道都相連,這使一個寄存器組產生的數據地址能夠支持任意一側寄存器組對數據存儲器的讀寫操作。 2.2 CPU控制寄存器尋址模式及存器(AMR)v在尋址模式寄存器中,對每個寄存器都有 2 位字段用來選擇地址修改模式

9、:線性(缺省)或循環(huán)模式。對于循環(huán)尋址,這個字段也指定哪個 BK(block size)字段用作循環(huán)緩沖區(qū)。此外,緩沖區(qū)的值必須與循環(huán)塊尺寸相匹配,模式選擇字段和塊尺寸字段示于圖 2-5,模式選擇字段編碼示于表 2-4。尋址模式寄存器(AMR)在復位時初始化為零,其保留部分總為零。v塊尺寸字段 BK0 和 BK1 含有 5 位數值,用于計算循環(huán)尋址循環(huán)塊的尺寸,塊尺寸與 BK0或者 BK1 內 5 位數值 N 的關系為:塊尺寸=2(N+1) 控制狀態(tài)寄存器(CSR)E1 程序節(jié)拍計數器TMS320C67X擴展控制寄存器v用于支持.L和.M運算,指定希望的浮點舍入方式,指示警告狀態(tài)2.3 DSP

10、 指令系統v尋址方式:v1 立即數尋址v2 寄存器尋址v3 寄存器間接尋址寄存器間接尋址v線性尋址方式v循環(huán)尋址方式指令集v算術運算指令v邏輯及位域操作指令vMV類傳送指令v程序控制指令C67X指令集.L .D .S .M No Unit UsedIDLENOP.S UnitNEGNOT ORSETSHLSHRSSHLSUBSUB2XORZEROADDADDKADD2ANDBCLREXTMVMVCMVKMVKLMVKHABSSPABSDPCMPGTSPCMPEQSPCMPLTSPCMPGTDPCMPEQDPCMPLTDPRCPSPRCPDPRSQRSPRSQRDPSPDP.L UnitNOTO

11、RSADDSATSSUBSUBSUBCXORZEROABSADDANDCMPEQCMPGTCMPLTLMBDMVNEGNORMADDSPADDDPSUBSPSUBDPINTSPINTDPSPINTDPINTSPRTUNCDPTRUNCDPSP.M UnitSMPYSMPYHMPYMPYHMPYLHMPYHLMPYSPMPYDPMPYIMPYID.D UnitNEGSTB(B/H/W) SUBSUBAB (B/H/W) ZEROADDADDAB (B/H/W)ADDADLDB(B/H/W)LDDWMVC64x指令集Data Pack/UnPACK2PACKH2PACKLH2PACKHL2PACK

12、H4PACKL4UNPKHU4UNPKLU4SWAP2/4Dual/Quad ArithABS2ADD2ADD4MAXMINSUB2SUB4SUBABS4Bitwise LogicalANDNShift & MergeSHLMBSHRMBLoad ConstantMVK (5-bit).L .D .S .M Bit OperationsBITC4BITRDEALSHFLMoveMVDAverageAVG2AVG4ShiftsROTLSSHVLSSHVRMultipliesMPYHIMPYLIMPYHIRMPYLIRMPY2SMPY2DOTP2DOTPN2DOTPRSU2DOTPNRSU2DOT

13、PU4DOTPSU4GMPY4XPND2/4Mem AccessLDDWLDNWLDNDWSTDWSTNWSTNDWLoad ConstantMVK (5-bit)Dual ArithmeticADD2SUB2Bitwise LogicalANDANDNORXORAddress Calc.ADDADData Pack/UnPACK2PACKH2PACKLH2PACKHL2UNPKHU4UNPKLU4SWAP2SPACK2SPACKU4Dual/Quad ArithSADD2SADDUS2SADD4Bitwise LogicalANDNShifts & MergeSHR2SHRU2SHLMBSH

14、RMBComparesCMPEQ2CMPEQ4CMPGT2CMPGT4Branches/PCBDECBPOSBNOPADDKPC資源限制v使用相同功能單元的指令限制v使用交叉通路的限制v數據讀寫的限制v使用40位長定點類型數據的限制v寄存器讀取限制v寄存器存儲限制2.4 流水線v現代微處理器是用結構的復雜性來換取速度的提高的。它把指令的處理分成幾個子操作,每個子操作在微處理器內部由不同的部件來完成。對微處理器的每個部件來說,每隔1 個時鐘周期即可進入 1 條新指令,這樣在同一時間內,就有多條指令交迭地在不同部件內處理,這種工作方式稱為“流水線”(pipeline)工作方式。TMS320C600

15、0 的特殊結構又可使多個指令包(每包最多可達 8 條指令)交迭地在不同部件內處理,大大提高了微處理器的吞吐量。vTMS320C6000 中所有指令均按照取指(Fetch)、譯碼(Decode)和執(zhí)行(Execute)3級(Stage)流水線運行,每一級又包含幾個節(jié)拍(Phase)。所有指令取指級有 4 個節(jié)拍,譯碼級有 2 個節(jié)拍。執(zhí)行級對不同類型的指令有不同數目的節(jié)拍。流水線節(jié)拍取指vPG:程序地址產生vPS:程序地址發(fā)送vPW:程序訪問等待vPR:程序取指包接收譯碼vDP:指令分配vDC:指令譯碼DM64X內核內核取指取指分配分配譯碼譯碼數據通路數據通路 1寄存器組寄存器組A/16*32數據通路數據通路 2寄存器組寄存器組B/16*32L2S2M2D2D1M1S1L1L D

溫馨提示

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

評論

0/150

提交評論