以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- DSP5000技術討論 (http://www.hufushizhe.com/bbs/list.asp?boardid=28) ---- TMS320C5000 (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=28&id=1579) |
-- 作者:wangxinxin -- 發布時間:2010-11-22 8:51:11 -- TMS320C5000 一、結構特點 16-bit定點DSP C55x有雙MAC單元;C54x有單MAC單元 C55的指令長度可變,且沒有排隊的限制 C55x有12組總線;C54x有8組總線 二、綜合介紹 C5000是16-bit定點DSP系列,包括舊有的C5x、當前主流的C54x和最新的C55x。 C55x和C54x源代碼兼容,而C5x和C2x源代碼兼容。C54x關注于低功耗,而C55x則將低功耗提到一個新水平:300MHz的C55x和120MHz的C54x相比,性能提高5倍,而功耗則降到六分之一。盡管C5x還在全線生產,但公司已經將新設計轉向C54x 和C55x。C54x 和C55x采用改進的哈佛結構。 C55x 具有12組獨立的總線,而C54x則有8組。它們都有一組程序總線和相應的程序地址總線。C54x總線的寬度為16-bit,而C55x總線的寬度為32-bit。C55x有三組數據讀總線和兩組數據寫總線,而C54x有兩組數據讀總線和一組數據寫總線。每組數據總線都有其相應的地址總線。C55x的數據地址總線的寬度為24-bit,而C54x的數據地址總線的寬度為16-bit。 C54x使用兩個輔助寄存器算術單元,在每個周期內產生一個或兩個數據存儲器地址。這四組內部總線和兩個地址發生器使其可以進行多操作數運算。 C55x的地址-數據流單元(ADFU)包含了專門的硬件來管理五組數據總線。該ADFU也可以作為通用的16-bit ALU,用于簡單的算術運算。該ALU從指令緩沖單元(IU)接收立即數,和存儲器、ADFU寄存器、數據計算單元(DCU)寄存器、程序流單元(PFU)寄存器作雙向通信。無論是ALU,還是三個地址寄存器ALU(ARAU)中的一個,都可以修改作間接尋址的九個地址寄存器。這三個ARAU為C55x的三組數據讀總線提供獨立的地址。這種并行性保證了在每個CPU周期內DCU去讀兩個16-bit的操作數和一個16-bit的系數。 C55x的DCU包含了兩個MAC單元,在單周期內作兩個17217-bit的MAC運算。它還包含了一個40-bit的ALU和四個40-bit的累加器寄存器、一個桶型移位器、以及專門的Viterbi算法硬件。每個MAC單元包含一個乘法器和帶32-或40-bit飽和邏輯的加法器。三個數據讀總線將兩個數據流和一個公共系數流送給兩個MAC單元。用戶可以用ALU作32-bit的運算,或分開作兩個16-bit的運算。除開接受從DCU的40-bit Acc寄存器來的輸入外,ALU還從IU接受立即數,并和存儲器、ADFU寄存器、PFU寄存器作雙向通信。 C54x是單17217-bit MAC機器,有一個40-bit的加法器、兩個40-bit的Acc和一個分開的40-bit的ALU。與C55x相類似,C54x的ALU也可以作成兩個16-bit的配置,完成兩個單周期運算。乘法器輸出處的40-bit的加法器允許作非流水的MAC運算,以及并行的兩個加法和乘法。單周期歸一化和指數編碼支持浮點數運算。 兩個系列的結構都支持一個桶型移位器,將40-bit的Acc的值左移或右移最多達31bit。該桶型移位器將移位后的值送給DCU的ALU,以便作進一步的運算。指令集中關于二操作數、三操作數和32-bit操作數的指令,支持結構的并行性。八個可以獨立尋址的輔助寄存器和軟件堆棧提高了C編譯器的效率。 C55x可以執行可變長度的指令,這和C54x有顯著的不同。C54x的指令長度為固定的16-bit,而C55x的指令長度則從8到48 bit。C55x的IU緩存64 byte的代碼,且有一個解碼邏輯來確認可變長度指令中各指令的區別。局部循環指令使用指令緩沖隊列來循環執行代碼塊。指令緩沖隊列還可以在執行條件程序流控制指令的條件測試時,推測性地提取指令。指令解碼器按排列順序對指令解碼,而不是執行動態時序,從而可以在預定的時間得到結果。 C55x的PFU跟蹤程序的執行點,并為多達16Mbyte的程序存儲器產生24-bit的地址。該單元的硬件,可用于循環、靈活性轉移、條件執行、以及流水保護。單獨的程序計數器可以保證從子程序或中斷服務子程序快速返回。該PFU還包括管理指令流水和四個CPU狀態寄存器的邏輯。它以硬件方式可以提供四層塊循環嵌套。其硬件還支持條件循環。PFU處理流水控制冒險,并對讀后寫及寫后讀提供保護。當在指令流中這種冒險發生時,流水保護邏輯就插入一些周期,保證程序的正確執行。集成的軟件等待狀態發生器使用戶可以使用較慢的外部存儲器。 該系列的所有DSP都支持片內雙訪問RAM(DARAM),用戶可以將其配置為程序存儲器或數據存儲器。C55x還有擴展的同步突發性RAM、同步DRAM和異步SRAM及DRAM。片內的鎖相環(PLL)允許用戶抑制時鐘,但C55x核還可以激活與自動管理片內外設和存儲器的功耗。當程序不再訪問片內存儲器時,它們就會被切換到低功率模式。處理器對片內外設也提供類似的控制。 C55x還設置了用戶可控的低功率IDLE域,包括CPU、DMA、外設、外部存儲器接口、指令隊列、以及時鐘發生電路。 三、尋址模式 C54x支持單數據存儲器操作數尋址和32-bit操作數尋址,還使用并行指令支持雙數據存儲器操作數尋址。它也提供立即數尋址、存儲器映射尋址、循環尋址和位倒序尋址。 在C54x的基礎上,C55x還支持絕對值尋址、寄存器間接尋址、直接尋址,即位移模式。C55x的ADFU包括專門的寄存器,支持使用間接尋址指令的循環尋址?梢酝瑫r使用五個獨立的循環緩沖器和三個獨立的緩沖器長度。這些循環緩沖器沒有地址排隊的限制。C54x支持兩個任意長度的循環緩沖器。 四、特殊指令 C54x有專門功能指令,如FIR濾波器、單指令或塊指令循環、八個并行指令(如并行存儲或乘加)、乘法累加和減(十個乘法指令)、八個雙操作數存儲器搬移。C55x還有專門的指令,充分利用增加的功能單元和并行能力的優點。用戶定義的并行機制,允許將執行兩個操作的指令加以組合。 五、開發支持 eXpressDSP軟件技術包括DSP集成開發工具:可升級的實時軟件基礎、可重復使用的應用軟件接口標準、以及不斷增加的第三方的軟件模塊。Code Composer Studio是一個集成的DSP開發工具套件,包括C5000的C編譯器、DSP/BIOS、實時數據交換技術等 |