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