TMS320C6000嵌入式系統優化編程的研究
發布時間:2007/8/30 0:00:00 訪問次數:491
摘要:分析了TMS320C6000的硬件設計和指令系統的特點,結合應用開發過程中遇到的問題,對這種高速并行DSP器件開發方法進行了總結。
關鍵詞:DSP TMS320C6000 嵌入式系統 并行處理
1 TMS320C6000的硬件設計和指令系統
TMS320C6000系列DSP(數字信號處理器)是TI公司最新推出的一種并行處理的數字信號處理器。它是基于TI的VLIW技術的,其中,TMS320C62xx是定點處理器,TMS320C67xx是浮點處理器。本文主要討論TMS320C6201。該處理器的工作頻率最高可以采用50MHz,經內部4倍頻后升至200MHz,每個時鐘周期最多可以并行執行8條指令,從而可以實現1600MIPS的定點運算能力,而且完成1024定點FFT的時間只需70μs。
1.1 TMS320C6000的硬件結構
圖1是TMS320C6000 CPU的結構圖。
TMS320C6000的CPU有兩個數據通道A和B,每個通道有16個32位字長的寄存器(A0~A15,B0~B15),四個功能單元(L,S,M,D),每個功能單元負責完成一定的算術或者邏輯運行。A、B兩通道的寄存器并不是完全共享,只能通過TM320C6000提供的兩個交換通道1X、2X,才能實現處理單元從不同通道的寄存器堆那里獲取32位字長的操作數。
TMS320C6000的地址線為32位,存儲器尋址空間是4G。C6201片內集成有1Mbit SRAM——512Kbit的程序存儲器(根據需要可全部配置成Cache)和512Kbit的數據存儲器。通過片內的程序存儲空間控制器,CPU一次可以取出256bit,即一次最多可以取出8條32位指令。
C6201有32位的外部存儲接口EMIF為CPU訪問外圍設備提供了無縫接口。外圍設備可以是同步動態存儲器(SDRAM)、同步突發靜態存儲器(SBSRAM)、靜態存儲器(SRAM)、只讀存儲器(ROM),也可以是FIFO寄存器。
為了便于進行多信道數字信號處理,TMS320C6000配備了多信道帶緩沖能力的串口McBSP。McBSP的功能非常強大,除具有一般DSP串口功能之外,還可以支持T1/E1、ST-BUS、IOM2、SPI、IIS等不同標準。McBSP最多支持128個信道;支持多種數據格式(8/12/16/20/24/32bit)的傳輸;可自動進行u律、A律壓擴。其工作速率可達到1/2時鐘速率。
TMS32C6000提供的16位主機接口(HPI)使得主機設備可以直接訪問DPS的存儲空間。通過內部或外部存儲空間,主機和DSP可以交換信息。主機也可以利用HPI直接訪問映射進存儲空間的外圍設備。
DSP器件一般都帶有DMA控制器,可以在CPU操作的后臺進行數據傳輸。TMS320C6201的DMA控制器有4個獨立的可編程通道,可以同時進行四個不同的DMA操作,每個通道的優先級可以通過編程設定。每個通道可以根據需要傳輸8/16/32bit的數據,并且DMA控制器可以訪問全部32位的地址空間。此外,還有一個輔助通道允許DMA控制器響應主機通過HPI口發來的請求。
1.2 指令系統
C62xx和C67xx共享同一個指令集。C67xx可以使用所有的C62xx指令,但因為C67xx是浮點芯片,怕以C67xx的指令集中有一些指令只能用于浮點運算。TMS320C6201CPU的設計采用了類似于RISC的結構,指令集簡單、運算速度快。8個功能單元負責不同功能的運算,指令和功能單元之間存在一個映射關系。其中,L單元有23條指令,M單元有20條指令,S單元29有條指令,D單元有26條指令。
TMS320C6201的大部分指令都可在單周期內完成,都可以直接對8/16/32bit數據進行操作。同時,TMS320C6201指令集針對數字信號處理算法提供了一引起特殊指令:為復雜計算提供的40bit的特殊操作的加法運算;有效的溢
摘要:分析了TMS320C6000的硬件設計和指令系統的特點,結合應用開發過程中遇到的問題,對這種高速并行DSP器件開發方法進行了總結。
關鍵詞:DSP TMS320C6000 嵌入式系統 并行處理
1 TMS320C6000的硬件設計和指令系統
TMS320C6000系列DSP(數字信號處理器)是TI公司最新推出的一種并行處理的數字信號處理器。它是基于TI的VLIW技術的,其中,TMS320C62xx是定點處理器,TMS320C67xx是浮點處理器。本文主要討論TMS320C6201。該處理器的工作頻率最高可以采用50MHz,經內部4倍頻后升至200MHz,每個時鐘周期最多可以并行執行8條指令,從而可以實現1600MIPS的定點運算能力,而且完成1024定點FFT的時間只需70μs。
1.1 TMS320C6000的硬件結構
圖1是TMS320C6000 CPU的結構圖。
TMS320C6000的CPU有兩個數據通道A和B,每個通道有16個32位字長的寄存器(A0~A15,B0~B15),四個功能單元(L,S,M,D),每個功能單元負責完成一定的算術或者邏輯運行。A、B兩通道的寄存器并不是完全共享,只能通過TM320C6000提供的兩個交換通道1X、2X,才能實現處理單元從不同通道的寄存器堆那里獲取32位字長的操作數。
TMS320C6000的地址線為32位,存儲器尋址空間是4G。C6201片內集成有1Mbit SRAM——512Kbit的程序存儲器(根據需要可全部配置成Cache)和512Kbit的數據存儲器。通過片內的程序存儲空間控制器,CPU一次可以取出256bit,即一次最多可以取出8條32位指令。
C6201有32位的外部存儲接口EMIF為CPU訪問外圍設備提供了無縫接口。外圍設備可以是同步動態存儲器(SDRAM)、同步突發靜態存儲器(SBSRAM)、靜態存儲器(SRAM)、只讀存儲器(ROM),也可以是FIFO寄存器。
為了便于進行多信道數字信號處理,TMS320C6000配備了多信道帶緩沖能力的串口McBSP。McBSP的功能非常強大,除具有一般DSP串口功能之外,還可以支持T1/E1、ST-BUS、IOM2、SPI、IIS等不同標準。McBSP最多支持128個信道;支持多種數據格式(8/12/16/20/24/32bit)的傳輸;可自動進行u律、A律壓擴。其工作速率可達到1/2時鐘速率。
TMS32C6000提供的16位主機接口(HPI)使得主機設備可以直接訪問DPS的存儲空間。通過內部或外部存儲空間,主機和DSP可以交換信息。主機也可以利用HPI直接訪問映射進存儲空間的外圍設備。
DSP器件一般都帶有DMA控制器,可以在CPU操作的后臺進行數據傳輸。TMS320C6201的DMA控制器有4個獨立的可編程通道,可以同時進行四個不同的DMA操作,每個通道的優先級可以通過編程設定。每個通道可以根據需要傳輸8/16/32bit的數據,并且DMA控制器可以訪問全部32位的地址空間。此外,還有一個輔助通道允許DMA控制器響應主機通過HPI口發來的請求。
1.2 指令系統
C62xx和C67xx共享同一個指令集。C67xx可以使用所有的C62xx指令,但因為C67xx是浮點芯片,怕以C67xx的指令集中有一些指令只能用于浮點運算。TMS320C6201CPU的設計采用了類似于RISC的結構,指令集簡單、運算速度快。8個功能單元負責不同功能的運算,指令和功能單元之間存在一個映射關系。其中,L單元有23條指令,M單元有20條指令,S單元29有條指令,D單元有26條指令。
TMS320C6201的大部分指令都可在單周期內完成,都可以直接對8/16/32bit數據進行操作。同時,TMS320C6201指令集針對數字信號處理算法提供了一引起特殊指令:為復雜計算提供的40bit的特殊操作的加法運算;有效的溢