來(lái)源:CTIMES 自從MCU(微控制器)導入了DSP(數位訊號處理器)與FPU(Floating Point Unit;浮點(diǎn)運算單元)功能后,MCU可以拓展的應用范圍便大幅增加,這幾年來(lái),諸多MCU大廠(chǎng)都紛紛導入,使得MCU市場(chǎng)戰局變得更加詭譎多變。各家大廠(chǎng)就MCU的產(chǎn)品策略也不盡相同。 然而,盡管應用面大幅增加,但DSP與FPU在功能上要如何區分?彼此的關(guān)系是什么?這在ARM推出了Cortex-M4后,這類(lèi)的議題才開(kāi)始漸漸被市場(chǎng)所重視。 DSP、FPU不再高不可攀 瑞薩電子營(yíng)業(yè)行銷(xiāo)事業(yè)部第一營(yíng)業(yè)行銷(xiāo)部副理黎柏均表示,其實(shí)FPU的導入,還是要考量成本的問(wèn)題,若不需要,其實(shí)采用定點(diǎn)運算的MCU來(lái)因應系統需求即可。一般來(lái)說(shuō),SOC(系統單晶片)才會(huì )有所謂的DSP與FPU這類(lèi)硬體加速器,其主要的功能大多負責影像或是音訊處理的工作,但隨著(zhù)制程的進(jìn)步,MCU在32位元架構也日趨成熟,所以MCU就開(kāi)始能沿用SOC的部份功能,并進(jìn)一步拓展MCU的應用范圍。黎柏均更直言,在早期,SOC與MCU之間有不小的價(jià)格差距。 不過(guò),黎柏均認為,在現有市場(chǎng)所存在的MCU產(chǎn)品,即便主要供應商都能提供FPU的功能,但事實(shí)上,各家大廠(chǎng)的產(chǎn)品之間并沒(méi)有什么距離,關(guān)鍵最多就是在程式的執行效率上,能否形成差異。在過(guò)去,若要由定點(diǎn)運算架構的MCU來(lái)處理FPU的工作,會(huì )多出不少時(shí)間出來(lái),而且也需要大量的記憶體資源,但有了FPU的導入后,其目標程式碼就能夠縮小,記憶體容量也能減少10%。換言之,若沒(méi)有時(shí)間上的考量,MCU是否要導入FPU,嚴格來(lái)看,并沒(méi)有太大的差別存在。TI(德州儀器)亞洲區市場(chǎng)開(kāi)發(fā)經(jīng)理陳俊宏也同意,利用定點(diǎn)運算的MCU來(lái)處理FPU要處理的工作,也并非不行,但就是需要耗費大量的記憶體資源與長(cháng)時(shí)間的等待,來(lái)取得所要的運算結果,FPU的存在,就是要避免這樣的情況出現。 不論是從ARM或是TI,這些大廠(chǎng)對于DSP與FPU的看法,仍然有一些差異存在,但也因此,讓MCU市場(chǎng)形成了多元并陳的景象。 在過(guò)去,傳統的8位元架構,在資料處理上仍然有其極限存在,陳俊宏指出,傳統的定點(diǎn)運算MCU在進(jìn)行所謂的分數或是小數點(diǎn)計算,因為MCU本身的位元數有限,在面臨無(wú)法除盡而形成無(wú)窮數值(如1/3或是3/7等)的計算上,就必須有所取舍,在位元數有限而采取的有限數值,勢必與現實(shí)計算上而形成的數值產(chǎn)生一定的誤差,這種情形我們稱(chēng)為:截斷誤差。在這種情況下,若要利用傳統MCU的處理器核心來(lái)處理分數運算,只會(huì )造成截斷誤差的不斷擴大。為了有效處理截斷誤差不斷擴大的問(wèn)題,便有了FPU的出現。 回顧MCU的發(fā)展歷程,從傳統的8位元架構一路發(fā)展至今,已經(jīng)進(jìn)入到可以采用FPU與DSP等功能。之所以會(huì )有如此的進(jìn)化,主因來(lái)自于從類(lèi)比端擷取資料后,轉換成數位化,將“連續型”資料轉為“離散型”資料”以利于處理器進(jìn)行運算。 陳俊宏談到,FPU并不能完全解決截斷誤差不斷擴大的現象,精確地說(shuō),只能將該現象盡可能地減少。陳俊宏進(jìn)一步指出,從TI的角度來(lái)看,DSP要處理運算種類(lèi)相當多種,所以需要更多的工具來(lái)處理不同需求。 延續陳俊宏的論述,Imagination MIPS業(yè)務(wù)開(kāi)發(fā)資深經(jīng)理Ian Anderton也指出,DSP可利用乘法/累加(MAC)指令、飽和、舍入和位元操作來(lái)執行多種數學(xué)運算 ─ 這些都是快速傅立葉轉換(FFT)和有限脈沖響應(FIR)等高效過(guò)濾器開(kāi)發(fā)所需的基本功能。DSP同時(shí)也能支援并執行多種應用中所使用的8、16和32位元整數與分數資料長(cháng)度。透過(guò)單周期MAC指令、SIMD(單一指令多重資料)和特殊的位元操作,DSP效能還可獲得進(jìn)一步的增強。 FPU與DSP的相輔相成 ST(意法半導體)資深產(chǎn)品行銷(xiāo)經(jīng)理楊正廉則是談到,針對訊號處理、數值運算與對應到各種應用的演算法,DSP與FPU某程度上,是相輔相成的角色,很難被加以拆分。當然,他也表示,ARM所推出的Cortex-M4核心,也有僅搭載DSP而沒(méi)有FPU的版本,但若要讓客戶(hù)能發(fā)揮更多的創(chuàng )意,那么就架構上就一次到位,也能省去不少不必要的麻煩。 呼應楊正廉的說(shuō)法,ARM臺灣應用工程經(jīng)理徐達勇指出,從應用面來(lái)說(shuō),楊正廉的看法并沒(méi)有問(wèn)題。當然,FPU與DSP各自也有其定位。徐達勇舉例:0.8+0.5=1.3,這種運算工作就是由FPU來(lái)負責,但是如果要同時(shí)計算:“0.8+0.5=?與1.3+0.9=?”的話(huà),就必須借重DSP的運算功能,所以FPU與DSP的密不可分,的確有其道理。楊正廉表示,廣義來(lái)看,讓MCU具備DSP與FPU功能,主要的目的在于能讓MCU的客戶(hù)群能夠享受到DSP與FPU帶來(lái)的功能與便利性,而過(guò)往采用DSP架構的客戶(hù)群,也能有機會(huì )轉移到MCU平臺。 Ian Anderton也從應用面出發(fā),并以感測器融合(Sensor Fusion)為例,感測器融合是指把多個(gè)感測器結合在單一系統中共同運作。它需要高階的訊號處理功能,才能把訊號從嘈雜的環(huán)境中區隔出來(lái)。感測器融合可提供即時(shí)校正與調整控制,這是一種有限時(shí)間(time-limited)的應用,僅能透過(guò)利用DSP和FPU的協(xié)同處理功能來(lái)實(shí)現高效、高精密度的計算。此外,包括加速器、陀螺儀、壓力/溫度/觸控等各種感測器,以及其他擁有個(gè)別控制/管理演算法的感測器也增加了更多的挑戰,必須采用DSP/FPU才能設計出高效的系統。 黎柏均指出,導入FPU的另一個(gè)好處在于,可以利用FPU的運算能力,以數位方式進(jìn)行濾波,以進(jìn)一步提升SNR值,所以像是工業(yè)電表、量測與生理訊號等,都是十分適合的終端應用。黎柏均強調,過(guò)去的確在訊號鏈上,的確有用放大器與濾波器等類(lèi)比元件來(lái)處理雜訊的問(wèn)題,但這種作法,多少還是會(huì )有失真的問(wèn)題存在,因此采用數位濾波的方式,亦不失為一種作法,此外還有可能可以省去一些不必要的系統成本。 然而,黎柏均也透露,讓MCU搭載FPU之后,系統業(yè)者為了能提升整體系統的效能或是解析度,在ADC的采用上,可能就會(huì )更加大膽,一口氣進(jìn)入16位元甚至是24位元的規格,原因在于這類(lèi)ADC所面臨的雜訊現象會(huì )更加嚴重,透過(guò)FPU來(lái)處理,不失為一種作法。 FPU仍有局限? TI提供其他硬體加速單元 不過(guò),如同陳俊宏所提到的,如果DSP要處理的工作十分多元,意味著(zhù)需要更多元的工具來(lái)加以因應,單靠FPU這樣的硬體加速單元仍有不足之處。 陳俊宏透露,延續TI的C2000架構,TI進(jìn)一步推出了如TMU與VMU硬體加速單元,前者專(zhuān)職于三角函數運算(偏重馬達應用),后者則負責復數運算(對應通訊與軟體定義無(wú)線(xiàn)電),既有的FPU就負責分數與小數點(diǎn)的運算工作,透過(guò)分工合作的方式,來(lái)因應客戶(hù)不同的運算工作需求。他更舉例,就算是馬達所需要的運算工作,因應不同的馬達類(lèi)型,TI也能給予不同的DSP架構來(lái)對應。 架構異曲同工 MCU仍有市場(chǎng)區隔 就Cortex-M4 MCU而言,ST所提供的產(chǎn)品線(xiàn)相當廣泛,核心時(shí)脈從最低的72MHz到最高的180MHz,中間亦有84MHz、100MHz、168MHz的版本,這些不同核心時(shí)脈的產(chǎn)品,自然也對應到不同應用。STMF3(核心時(shí)脈為72MHz)系列,就是要因應既有的Cortex-M3的升級而推出的版本,其他如STMF401(核心時(shí)脈為84MHz)與STMF411(核心時(shí)脈為100MHz),是為了因應穿戴式與高C/P應用為主。而ST的STMF479,其核心時(shí)脈高達180MHz,也搭載繪圖引擎,專(zhuān)攻人機介面應用。 不過(guò),撇除應用面不談,英飛凌在尚未導入Cortex-M4前,就已有FPU(浮點(diǎn)運算單元)與DSP(數位訊號處理器)的MCU產(chǎn)品線(xiàn):TriCore系列。該系列產(chǎn)品線(xiàn),早在1999年就已經(jīng)面世。 英飛凌電源管理與多元電子事業(yè)處亞太區市場(chǎng)部資深經(jīng)理黃志鴻表示,當初英飛凌設計TriCode,本身就具備了DSP與FPU的功能,就應用面而言,就聚焦在汽車(chē)領(lǐng)域。而談到先前就引進(jìn)Cortex-M4的原由,黃志鴻也直言,所鎖定的應用就是工業(yè)自動(dòng)化領(lǐng)域,再加上ARM架構在全球市場(chǎng)中,本來(lái)就有其普遍性,并進(jìn)一步取得過(guò)去由傳統的DSP業(yè)者所壟斷的市場(chǎng)。Cortex-M4在先天上,本身就具備即時(shí)性的特性,像是近期英飛凌所聚焦的工業(yè)乙太網(wǎng)路與工業(yè)標準SIL3、SIL4等,都十分適合。 所以英飛凌的產(chǎn)品區隔相當明顯,擁有FPU與DSP的MCU產(chǎn)品線(xiàn),延續TriCode架構,進(jìn)而一脈相承的AURIX,聚焦車(chē)用應用,取得ARM授權的Cortex-M4,就扛下工業(yè)自動(dòng)化市場(chǎng)的責任。當然,英飛凌對于Cortex-M4也還有其他的期待,像是數位電源與馬達控制領(lǐng)域,英飛凌也開(kāi)始嘗試利用Cortex-M4 MCU打入其應用。他也不諱言,DSP也的確存在相當長(cháng)的一段時(shí)間,產(chǎn)業(yè)界有不少工程師對于DSP本來(lái)就有相當高的熟悉度,MCU約莫是在三年前左右,才開(kāi)始導入DSP功能。 而黃志鴻也強調,Cortex-M4還是有其局限性在,像是視訊系統的設計,還是要透過(guò)DSP來(lái)處理會(huì )較為適當。像是高速鐵路或是風(fēng)力發(fā)電系統等應用,普遍來(lái)看還是傳統的DSP業(yè)者主導。但如果是電動(dòng)機車(chē)、一般風(fēng)扇、家電與智慧家庭等,就有FPU功能的MCU的發(fā)揮空間。 談到數位電源,同樣也有類(lèi)似的情況,黃志鴻表示,從功率大小來(lái)區分,從500瓦以上的系統設計,如伺服器或是電信設備的AC/DC電源,市場(chǎng)上還是以傳統DSP架構為主,但也的確有不少擁有Cortex-M4 MCU的業(yè)者對于該市場(chǎng),有相當高的興趣。 MCU多元架構并陳 定位仍有不同 徐達勇表示,將DSP與FPU加以整合,無(wú)需外掛的好處在于,系統工程師可以用同一套的偵錯與編譯器等工具,進(jìn)行系統開(kāi)發(fā),簡(jiǎn)單說(shuō),簡(jiǎn)化開(kāi)發(fā)環(huán)境對于系統開(kāi)發(fā)而言,可以提升不少效率。在過(guò)去,采用DSP設計,會(huì )有些設計方法必須動(dòng)用組合語(yǔ)言的作法才能完成,但是,MCU的開(kāi)發(fā),最終還是要回歸到C語(yǔ)言的撰寫(xiě)。若把DSP導入與MCU一同合作,ARM在作法上,就是統一采用C語(yǔ)言的方式,來(lái)統一DSP、FPU的撰寫(xiě)方式,解決了過(guò)去組合語(yǔ)言所造成的困擾。然而,陳俊宏也強調,事實(shí)上組合語(yǔ)言是更為細膩的程式語(yǔ)法,對于工作執行上能更有效率,TI近年來(lái)也不斷努力,讓C語(yǔ)言與組合語(yǔ)言?xún)烧咧g的差異縮小,以讓使用者能有更多的選擇。 徐達勇也同意,目前MCU市場(chǎng)除了ARM架構外,的確也存在其他不同的架構,讓DSP與FPU形成多元共存的局面。他也坦言,在架構上,各家其實(shí)并沒(méi)有太大的差異,唯一能形成區別的,大概就是在效能與開(kāi)發(fā)工具能分出高低而已。 而近年來(lái),如英飛凌與瑞薩科技等,先后導入Cortex-M4核心,也使得MCU戰場(chǎng)顯得更詭譎多變。徐達勇強調,近年來(lái)產(chǎn)業(yè)界不斷地在談物聯(lián)網(wǎng),這意味著(zhù)需要用更為開(kāi)放的架構來(lái)因應物聯(lián)網(wǎng)的設計需求,而這必須透過(guò)完整的生態(tài)系統才能作到,畢竟可能還會(huì )有第三方演算法設計或是設計工具業(yè)者,能夠提供比MCU業(yè)者更具競爭力的開(kāi)發(fā)工具也不一定,此時(shí)就會(huì )讓客戶(hù)有了更多不同的選擇。他不諱言,有些較為封閉特性的應用,或許采用其他架構的MCU來(lái)進(jìn)行設計,也許就能滿(mǎn)足客戶(hù)的需求。 |