自十多年前浮點(diǎn)數(shù)字信號處理器 (DSP) 推出以來,就為實(shí)時信號處理提供了算術(shù)上更為先進(jìn)的備選方案。然而,定點(diǎn)器件至今仍是業(yè)界的支柱,當(dāng)然成本低是主要原因。定點(diǎn) DSP 每器件產(chǎn)品的價格更低,這對大規(guī)模大眾市場應(yīng)用而言是相當(dāng)重要的優(yōu)勢。
相比較而言,浮點(diǎn) DSP 能夠?qū)崿F(xiàn)更快速而簡便的開發(fā),因此對開發(fā)成本比單位制造成本重要的小規(guī)模應(yīng)用而言,更是的選擇。
近幾年,高密度集成與支持改善使兩種 DSP 在使用方便性與成本上都較為接近。目前,器件類型的選擇越來越取決于應(yīng)用數(shù)據(jù)集是否要求浮點(diǎn)格式的更多計(jì)算功能。因此,設(shè)計(jì)大規(guī)模量產(chǎn)信號處理應(yīng)用的開發(fā)人員現(xiàn)在開始發(fā)現(xiàn)浮點(diǎn)格式更多的內(nèi)在價值。他們將視線投向傳統(tǒng)定點(diǎn) DSP 開發(fā)模式之外的領(lǐng)域,并探索浮點(diǎn) DSP 所帶來的設(shè)計(jì)機(jī)遇。
不同的數(shù)字格式
定點(diǎn)與浮點(diǎn) DSP 的基本差異在于它們各自對數(shù)據(jù)的數(shù)字表示法不同。定點(diǎn)硬件嚴(yán)格執(zhí)行整數(shù)運(yùn)算,而浮點(diǎn) DSP 既支持整數(shù)運(yùn)算又支持實(shí)數(shù)運(yùn)算,后者以科學(xué)計(jì)數(shù)法進(jìn)行了標(biāo)準(zhǔn)化。字長為 16 位的定點(diǎn) DSP 實(shí)現(xiàn) (rovide) 64K 的精度,帶符號整數(shù)值范圍為 -215 至 215-1。
與此相對比,浮點(diǎn) DSP 將數(shù)據(jù)路徑分為兩部分:一是可用作整數(shù)值或?qū)崝?shù)基數(shù)的尾數(shù),二是指數(shù)。在支持業(yè)界標(biāo)準(zhǔn)單一精確運(yùn)算的 32 位浮點(diǎn) DSP 中,尾數(shù)為 24 位,指數(shù)為 8 位。由于其較長的字長與取冪范圍,該器件支持 16M 的精度范圍,這樣的動態(tài)范圍大大高于定點(diǎn)格式可提供的精確度。實(shí)施業(yè)界標(biāo)準(zhǔn)雙精度(64 位,包括一個 53 位的尾數(shù)與 11 位的指數(shù))的器件還可實(shí)現(xiàn)更高的精確度。
成本與方便易用性
浮點(diǎn)DSP 提供的計(jì)算能力更高,這也是其區(qū)別于定點(diǎn) DSP 功能的差異所在。但在浮點(diǎn) DSP 剛剛出現(xiàn)的 20 世紀(jì) 90 年代初期,其它因素往往掩蓋了基本的數(shù)學(xué)計(jì)算問題。浮點(diǎn)功能需要的內(nèi)部電路多,而 32 位數(shù)據(jù)路徑比當(dāng)時可用的定點(diǎn)器件要寬一倍。晶片面積越大,引腳數(shù)量就越多,封裝也越大,這就大大提高了新款浮點(diǎn)器件的成本,因此數(shù)字化語音與電信集成卡 (concentration card) 等高產(chǎn)量應(yīng)用仍更傾向于采用較低成本的定點(diǎn)器件。
當(dāng)時,方便易用性抵消了成本問題帶來的不利影響。浮點(diǎn)器件是早支持 C 語言的 DSP 之一,而定點(diǎn) DSP 則仍須在匯編代碼級上進(jìn)行編程。此外,對浮點(diǎn)格式而言,實(shí)數(shù)運(yùn)算可直接通過代碼加入硬件運(yùn)算中,而定點(diǎn)器件則必須通過軟件才能間接執(zhí)行實(shí)數(shù)運(yùn)算,這就增加了算法指令并延長了開發(fā)時間。由于浮點(diǎn) DSP 易于編程,因此其初主要用于開發(fā)工作強(qiáng)度較大的情況,如研究、原型開發(fā)、影像識別、工作站的三維圖像加速器以及雷達(dá)等軍用系統(tǒng)。
逐漸趨同
目前,早先在成本與易用性間的差異已經(jīng)不那么明顯了。總體說來,定點(diǎn) DSP 仍然在成本上有優(yōu)勢,而浮點(diǎn) DSP 仍然在易用性上有優(yōu)勢,但差別已經(jīng)縮小很多,因此上述因素已經(jīng)不再起決定作用了。
成本日益成為片上系統(tǒng) (SOC) 集成與產(chǎn)量的問題,而不是 DSP 內(nèi)核本身大小的問題。在十年前還只能放置單個晶體管的空間,目前可放置數(shù)十個晶體管。目前,占據(jù)晶片面積多的是存儲器,而不是邏輯,而且許多基于 DSP 的產(chǎn)品都充分利用再擴(kuò)展 (rescaling) 的優(yōu)勢,針對具體市場的需求集成了不只一個內(nèi)核。定點(diǎn) DSP 的成本仍然較低,因?yàn)槠溽槍Υ蟊娛袌鰬?yīng)用的產(chǎn)量很高;但是,如果大規(guī)模量產(chǎn)的需求出現(xiàn),那么浮點(diǎn)器件也將受益于規(guī)模效益帶來的同樣的成本降低。
早期在易用性方面的差異也已經(jīng)減小。高效的 C 編譯程序與工具早已能支持定點(diǎn) DSP,為代碼執(zhí)行帶來了可視性。直接采用浮點(diǎn)硬件實(shí)施實(shí)數(shù)運(yùn)算仍有優(yōu)勢;但目前先進(jìn)的建模工具、完整的數(shù)學(xué)函數(shù)庫以及現(xiàn)成的算法降低了為定點(diǎn)器件開發(fā)復(fù)雜應(yīng)用的難度。
浮點(diǎn)的精確度
目前,選用定點(diǎn)DSP還是浮點(diǎn) DSP 歸根結(jié)底在于應(yīng)用數(shù)據(jù)集是否需要浮點(diǎn)算術(shù)功能。總體說來,設(shè)計(jì)人員應(yīng)解決兩個問題:數(shù)據(jù)集要求多高的精確度?數(shù)據(jù)集的可預(yù)見度有多大?
三個因素影響著浮點(diǎn)格式的內(nèi)在高精度。首先,浮點(diǎn) DSP 的 24 位 I/O 字長在整數(shù)與實(shí)數(shù)值方面可實(shí)現(xiàn)比定點(diǎn)器件中常用的 16 位字長更高的精確度。第二,取冪大幅提高了應(yīng)用可用的動態(tài)范圍,較大的動態(tài)范圍對處理極大數(shù)據(jù)集以及難以方便預(yù)計(jì)數(shù)據(jù)集范圍的情況相當(dāng)重要。第三,浮點(diǎn)硬件內(nèi)部的數(shù)據(jù)表示法比定點(diǎn)器件更為精確,這就保證了終結(jié)果的精確度更高。
一點(diǎn)應(yīng)稍做解釋。在 DSP 的內(nèi)部架構(gòu)中,三種數(shù)據(jù)字長相當(dāng)重要,應(yīng)當(dāng)考慮。是 I/O 信號字長,正如我們已經(jīng) 說過的那樣,其就浮點(diǎn)而言為 24 位,就定點(diǎn) DSP 而言通常為 16 位。第二就是用于乘法的系數(shù)字長。定點(diǎn)系數(shù)為 16 位,與信號數(shù)據(jù)相同;但浮點(diǎn)系數(shù)則可能為 24 位或 53 位,這取決于所用的是單寬度精度還是雙寬度精度。如果指數(shù)表示有意義的零,則精確度實(shí)際上會超過上述位數(shù)。
,就是保存迭代乘加 (MAC) 運(yùn)算中間結(jié)果的字長,通常稱作寄存器文件。對單一 16 位乘以 16 位的乘法而言,將需要 32 位的乘積;而就單一 24 位乘以24 位的尾數(shù)乘法而言,則需 48 位的乘積(指數(shù)有不同的數(shù)據(jù)路徑)。但是,迭代 MAC 需要額外的位用于溢出空間 (overflow headroom)。在 16 位定點(diǎn)器件中,溢出空間通常為 8 位,這就使總的中間結(jié)果字長為 40 位(16 個信號+16 個系數(shù)+8 個溢出)。
將相同大小的溢出空間集成到浮點(diǎn) DSP 中將需要 60 個中間結(jié)果位(24 個信號+24 個系數(shù)+12 個溢出),這將超過大多數(shù)應(yīng)用對精度的要求。但就取冪而言,我們將結(jié)果標(biāo)準(zhǔn)化,這樣所有 24 位或 53 位都有效,溢出位就不必要了。TI 的 TMS320C67x 系列等浮點(diǎn) DSP 允許開發(fā)人員在雙精度內(nèi)部運(yùn)算與單精度 I/O 結(jié)合的模式下優(yōu)化精確度與性能。其結(jié)果是得到的精確度比定點(diǎn)或單精度浮點(diǎn)運(yùn)算提供的精確度高得多,但又不會產(chǎn)生完全雙精度 I/O 帶來的周期問題。
視頻與音頻數(shù)據(jù)集要求
將視頻與音頻應(yīng)用的數(shù)據(jù)集要求加以對比,就很容易看出使用浮點(diǎn)格式的優(yōu)勢。視頻的采樣率很高,其像素?cái)?shù)據(jù)采樣率相當(dāng)于每秒數(shù)十乃至數(shù)百個兆位 (Mbps),具體的值決于應(yīng)用。像素?cái)?shù)據(jù)通常以 8 至 12 位的短字表示,每一位代表影像的紅、綠、藍(lán) (RGB) 位面。業(yè)界標(biāo)準(zhǔn)的 MPEG 視頻壓縮算法的關(guān)鍵數(shù)學(xué)運(yùn)算包括離散余弦變換 (DCT) 與量化,且過濾有限。DCT 與量化采用整數(shù)運(yùn)算就能有效處理,它與短數(shù)據(jù)字相結(jié)合使得視頻成為定點(diǎn) DSP 很自然的應(yīng)用,特別對那些設(shè)計(jì)有大量并行數(shù)據(jù)路徑與片上視頻接口的情況更是如此。
另一方面,音頻的數(shù)據(jù)流更為有限,對 24 位采樣且每秒 48 千個采樣 (ksps) 的速度而言,約為 1Mbps 的速度。新興的采樣率為 192 ksps,為該數(shù)據(jù)速率的四倍,但其數(shù)據(jù)流仍然大大低于視頻流。不過音頻數(shù)據(jù)的處理必須比視頻精確得多。眼睛很容易就被欺騙,特別當(dāng)影像運(yùn)動時更是如此;但耳朵就很難欺騙了。因此音頻需要浮點(diǎn)硬件提供的更大的字長。
使用完全 24 位浮點(diǎn) I/O 精度來進(jìn)行聲音采樣,這就得到 144 dB 的動態(tài)范圍,大大超出了聲音復(fù)制所需的全振幅范圍。此外,音頻還要求寬系數(shù)與中間結(jié)果提供的精確度,其原因有二。首先,音頻應(yīng)用通常使用串聯(lián)無限脈沖響應(yīng)濾波器 (IIR) 以實(shí)現(xiàn)時延與性能。但串聯(lián)過濾每一級都會傳播上一級的錯誤。信號與系數(shù)字長越長,精確度越高,上述傳播錯誤的影響就越小。
第二,在接近于零時必須保持信號精確度,以避免人耳可以分辨的諧波失真。浮點(diǎn)格式從本質(zhì)上說與人耳的敏感度配合得很好,因?yàn)樗诜謹(jǐn)?shù)趨近于零時會變得更精確。相反,定點(diǎn)系統(tǒng)在分?jǐn)?shù)極小的情況下會取近似值等于零,這就降低了精確度。所有上述浮點(diǎn)實(shí)數(shù)算法方面都對真實(shí)復(fù)制音頻信號至關(guān)重要。
盡管過去常用定點(diǎn)器件實(shí)現(xiàn)高保真音頻,但目前則轉(zhuǎn)向采用精確度更高的浮點(diǎn)格式。某些浮點(diǎn) DSP 集成了多通道音頻串行端口 (McASP),從而簡化了音頻系統(tǒng)的設(shè)計(jì),這就為上述發(fā)展趨勢提供了支持。隨著型音頻創(chuàng)新在消費(fèi)類電子產(chǎn)品中的日益普及,對浮點(diǎn) DSP 的需求也將上升,這也有助于讓其成本更接近于定點(diǎn) DSP。
決定數(shù)據(jù)集
其它類型應(yīng)用的數(shù)據(jù)集也可受益于浮點(diǎn)的精確度。在醫(yī)療影像識別中,更高的精確度能夠支持許多層次的信號輸入,包括光、X 射線、超聲波與其它來源的輸入等,它們都必須進(jìn)行定義與處理,以生成提供有用診斷信息的輸出影像。動態(tài)范圍較大對雷達(dá)至關(guān)重要,這種情況下,系統(tǒng)應(yīng)能夠在從零到無窮大的范圍內(nèi)進(jìn)行跟蹤,而只用整個范圍的一個較小的子集進(jìn)行目標(biāo)捕獲與識別。動態(tài)范圍較大也有助于讓機(jī)器人處理不可預(yù)見的情況,如在機(jī)器人正常有限的運(yùn)動范圍中遇到的障礙等。與上述應(yīng)用形成對比的是,定點(diǎn)器件為巨大的通信市場提供更好的服務(wù),因?yàn)榇蠖鄶?shù)通信數(shù)據(jù)都是以八位字節(jié)串行傳輸,隨后進(jìn)行內(nèi)部擴(kuò)展以根據(jù)整數(shù)運(yùn)算進(jìn)行 16 位處理。
近年來,隨著數(shù)字信號處理領(lǐng)域不斷發(fā)展,DSP 也由應(yīng)用推動發(fā)展。SOC 集成意味著更多的存儲器和不同的內(nèi)核與專用外設(shè)一起均能集成到同一器件上,這就使 DSP 產(chǎn)品能夠按特定市場的需求進(jìn)行定制。在此環(huán)境中,浮點(diǎn)功能已成為整體 DSP 產(chǎn)品組合中的另一要素。
定點(diǎn)DSP與浮點(diǎn) DSP 之間在成本與易用性方面仍有某些差異,但隨著時間的推移,上述差異已經(jīng)不大。對設(shè)計(jì)人員重要性的特性在于浮點(diǎn)格式具有更高的算術(shù)靈活性與精確度。對高保真音頻以及需要實(shí)數(shù)運(yùn)算、更高精確度與較大動態(tài)范圍的其它數(shù)據(jù)集應(yīng)用而言,浮點(diǎn) DSP 是的解決方案。
浮點(diǎn)DSP精度決定新興應(yīng)用的成敗
更新時間: 2008-09-04 14:19:25來源: 粵嵌教育瀏覽量:1046