《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > TI全新TMS320C66x定點與浮點DSP內(nèi)核成功挑戰(zhàn)速度極限

TI全新TMS320C66x定點與浮點DSP內(nèi)核成功挑戰(zhàn)速度極限

2011-08-18
作者:Arnon Friedmann TI戰(zhàn)略營銷總監(jiān)
關(guān)鍵詞: DSP TMS320C66x C64x+ 浮點運算

序言

    德州儀器 (TI) 全新 TMS320C66x 數(shù)字信號處理器 (DSP) 內(nèi)核不僅為屢獲殊榮的 C64x+™ 指令集架構(gòu) (ISA) 帶來了顯著的性能提升,同時還在同一處理內(nèi)核中高度集成了針對浮點運算的支持。浮點處理技術(shù)首次能夠用于傳統(tǒng)上僅能滿足定點處理運行速度要求的處理器中。該 C66x DSP 的 ISA 同時支持單精度和雙精度浮點操作,并全面兼容 IEEE 754 標準。這一完美組合造就了無與倫比的DSP,能夠在完全無損定點或浮點功能的情況下將浮點優(yōu)勢引入高速嵌入式架構(gòu)中。與其它很多可提供浮點協(xié)作單元的嵌入式處理器不同,TI 最新 C66x DSP 內(nèi)核直接將浮點指令集嵌入到C64x 定點指令集中。在C66x CPU上,用戶可以選擇逐條執(zhí)行浮點、定點指令,因為在 C66x 中浮點與定點運算能力已經(jīng)被完全集成在一起。正是由于這樣,到底使用定點 DSP 還是浮點 DSP 已不再是設(shè)計上的挑戰(zhàn),因為 C66x DSP 做到了雙全其美。
 
    在同一 DSP 內(nèi)核中集成定點與浮點功能將使嵌入式系統(tǒng)算法的開發(fā)與部署方式發(fā)生根本性變革。這聽起來似乎有點夸大其辭,不過事實的確如此。在定點數(shù)字系統(tǒng)中實施算法所付出的艱辛是不可估量的。但充分滿足對速度的需求又使這一工作勢在必行,因為到目前為止市面上還沒有任何可供使用的快速浮點DSP。我們能夠輕松、便捷地將采用 Matlab 等浮點運算工具開發(fā)的算法移植到 DSP 中,而無需費力轉(zhuǎn)換為定點方式處理。借助 TI 新型 C66x DSP 的浮點計算能力,大多數(shù)轉(zhuǎn)換工作已顯得沒有任何必要。
 
對二進制數(shù)字表示的回顧
 
    包含 TI DSP 等在內(nèi)的所有數(shù)字處理器均采用帶比特串(0 和 1 組成)的二進制形式表示數(shù)字。數(shù)字表示精度取決于所使用的比特位數(shù)和表示格式兩個方面。
 
    定點系統(tǒng)使用比特表示一個固定取值范圍,這些值既可以是整數(shù),也可以是具有固定數(shù)量的整數(shù)及小數(shù)位的數(shù)字。動態(tài)取值范圍因而顯得十分有限,而且超出設(shè)定范圍的值必須達到端點。 
 
     定點處理器通常采用每秒乘法計算次數(shù)表示其 16 位運算性能。為了充分利用處理器的處理能力(例如,為獲得其宣稱的全部性能),為這些處理器開發(fā)的算法不得不在一系列預(yù)先確定范圍的數(shù)字上進行操作。在定點實施過程中無法高效執(zhí)行難以預(yù)知范圍或變化幅度大的數(shù)據(jù)集。
 
     浮點表示通過采用科學(xué)計數(shù)法來提供更廣的動態(tài)范圍,從而可使用尾數(shù)(或叫有效數(shù)字)及指數(shù)進行表示。C66x 內(nèi)核可對 32 個比特位表示的數(shù)值實施單精度浮點運算,其采用的表示形式如下:(−1)5 × M × 2(N−127),其中 S 表示符號位,M 表示尾數(shù)或有效數(shù)字位,而 N 則表示指數(shù)。S 只有一個比特位,N 有 8 個比特位,而 M 以 23 個比特位表示。 這樣,數(shù)字表示范圍為 2−127 − 2128,并具有 24 比特精度的有效位。相比而言,16 比特位的定點算法僅能表示 216 個數(shù)值(從 0 到 65535),故其內(nèi)在數(shù)字表示的可變范圍要小很多。所以當數(shù)據(jù)集或工作在該數(shù)據(jù)集上的算法不可預(yù)知、動態(tài)變化幅度很大的情況下,浮點數(shù)字表示法更受青睞。另外很重要的一點是,有效數(shù)字始終以‘1’作為第一個數(shù)字,因此其數(shù)值始終保持 24 位精度。

TI 如何創(chuàng)造性地在同一內(nèi)核中同時集成浮點與定點技術(shù)

    最新 C66x DSP 內(nèi)核 —— 圖 1 顯示的 C64x+ DSP 是 TI 最新 C66x DSP 的前代產(chǎn)品。該內(nèi)核由兩個對稱的部分 (A & B) 組成,每部分具有四個功能單元。一個 .M 單元包含 4 個 16 位乘法器。
 
