TI:FPU并非全能 DSP運(yùn)算仍有其他因素待考量
回顧MCU(微控制器)的發(fā)展歷程,從傳統(tǒng)的8位元架構(gòu)一路發(fā)展至今,已經(jīng)進(jìn)入到可以采用FPU(浮點(diǎn)運(yùn)算單元)與DSP(數(shù)位訊號處理器)等功能。之所以會有如此的進(jìn)化,主因來自于從類比端擷取資料后,轉(zhuǎn)換成數(shù)位化,將“連續(xù)型”資料轉(zhuǎn)為“離散型”資料”以利于處理器進(jìn)行運(yùn)算。
然而,傳統(tǒng)的8位元架構(gòu),在資料處理上,仍然有其極限存在,TI(德州儀器)亞洲區(qū)市場開發(fā)經(jīng)理陳俊宏表示,傳統(tǒng)的定點(diǎn)運(yùn)算MCU在進(jìn)行所謂的分?jǐn)?shù)或是小數(shù)點(diǎn)計算,因為MCU本身的位元數(shù)有限,在面臨無法除盡而形成無窮數(shù)值(如1/3或是3/7等)的計算上,就必須有所取舍,在位元數(shù)有限而采取的有限數(shù)值,勢必與現(xiàn)實計算上而形成的數(shù)值產(chǎn)生一定的誤差,這種情形我們稱為:截斷誤差。在這種情況下,若要利用傳統(tǒng)MCU的處理器核心來處理分?jǐn)?shù)運(yùn)算,只會造成截斷誤差的不斷擴(kuò)大。為了有效處理截斷誤差不斷擴(kuò)大的問題,便有了FPU的出現(xiàn)。
陳俊宏談到,F(xiàn)PU并不能完全解決截斷誤差不斷擴(kuò)大的現(xiàn)象,精確地說,只能將該現(xiàn)象盡可能地減少。陳俊宏進(jìn)一步指出,從TI的角度來看,DSP要處理運(yùn)算種類相當(dāng)多種,所以需要更多的工具來處理不同需求,延續(xù)TI的C2000架構(gòu),TI進(jìn)一步推出了如TMU與VMU硬體加速單元,前者專職于三角函數(shù)運(yùn)算(偏重馬達(dá)應(yīng)用),后者則負(fù)責(zé)復(fù)數(shù)運(yùn)算(對應(yīng)通訊與軟體定義無線電),既有的FPU就負(fù)責(zé)分?jǐn)?shù)與小數(shù)點(diǎn)的運(yùn)算工作,透過分工合作的方式,來因應(yīng)客戶不同的運(yùn)算工作需求。他更舉例,就算是馬達(dá)所需要的運(yùn)算工作,因應(yīng)不同的馬達(dá)類型,TI也能給予不同的DSP架構(gòu)來對應(yīng)。
當(dāng)然,陳俊宏也同意,利用定點(diǎn)運(yùn)算的MCU來處理FPU要處理的工作,也并非不行,但就是需要耗費(fèi)大量的記憶體資源與長時間的等待,來取得所要的運(yùn)算結(jié)果,F(xiàn)PU的存在,就是要避免這樣的情況出現(xiàn)。