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