談DSP、FPU加入后MCU市場戰(zhàn)局的變化
盡管應(yīng)用面大幅增加,但DSP與FPU在功能上要如何區(qū)分?彼此的關(guān)系是什么?這在ARM推出了Cortex-M4后,這類的議題才開始漸漸被市場所重視。
DSP、FPU不再高不可攀
瑞薩電子營業(yè)行銷事業(yè)部第一營業(yè)行銷部副理黎柏均表示,其實FPU的導(dǎo)入,還是要考量成本的問題,若不需要,其實采用定點運算的MCU來因應(yīng)系統(tǒng)需求即可。一般來說,SOC(系統(tǒng)單晶片)才會有所謂的DSP與FPU這類硬體加速器,其主要的功能大多負責(zé)影像或是音訊處理的工作,但隨著制程的進步,MCU在32位元架構(gòu)也日趨成熟,所以MCU就開始能沿用SOC的部份功能,并進一步拓展MCU的應(yīng)用范圍。黎柏均更直言,在早期,SOC與MCU之間有不小的價格差距。
圖1 : SOC本身就具備一定的DSP與FPU的功能,價格上也比MCU來得昂貴。
不過,黎柏均認(rèn)為,在現(xiàn)有市場所存在的MCU產(chǎn)品,即便主要供應(yīng)商都能提供FPU的功能,但事實上,各家大廠的產(chǎn)品之間并沒有什么距離,關(guān)鍵最多就是在程式的執(zhí)行效率上,能否形成差異。在過去,若要由定點運算架構(gòu)的MCU來處理FPU的工作,會多出不少時間出來,而且也需要大量的記憶體資源,但有了FPU的導(dǎo)入后,其目標(biāo)程式碼就能夠縮小,記憶體容量也能減少10%。換言之,若沒有時間上的考量,MCU是否要導(dǎo)入FPU,嚴(yán)格來看,并沒有太大的差別存在。TI(德州儀器)亞洲區(qū)市場開發(fā)經(jīng)理陳俊宏也同意,利用定點運算的MCU來處理FPU要處理的工作,也并非不行,但就是需要耗費大量的記憶體資源與長時間的等待,來取得所要的運算結(jié)果,F(xiàn)PU的存在,就是要避免這樣的情況出現(xiàn)。
不論是從ARM或是TI,這些大廠對于DSP與FPU的看法,
仍然有一些差異存在,但也因此,讓MCU市場形成了多元并陳的景象。
在過去,傳統(tǒng)的8位元架構(gòu),在資料處理上仍然有其極限存在,陳俊宏指出,傳統(tǒng)的定點運算MCU在進行所謂的分?jǐn)?shù)或是小數(shù)點計算,因為MCU本身的位元數(shù)有限,在面臨無法除盡而形成無窮數(shù)值(如1/3或是3/7等)的計算上,就必須有所取舍,在位元數(shù)有限而采取的有限數(shù)值,勢必與現(xiàn)實計算上而形成的數(shù)值產(chǎn)生一定的誤差,這種情形我們稱為:截斷誤差。在這種情況下,若要利用傳統(tǒng)MCU的處理器核心來處理分?jǐn)?shù)運算,只會造成截斷誤差的不斷擴大。為了有效處理截斷誤差不斷擴大的問題,便有了FPU的出現(xiàn)。
回顧MCU的發(fā)展歷程,從傳統(tǒng)的8位元架構(gòu)一路發(fā)展至今,已經(jīng)進入到可以采用FPU與DSP等功能。之所以會有如此的進化,主因來自于從類比端擷取資料后,轉(zhuǎn)換成數(shù)位化,將“連續(xù)型”資料轉(zhuǎn)為“離散型”資料”以利于處理器進行運算。
圖2 : MCU的世界中,截斷誤差一直存在著,若要考量到高精度,如何減少截斷誤差的現(xiàn)象,就成了大家努力的方向之一。
陳俊宏談到,F(xiàn)PU并不能完全解決截斷誤差不斷擴大的現(xiàn)象,精確地說,只能將該現(xiàn)象盡可能地減少。陳俊宏進一步指出,從TI的角度來看,DSP要處理運算種類相當(dāng)多種,所以需要更多的工具來處理不同需求。
延續(xù)陳俊宏的論述,Imagination MIPS業(yè)務(wù)開發(fā)資深經(jīng)理Ian Anderton也指出,DSP可利用乘法/累加(MAC)指令、飽和、舍入和位元操作來執(zhí)行多種數(shù)學(xué)運算 ─ 這些都是快速傅立葉轉(zhuǎn)換(FFT)和有限脈沖響應(yīng)(FIR)等高效過濾器開發(fā)所需的基本功能。DSP同時也能支援并執(zhí)行多種應(yīng)用中所使用的8、16和32位元整數(shù)與分?jǐn)?shù)資料長度。透過單周期MAC指令、SIMD(單一指令多重資料)和特殊的位元操作,DSP效能還可獲得進一步的增強。
FPU與DSP的相輔相成
ST(意法半導(dǎo)體)資深產(chǎn)品行銷經(jīng)理楊正廉則是談到,針對訊號處理、數(shù)值運算與對應(yīng)到各種應(yīng)用的演算法,DSP與FPU某程度上,是相輔相成的角色,很難被加以拆分。當(dāng)然,他也表示,ARM所推出的Cortex-M4核心,也有僅搭載DSP而沒有FPU的版本,但若要讓客戶能發(fā)揮更多的創(chuàng)意,那么就架構(gòu)上就一次到位,也能省去不少不必要的麻煩。
圖3 : 某程度上,一次提供到位的硬體資源,工程師可以發(fā)揮更多的創(chuàng)意與想法。
呼應(yīng)楊正廉的說法,ARM臺灣應(yīng)用工程經(jīng)理徐達勇指出,從應(yīng)用面來說,楊正廉的看法并沒有問題。當(dāng)然,F(xiàn)PU與DSP各自也有其定位。徐達勇舉例:0.8+0.5=1.3,這種運算工作就是由FPU來負責(zé),但是如果要同時計算:“0.8+0.5=?與1.3+0.9=?”的話,就必須借重DSP的運算功能,所以FPU與DSP的密不可分,的確有其道理。楊正廉表示,廣義來看,讓MCU具備DSP與FPU功能,主要的目的在于能讓MCU的客戶群能夠享受到DSP與FPU帶來的功能與便利性,而過往采用DSP架構(gòu)的客戶群,也能有機會轉(zhuǎn)移到MCU平臺。
Ian Anderton也從應(yīng)用面出發(fā),并以感測器融合(Sensor Fusion)為例,感測器融合是指把多個感測器結(jié)合在單一系統(tǒng)中共同運作。它需要高階的訊號處理功能,才能把訊號從嘈雜的環(huán)境中區(qū)隔出來。感測器融合可提供即時校正與調(diào)整控制,這是一種有限時間(time-limited)的應(yīng)用,僅能透過利用DSP和FPU的協(xié)同處理功能來實現(xiàn)高效、高精密度的計算。此外,包括加速器、陀螺儀、壓力/溫度/觸控等各種感測器,以及其他擁有個別控制/管理演算法的感測器也增加了更多的挑戰(zhàn),必須采用DSP/FPU才能設(shè)計出高效的系統(tǒng)。
圖4 : DSP加上FPU,對于近年來相當(dāng)火熱的感測器融合技術(shù)有相當(dāng)大的發(fā)揮空間。
黎柏均指出,導(dǎo)入FPU的另一個好處在于,可以利用FPU的運算能力,以數(shù)位方式進行濾波,以進一步提升SNR值,所以像是工業(yè)電表、量測與生理訊號等,都是十分適合的終端應(yīng)用。黎柏均強調(diào),過去的確在訊號鏈上,的確有用放大器與濾波器等類比元件來處理雜訊的問題,但這種作法,多少還是會有失真的問題存在,因此采用數(shù)位濾波的方式,亦不失為一種作法,此外還有可能可以省去一些不必要的系統(tǒng)成本。
然而,黎柏均也透露,讓MCU搭載FPU之后,系統(tǒng)業(yè)者為了能提升整體系統(tǒng)的效能或是解析度,在ADC的采用上,可能就會更加大膽,一口氣進入16位元甚至是24位元的規(guī)格,原因在于這類ADC所面臨的雜訊現(xiàn)象會更加嚴(yán)重,透過FPU來處理,不失為一種作法。
評論