TI C64x+ DSP
圖 1 - TI C64x+ DSP
 
   圖 2 所示的 TI 最新 C66x 內(nèi)核具有同 C64x+ 內(nèi)核相同的基本 A & B 結(jié)構(gòu)。請注意,.M 單元的 16 位乘法器已增至每個功能單元 16 個,從而實現(xiàn)內(nèi)核原始計算能力提升 4 倍。C66x DSP 實現(xiàn)的突破性創(chuàng)新使得由 4 個乘法器組成的各群集可協(xié)同工作以實施單精度浮點乘法運算。
TI 最新 C66x DSP 內(nèi)核
 圖 2 - TI 最新 C66x DSP 內(nèi)核
 
 
    C66x DSP 內(nèi)核可同時運行多達八項浮點乘法運算,加之高達 1.25 GHz 的時鐘頻率,使其當之無愧地成為市場上性能最高的浮點 DSP。將多個 C66x DSP 內(nèi)核進行完美整合,即可創(chuàng)建出具有出眾性能的多內(nèi)核片上系統(tǒng) (SoC) 設(shè)備。

浮點技術(shù)的成本
 
    為使定點與浮點組件都能同時實現(xiàn)最佳性能,TI 專為該款最新的 C66x 內(nèi)核開發(fā)了全新的浮點與定點指令,所有這些都對實現(xiàn)高效率的無線信號處理至關(guān)重要。由于采用浮點符號會帶來額外的計算復(fù)雜度,從而導(dǎo)致了定點與浮點處理器“分庭抗禮”的局面。在定點運算情況下,加法、乘法等基本操作簡單易行,但在浮點運算情況下,這些基本操作需要做更多工作量。比如兩個浮點數(shù)相乘的情形:
 
    請注意,指數(shù)需要相加操作,尾數(shù)則需要相乘操作。然后,最終 (M1×M2) 值需調(diào)整成 23 位的表示形式,這可能需要對指數(shù)的值也作更改。使用浮點技術(shù)進行所有基本運算時將需要很多額外的操作。
 
     浮點計算帶來的額外復(fù)雜度恰好說明了眾多算法僅采用定點表示數(shù)和定點運算的原因。嵌入式處理器能夠更快地運行定點運算,并且在眾多情況下,只需要定點算法即可。例如,C66x DSP 內(nèi)核在每個周期內(nèi)都能執(zhí)行 16 項定點乘法運算或者是 4 項浮點乘法運算。為使定點和浮點組件都能同時實現(xiàn)最佳性能,TI 為該款最新的 C66x DSP 內(nèi)核開發(fā)了定點與浮點運算指令,所有這些都對實現(xiàn)高效率的無線基站信號處理至關(guān)重要。浮點指令 FPi 包括:
1. 單精度復(fù)數(shù)乘法
2. 矢量乘法
3. 單精度矢量加減法
4. 單精度浮點-整數(shù)之間的矢量變換
5. 支持雙精度浮點算術(shù)運算(加、減、乘、除及與整數(shù)間的轉(zhuǎn)換)并且完全為管線式
 
最新定點指令可實現(xiàn)最佳的矢量信號處理 (VSPi),其中包括:
1. 復(fù)數(shù)矢量和矩陣乘法,諸如針對矢量的 DCMPY,以及針對矩陣乘法的CMATMPYR1
2. 實矢量乘法
3. 增強型點積計算
4. 矢量加減法
5. 矢量位移
6. 矢量比較
7. 矢量打包與拆包
 
部分應(yīng)用采用定點技術(shù)的隱性成本
 
     盡管與浮點處理相比,DSP 能夠?qū)崿F(xiàn)更快的定點處理,但卻不得不為特定算法在開發(fā)時間方面相付出代價。通信系統(tǒng)典型的設(shè)計流程是首先基于計算機模型開發(fā)相應(yīng)算法,然后再將這些算法用在初始系統(tǒng)部署中。隨著部署及應(yīng)用范圍的不斷擴大,工程師便可將收集到的現(xiàn)實世界的數(shù)據(jù)帶回實驗室,以通過對算法的校正、調(diào)優(yōu)提升系統(tǒng)性能。通??墒褂?Matlab 或其他固有的浮點工具開發(fā)新的算法。接下來面臨的挑戰(zhàn)是如何在保持算法和系統(tǒng)性能的同時,將這些浮點算法轉(zhuǎn)換為定點算法。復(fù)雜拙劣的算法會占用大量系統(tǒng)資源,從而導(dǎo)致系統(tǒng)的整體性能下降。在需要用到復(fù)雜處理的情況下,將 Matlab 中的代碼移植到真實系統(tǒng)中就算耗費數(shù)周乃至數(shù)月的時間也不是什么罕見的現(xiàn)象。TI 最新架構(gòu)具有原生浮點支持,從而使從浮點到定點的整個轉(zhuǎn)換過程變得毫無必要。通過在 C66x DSP 上使用浮點指令,可輕松將代碼從 Matlab 等工具中進行移植,并直接編譯至 TI 的 DSP 中,如圖 3 所示。
