《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > TMS320C6678處理器的VLFFT演示

TMS320C6678處理器的VLFFT演示

2015-08-27
關(guān)鍵詞: TMS320C6678 DSP FFT ARM

       本白皮書(shū)探討了TMS320C6678處理器的VLFFT演示。通過(guò)內(nèi)置8個(gè)固定和浮點(diǎn)DSP內(nèi)核的TMS320C6678處理器來(lái)執(zhí)行16K-1024K的一維單精度浮點(diǎn)FFT算法樣本,,檢測(cè)其分別在采用1,2,4或8核時(shí)各自的運(yùn)行時(shí)間,。演示的結(jié)果證明了C66X DSP內(nèi)核的優(yōu)異性能,以及TMS320C6678處 理器跨多核平行化執(zhí)行性能與內(nèi)核數(shù)量成正比的特性,。本文的演示采用FFT算法,,該算法在諸如醫(yī)學(xué)成像、通信,、軍事和商業(yè)雷達(dá)以及電子戰(zhàn)(干擾器,、抗干擾 器)等領(lǐng)域中被頻繁應(yīng)用。本文演示結(jié)果顯示,,在運(yùn)行速率為1 GHz,,DSP內(nèi)核為8個(gè)時(shí),用TMS320C6678處理器執(zhí)行1024K的FFT算法樣本只需要6.4毫秒,。

  TMS320C6678 SoC

  TMS320C6678處理器具有8個(gè)DSP內(nèi)核,,是基于TI的C66x 固定和浮點(diǎn)DSP內(nèi)核以及 TI享有多核權(quán)利的創(chuàng)新型KeyStone構(gòu)架創(chuàng)建的。它運(yùn)行速度最高可達(dá)1.25GHz,,在這個(gè)速度下它可以進(jìn)行每秒160千兆次浮點(diǎn)運(yùn)算,,而且通常情 況下消耗的電能不到10w。TMS320C6678處理器的特色是它每一個(gè)DSP內(nèi)核都有512KB的 L2內(nèi)存;此外,,8MB的芯片內(nèi)存中有4MB的共享內(nèi)存,,并且這兩個(gè)內(nèi)存都有糾錯(cuò)碼。它的DDR3界面是64位的,,有8位糾錯(cuò)碼,,運(yùn)行速度可以高達(dá)每秒 1600兆比特,同時(shí)支持高達(dá)8GB的外部存儲(chǔ)器數(shù)據(jù)存取,。此外,,TMS320C6678的配套外設(shè)包括PCle,、Serial RapidIO? 、Gigabit Ethernet以及TI的HyperLink界面,,這個(gè)界面在連接到TI的其他DSP,,ARM, ARM+DSP處理器以及第三方的FPGA時(shí)可以提供高達(dá)50Gbps的連接速度,。

  在本文的VLFFT演示中,,TMS320C6678處理器運(yùn)行速度為1GHz,DDR3界面?zhèn)鬏斔俣葹?333MHz,。

07df2c44bfa7c622b167146bc4053254.jpg

