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