浮點功能可大幅加速產(chǎn)品上市進程
圖 3 - 浮點功能可大幅加速產(chǎn)品上市進程
 
浮點技術(shù)在 4G 基站中的重要作用
 
    無線電話正不斷演進發(fā)展成為需要高數(shù)據(jù)量傳輸以支持視頻流和其他高寬帶應(yīng)用的復(fù)雜媒體平臺。為了充分滿足這些需求,無線行業(yè)需要在基站中部署 WiMax 和 LTE 等最新的 4G 技術(shù),力爭為終端用戶提供更高的數(shù)據(jù)吞吐量。這些 4G 基站利用多天線信號處理及 MIMO、Beamforming 等算法來提高其性能。通常情況下,這些算法會依賴本身易于量化和縮放與定點處理相關(guān)的問題的矩陣反演技術(shù)。采用浮點實施這些算法可進一步提高系統(tǒng)的速度及精確度,從而獲得更高性能,并最終為移動電話用戶帶來更精彩的體驗。
 
不斷增長、層出不窮的高性能應(yīng)用亟需浮點運算功能
 
    之前我們已經(jīng)討論過,由于執(zhí)行每個基本算術(shù)運算需要較長時間,所以浮點處理是很耗時的,但這種情況在當算法需要很大動態(tài)范圍操作時則不然。在 4G 處理的矩陣反轉(zhuǎn)操作中,由于沒有簡單可行的定點操作方法,因此算法雖然運行于定點處理器(無原生浮點支持)中,但基本還是被迫對浮點運算進行仿真。由于處理器沒有獲得定點功能的優(yōu)勢,因而在與使用支持浮點運算的處理器運行時,這些算法的運行速度要慢很多。C66x DSP 自身支持浮點功能,所以消除了這種性能瓶頸。例如,C66x DSP 內(nèi)核運行 MIMO 及其他關(guān)鍵的多天線信號處理算法比在 C64x+ DSP 上運行定點功能的相同算法整整快 4 倍。
 
    在國防、公共安全基礎(chǔ)設(shè)施及航空電子設(shè)備等各種任務(wù)關(guān)鍵型應(yīng)用領(lǐng)域,浮點功能不僅可簡化開發(fā),同時還能大幅提高性能。由于能夠直接使用 MATLAB 中的代碼,浮點不僅能夠顯著縮短開發(fā)周期,并且與大型 FFT 等定點代碼相比,眾多算法的浮點實施也會占用更少的執(zhí)行周期。例如,雷達、導(dǎo)航與制導(dǎo)系統(tǒng)會處理通過傳感器陣列獲取的據(jù)量。眾多傳感器組件的各種不同能源模式可提供與目標的跟蹤和定位相關(guān)的信息。這組數(shù)據(jù)必須通過線性方程組處理才能提取到所需信息。解決辦法包括矩陣反演、分解與自適應(yīng)濾波等數(shù)學(xué)函數(shù)。對更高輸出精度與更大動態(tài)范圍的需求促使這些功能在諸如C66x 等 1.25GHz 浮點引擎上實現(xiàn)出眾的表現(xiàn)。另外,C66x 擁有的 SIMD 增強以及每周期定點能力高達 1.25GHz 32 MAC 的卓越性能,也為設(shè)計人員在選擇適合其應(yīng)用的浮點與定點組合方面提供了極大的靈活性。
 
    除機器視覺、工業(yè)自動化應(yīng)用外,超聲波等用于醫(yī)療影像的影像識別也需要非常高的計算準確度,這些均可從浮點功能獲益匪淺。在進行超聲波檢查時,必須對聲源發(fā)出的信號進行定義和處理,才能創(chuàng)建可提供實用診斷信息的輸出影像。對于用戶而言,C66x ISA 提供的更高精度可使影像系統(tǒng)達到更高的分辨率和識別率。
 
    浮點應(yīng)用眾所周知的領(lǐng)域便是語音處理,其不僅需要嚴格的時延,同時還需要超高的采樣率,這些都會極度依賴浮點功能提供的更高計算精度和更大的動態(tài)可變范圍來適應(yīng)濾波及其他降噪算法。此外,機器人設(shè)計也會考慮寬動態(tài)范圍。因為裝配線上也許會發(fā)生難以預(yù)料的事件。浮點 DSP 的寬動態(tài)范圍可確保機器人控制電路以可預(yù)知的形式處理不可預(yù)知的狀況。

結(jié)論
    TI 最新的 C66x 內(nèi)核催生了基于 DSP 的嵌入式處理器及SoCs 的創(chuàng)新類別,因而您無需再在定點處理器還是浮點處理器之間進行利弊權(quán)衡。這一革命性的進步將從根本上改變實時系統(tǒng)算法的設(shè)計與開發(fā)方式,從而使得系統(tǒng)開發(fā)人員能夠輕松而快速地構(gòu)建極具差異化功能的全新解決方案。
 
更多詳細信息,敬請訪問 www.ti.com/c66multicore
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。