圖一:TMS320C6678框圖

  VLFFT演示

  由于VLFFT算法要求將輸入的數(shù)據(jù)存放在處理器的外部存儲(chǔ)器當(dāng)中,,在本演示過(guò)程中,數(shù)據(jù)通過(guò)DSP內(nèi)核存取,、分配和處理,,最后將結(jié)果輸出到外 部存儲(chǔ)器中。同時(shí),,在整個(gè)過(guò)程中始終保持循環(huán)計(jì)數(shù)和時(shí)間測(cè)量。演示時(shí),,為TMS320C6678處理器配置不同數(shù)量的內(nèi)核(1,2,4或8個(gè))來(lái)計(jì)算當(dāng) FFT大小不同時(shí)的結(jié)果,,這些FFT規(guī)格包括:

  ? 16K

  ? 32K

  ? 64K

  ? 128K

  ? 156K

  ? 512K

  ? 1024K

  在演示過(guò)程中,通過(guò)將計(jì)算負(fù)載分布到多個(gè)核和完全充分利用C66X DSP內(nèi)核高性能計(jì)算能力的方法來(lái)確保執(zhí)行FFT達(dá)到最大性能,。同時(shí)運(yùn)用基礎(chǔ)時(shí)間抽取算法將一維VLFFT算法用類似的二維FFT算法來(lái)表達(dá),。這種方法是 在遇到非常大的數(shù)據(jù)N時(shí),分解成N=N1*N2的形式,。在本演示過(guò)程中,,如果一維輸入數(shù)組非常大,就采用N1行*N2列的二維數(shù)組來(lái)表示,,然后通過(guò)以下步 驟來(lái)計(jì)算FFT:

  1. 計(jì)算N2列數(shù)組在N1行數(shù)組中不同大小時(shí)的FFT;

  2. 乘以旋轉(zhuǎn)因子;

  3. 存儲(chǔ)N2 列在N1行不同大小時(shí)FFT算法的結(jié)果,,形成一個(gè)N2*N1的二維數(shù)組;

  4. 計(jì)算N1行數(shù)組在N2列數(shù)組中不同大小時(shí)的FFT;

  5. 存儲(chǔ)列方向上的數(shù)據(jù)形成N2*N1二維數(shù)組。

  這個(gè)算法被Takahashi稱為Hitachi SR8000的高性能平行FFT算法,。

  在執(zhí)行多核算法時(shí),,第一步是計(jì)算N2列(核的數(shù)量)在N1行規(guī)格下的FFT算法,第四步是計(jì)算N1行(核的數(shù)量)在N2列規(guī)格下的FFT算法,。 0核是主核,,負(fù)責(zé)與所有剩下的附屬核同步。根據(jù)N1數(shù)組和N2數(shù)組的大小,,每一個(gè)內(nèi)核計(jì)算出來(lái)的FFT總數(shù)都被分成幾個(gè)較小的模塊以適應(yīng)每個(gè)核L2 SRAM內(nèi)存的空間,。每一組數(shù)據(jù)都通過(guò)外部存儲(chǔ)器中的DMA 預(yù)取到L2 SRAM內(nèi)存中,然后通過(guò)DDR將數(shù)據(jù)返回到外部存儲(chǔ)器中,。每個(gè)核都運(yùn)用2個(gè)DMA通道在外部存儲(chǔ)器(DDR3)和內(nèi)部存儲(chǔ)器(L2 SRAM)中轉(zhuǎn)化輸入和輸出的數(shù)據(jù),。

  結(jié)果

  下頁(yè)圖表1展示了TMS320C6678評(píng)估版(TMDSEVM6678LE)分別在一個(gè)DSP周期和一個(gè)毫秒單位時(shí)間內(nèi)運(yùn)行FFT代碼的結(jié) 果,。在理想狀態(tài)下,當(dāng)用于計(jì)算的內(nèi)核數(shù)量增加一倍,,循環(huán)計(jì)數(shù)就會(huì)減少一半,。但在現(xiàn)實(shí)中,由于存在信息運(yùn)行的天花板,,同時(shí)受限于內(nèi)存大小和信息寬度(內(nèi)部存 儲(chǔ)器),,這種情況很難實(shí)現(xiàn)。在這種情況下,,當(dāng)用雙核取代單核時(shí),,運(yùn)行FFT的時(shí)間平均減少了49.3 %,基本達(dá)到了理想的周期數(shù)的一半,。當(dāng)用四核替代一核時(shí),,運(yùn)行FFT的時(shí)間平均減少了72.5%,而采用八核時(shí)平均運(yùn)行時(shí)間則減少了81.6%,。

7fe41d41dbb77ad5b6c4ce79452e4964.jpg

e9ce8ec2c751619dca56f3138ccc550f.jpg

表格一:FFT分別在1/2/4/8DSP核時(shí)周期及毫秒的結(jié)果

  由此我們可以看出,,無(wú)論是雙核還是四核,隨著FFT的大小從16k增加到256k,,運(yùn)行時(shí)間減少的幅度也越來(lái)越大,,而采用八核時(shí)運(yùn)行時(shí)間減少的 幅度更加劇烈。這是因?yàn)閷?duì)于較小的FFT,,核數(shù)越多,,并行代碼相對(duì)于額外增加核數(shù)來(lái)提高性能的代價(jià)要小很多。以前256KB的FFT,,在提高性能方面的效 果并不太理想,,在雙核時(shí)只能提高2倍,四核時(shí)也只有4倍,,而在八核時(shí)反而會(huì)降低其性能,。這是由于八核處理數(shù)據(jù)的速度遠(yuǎn)高于外部存儲(chǔ)器傳輸數(shù)據(jù)的速度,從而 使其存儲(chǔ)空間到達(dá)上限導(dǎo)致的,。在本演示中,,計(jì)算一個(gè)大小為1024k的FFT,即一百萬(wàn)點(diǎn)的FFT,,在采用8個(gè)DSP內(nèi)核,,運(yùn)行速率為1GHz時(shí),運(yùn)行時(shí) 間僅6.4毫秒,。

038c2fdc03259229012765301a168b38.jpg

圖二:?jiǎn)魏伺c多核在性能上的提升

  結(jié)論

  綜上所述,,用TI的TMS320C6678處理器來(lái)執(zhí)行一個(gè)百萬(wàn)點(diǎn)的FFT,在1GHz的工作頻率下,,8核同時(shí)運(yùn)行所需時(shí)間僅需6.4毫秒,。如 此高速的DSP內(nèi)核完全足以用來(lái)執(zhí)行某些應(yīng)用的實(shí)時(shí)運(yùn)算,,比如雷達(dá)、電子戰(zhàn)爭(zhēng)和醫(yī)學(xué)繪圖等,。如果用最大速度1.25GHz來(lái)運(yùn)行TMS320C6678處 理器,,同時(shí)采用更高帶寬的DDR3和1600MTPS的話,執(zhí)行運(yùn)算所需時(shí)間會(huì)更短,。


如需購(gòu)買,,請(qǐng)直接點(diǎn)擊,官方大促75折


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。