本文主要是關(guān)于TMS320C6000的相關(guān)介紹,并著重對TMS320C6000的芯片結(jié)構(gòu)及其基本特性進(jìn)行了詳盡的闡述。
TMS320C6000 芯片結(jié)構(gòu)圖
TMS320C600的基本特性
TMS320C6000產(chǎn)品是美國TI公司于1997年推出的dsp芯片,該DSP芯片定點(diǎn)、浮點(diǎn)兼容,其中,定點(diǎn)系列是TMS320C62xx系列,浮點(diǎn)系列是TMS320C67xx系列,2000年3月,TI發(fā)布新的C64xx內(nèi)核,主頻為1.1GHz,處理速度9000MIPS,在圖像處理和流媒體領(lǐng)域得到了廣泛的應(yīng)用。
C6000片內(nèi)有8個(gè)并行的處理單元,分為相同的兩組。DSP的體系結(jié)構(gòu)采用超長指令字(vliw)結(jié)構(gòu),單指令字長為32位,指令包里有8條指令,總字長達(dá)到256位。執(zhí)行指令的功能單元已經(jīng)在編譯時(shí)分配好,程序運(yùn)行時(shí)通過專門的指令分配模塊,可以將每個(gè)256為的指令包同時(shí)分配到8個(gè)處理單元,并有8個(gè)單元同時(shí)運(yùn)行。芯片最高時(shí)鐘頻率為300MHz(67xx系列),且內(nèi)部8個(gè)處理單元并行運(yùn)行時(shí),其最大處理能力可達(dá)到1600MIPS。
TMS320C6000的架構(gòu)
1. CPU架構(gòu)
2. C6000基本指令集
在“DSP TMS320C6000基礎(chǔ)學(xué)習(xí)(1)”中已經(jīng)說過:SOP是大部分DSP算法的關(guān)鍵單元。C6000的寄存器包括A,B兩組。
我們將看看下面的表達(dá)式通過DSP指令是怎么一步步實(shí)現(xiàn)的,
Y=∑an*xn withn = 1.。.N
(1)an*xn乘法實(shí)現(xiàn),DSP中有專門的硬件乘法模塊,因此只需要一個(gè)指令就能完成乘法操作,而且指令周期為1。
其中MPY為乘法指令,.M表示DSP的乘法單元,上面指令執(zhí)行Y1=a1*x1。
(2)加法實(shí)現(xiàn),ADD指令,加法單元用.L表示,下面指令執(zhí)行Y=Y+Y1
(3)內(nèi)存數(shù)據(jù)裝載(上面的操作其實(shí)是有問題的,MPY和ADD不能直接操作內(nèi)存),只能使用如下命令:
LDB *Rn, Rm:轉(zhuǎn)載一個(gè)字節(jié)(8bits)
LDH *Rn, Rm:裝載一個(gè)半字(16bits)
LDW *Rn, Rm:裝載一個(gè)字(32bits)
LDDW *Rn, Rm:裝載一個(gè)double字(64bits)
其中Rn包含要裝載操作數(shù)內(nèi)存地址(32bits)的寄存器,Rm為目標(biāo)寄存器。裝載的DSP執(zhí)行單元稱為.D。
(4)將常量裝入寄存器指令——MVKL和MVKH
MVKL const, Rn(低16bits)
MVKH const Rn(高16bits)
const是一個(gè)常量或標(biāo)簽值,只能先裝低位再裝高位。
比如(3)中,先要將操作數(shù)內(nèi)存地址載入Rn中,因?yàn)榈刂烽L度為32bits,必須依次使用上面的2條指令完成地址到寄存器的載入工作,
MVKL Addr_low8 Rn
MVKL Addr_high8 Rn
(5)綜合(1)~(4)指令完成a1*x1的過程
其中pt1和pt2分別為a與x地址。
(6)循環(huán)指令
為完成Y=∑an*xn withn = 1.。.N,還有一個(gè)循環(huán)求和的過程,與其它平臺類似,DSP中通過跳轉(zhuǎn)指令和計(jì)數(shù)器實(shí)現(xiàn)循環(huán),實(shí)現(xiàn)循環(huán)的步驟為:
========================================================
添加一個(gè)標(biāo)簽(下一次要跳轉(zhuǎn)到何處);
添加跳轉(zhuǎn)指令(B);
創(chuàng)建一個(gè)循環(huán)計(jì)數(shù)器;
添加一條指令用于對循環(huán)計(jì)數(shù)器更新;
使跳轉(zhuǎn)指令根據(jù)計(jì)數(shù)器的值做相應(yīng)的跳轉(zhuǎn);
=========================================================
下面為一個(gè)示例,
MVKL .S count, B0 ; 計(jì)數(shù)器寄存器B0初始化為count
loop: 。..。.
SUB .S B0,1B0 ; 計(jì)數(shù)器減1
[B0] B .S loop ; 當(dāng)B0不為0時(shí)跳轉(zhuǎn)
上面用到了條件指令[Reg],還有取反的條件指令[! Reg]。條件寄存器可以為A0,A1,B0,B1,B2。
到此,我們已經(jīng)在DSP上使用指令完全實(shí)現(xiàn)了Y=∑an*xn withn = 1.。.N
這里考慮一個(gè)問題,如果我們要提高DSP的處理能力,有什么方法么?很容易想到,一方面可以提高時(shí)鐘頻率,從而減小單周期的時(shí)間;另一方面是增加處理單元的個(gè)數(shù)(指上面提到的.D .M .L .S等)。
4. DSP C6000外設(shè)
C6000的外設(shè)主要包括:
—— 并口
—— 普通GPIO
—— EMIF:外部存儲器接口
—— 串口:McBSP(多通道緩沖串口),McASP(多通道音頻串口)
—— DMA(EDMA):直接存儲器訪問(內(nèi)部,外部)
—— 視頻接口(Video Ports)
—— VCP/TCP接口:實(shí)現(xiàn)3G網(wǎng)絡(luò)
—— PLL鎖相環(huán)
本文最后記錄下C6000系列產(chǎn)型號的命名方法,比如
TMS320C6713B-200
320:表示TI的DSP系列產(chǎn)品 (另 430:MCU 470:ARM)
C:ROM (另 F:Flash EEROM) 此處有誤,改:在6000系列中C表示CMOS,而2000系列中C表示ROM
6713:產(chǎn)品型號
-200:主頻為200MHz
結(jié)語
關(guān)于TMS320C6000的相關(guān)介紹就到這了,希望通過本文能讓你對TMS320C6000有更全面的認(rèn)識。
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423137 -
TMS320C6000
+關(guān)注
關(guān)注
0文章
96瀏覽量
15749
發(fā)布評論請先 登錄
相關(guān)推薦
評論