1. 程式人生 > >ARM、MCU、DSP、FPGA、SOC的比較

ARM、MCU、DSP、FPGA、SOC的比較

ARMMCUDSPFPGASOC的比較

1、採用架構

·        ARM:架構採用32位精簡指令集(RISC)處理器架構,從ARM9開始ARM都採用了哈佛體系結構,這是一種將指令與資料分開存放在各自獨立的儲存器結構,獨立的程式儲存器與資料儲存器使處理器的處理能力得到較大的提高。ARM多采用流水線技術,此技術通過多個功率部件並行工作來縮短程式執行時間,使指令能在多條流水線上流動,從而提高處理器的效率和吞吐率。現今ARM7採用了典型的三級流水線,ARM9採用五級流水線技術,而ARM11使用了7級流水線,ARM Cortex-A9更是使用了可變流水線結構(支援8-11級流水線)。在多核心的支援上ARM Cortex-A9最多可支援4個核心,這是ARM系列處理器中首次支援多核心技術。下圖表示了ARM Cortex-A9的內部結構。

·        MCU:大都在結構上是基於馮·諾伊曼結構的,這種結構清楚地定義了嵌入式系統所必需的四個基本部分:一箇中央處理器核心,程式儲存器(只讀儲存器或者快閃記憶體)、資料儲存器(隨機儲存器)、一個或者更多的定時/計數器,還有用來與外圍裝置以及擴充套件資源進行通訊的輸入/輸出埠——所有這些都被整合在單個積體電路晶片上。指令集上早期的MCU是採用CISC的,後面被RISC取代。在匯流排位數上,MCU覆蓋了4位、8位、16位、32位,應用十分廣泛。

·        DSP

:又名數字訊號處理器,它是一種專用於實時的數字訊號處理的微處理器。結構上它採用哈佛結構,同樣採用流水線技術。此外,DSP被用於宿主環境時可作為直接記憶體存取裝置運作,還支援從模擬數字轉換器(ADC)獲得資料,最終輸出的是由數字模擬轉換器(DAC)轉換為模擬訊號的資料,支援一定的並行處理。

·        FPGA: FPGA是英文Field Programmable Gate Array(現場可程式設計門陣列)的縮寫,它是在PAL、GAL、PLD等可程式設計器件的基礎上進一步發展的產物,是專用積體電路(ASIC)中整合度最高的一種。FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模組CLB(Configurable Logic Block)、輸出輸入模組IOB(Input Output Block)和內部連線(Interconnect)三個部分。使用者可對FPGA內部的邏輯模組和I/O模組重新配置,以實現使用者的邏輯。它還具有靜態可重複程式設計和動態在系統重構的特性,使得硬體的功能可以像軟體一樣通過程式設計來修改。FPGA有別於DSP、ARM、MCU的地方主要在於它的並行處理能力,它的強大並行性使複雜的運算得到極大的速度比提升。

·        SOC: 系統晶片是一個將計算機或其他電子系統整合單一晶片的積體電路。系統晶片可以處理數字訊號、模擬訊號、混合訊號甚至更高頻率的訊號。系統晶片常常應用在嵌入式系統中。系統晶片的整合規模很大,一般達到幾百萬門到幾千萬門。SOC相對比較靈活,它可以將ARM架構的處理器與一些專用的外圍晶片整合到一起,組成一個系統。其實現有的ARM處理器如Hisi-3507、hisi3516等處理器都是一個SOC系統,尤其是應用處理器它集成了許多外圍的器件,為執行更復雜的任務、更復雜的應用提供了強大的支援。

·        2、功耗

·        ARM: 可以說ARM之所以在移動市場上得到極大的成功,其中最主要的原因便是它的低功耗。眾所周知的是在移動市場上的電子產品對處理器的功耗是十分敏感的,在過去PC平臺上處理器的功耗在幾十W到上百W不等,這樣的功耗放在移動平臺上是不可想像的,ARM在主頻1G的情況下功耗才幾百mW,強勁的低功耗使它能適應移動電子產品。

·        DSP:在與非網的一組資料上顯示,在數字訊號處理方面的市場佔有率DSP與FPGA各得半壁江山。DSP相對於FPGA的一個優勢是它的功耗相對較低,DSP生產廠商通過提高處理器的主頻、努力降低功耗來保證它的市場佔有率,因為在高效能的數字處理市場上FPGA似乎更佔有優勢。如果單純從DSP領域上來看,DSP在功耗上、效能上做得最好的要數TI公司,TI公司的DSP處理器相對其它的DSP廠商生產的處理器成本更低、功耗更低,所以TI的DSP晶片更在競爭力。

·        MCU:MCU面世時間最長,各種廠商都有它們自己的架構與指令集,如果從低功耗方面來看,TI的MSP430型MCU做得相對較好。

·        FPGA:FPGA由於它的內部結構原因造成它的功耗相對較高、晶片發熱量大,這也是它的一個缺點。但這也是不可避免的,在支援高效能的併發計算數位電路,且內部的邏輯閘大都採用標準的寬長比,最終生成的數位電路必然會在功耗上無法與ASIC等專用處理器比較。

·        SOC:由於SOC自身的靈活性,它將多個器件整合到一個極小的晶片上從而組成一個系統,SOC系統相對於MCU等處理器組成的系統來說,它在功耗上具有優勢。並且,SOC晶片可在版圖層面上結合工藝、電路設計等因素對系統的功耗進行系統的優化,這樣比由現今外圍的PCB版搭建出來的系統功耗更低,佔用面積更小。

3、速度

·        ARM隨著市場應用的需求提高,ARM廠商紛紛通過優化來提高它的主頻,提升它的效能。從開始的100Mhz到驚人的2.3Ghz,ARM主頻以驚人的速度向前發展。

·        DSP現今最快的主頻能達到1.2Ghz。當然不能單純從主頻判斷它的效能會比ARM差,DSP具有單時鐘週期內完成一次乘法和一次加法的能力,一般的ARM不具備這樣的能力,DSP在計算領域優勢尤其明顯,所以TI結合了ARM和DSP兩者的優勢,生產出達芬奇異構晶片,當然這是屬於SOC的範疇了。

·        MCU作為低端的應用處理器,它的主頻從數M到幾十Mhz不等。

·        FPGA主頻時鐘最高可達幾Ghz甚至上10Ghz,當然它的成本也不菲。如果將FPGA與ARM、DSP等作為比較,從主頻上進行比較是沒有多大意義的,畢竟平行計算的能力要遠遠超出一般通用的處理器採用的序列計算幾十倍。如同樣的一個濾波演算法在主頻為100Mhz的FPGA上實現要比在主頻為1Ghz的ARM上實現仍要快。

4、應用與市場

·        ARM處理器現在主要是三個系列分別為A系列、R系列、M系列,其中A系列主攻消費電子應用,應用十分廣泛。

計算:上網本、智慧本、輸入板、電子書閱讀器、瘦客戶端

手機:智慧手機、特色手機

數字家電:機頂盒、數字電視、藍光播放器、遊戲控制檯

汽車:資訊娛樂、導航

企業:鐳射印表機、路由器、無線基站、VOIP 電話和裝置

無線基礎結構:Web 2.0、無線基站、交換機、伺服器

R系列處理器主要針對一些對實時性要求較高的應用,如航空航天、汽車電子等場合,它具備高可靠性、高可用性、高容錯能力、實時響應等優點。

M系列處理器主要針對較低端的應用,它的最初目標是替換現有的市面上的MCU。

ARM Cortex-M0

ARM Cortex-M0+

ARM Cortex-M3

ARM Cortex-M4

“8/16 位”應用

“8/16 位”應用

“16/32 位”應用

“32 位/DSC”應用

低成本和簡單性

低成本,最佳能效

高效能,通用

有效的數字訊號控制

·        DSP主要針對一些計算能力要求較高的應用,如視訊影象處理、智慧機器人、數字無線、寬頻訪問、數字音訊、高解析度成像和數字電機控制等。

·        MCU應用最為廣泛,主要利益於它的成本控制上,使它能在許多對計算能力要求不那麼高的應用立足。相信在未來幾年裡,MCU市場關鍵增長驅動力將來自於綠色能源,智慧電子裝置,智慧電網以及電子產品的升級換代比如汽車電子。

·        SOC應用也十分廣泛,主要是因為現有主流ARM晶片採用的架構便是SOC架構的一種,SOC是一個比較廣泛的概念,現階段許多ARM、DSP都開始採用SOC的方式來將多個器件加到處理器上組成複雜的系統。

5、開發成本

·        ARM主要是搭載LINUX、ANDROID、WINCE等作業系統,在開發難度上看,相對MCU、DSP較難入門,它需要開發人員對作業系統有較深的瞭解;從成本來看,ARM的單晶片成本較MCU要高,主要還是應用於一些較為複雜的系統上。

·        MCU入門最容易,上手也快,開發難度較小,並且它的成本低,在低端市場應用最為廣泛。

·        DSP入門較容易,但單晶片成本較高,主要還是應用於對計算能力要求高的應用。當然DSP也可以搭載作業系統,搭載作業系統後可適用於多工的應用上。

·        FPGA的開發難度較大並且開發週期也相對較長,此外它的單晶片成本很高。

例子:SOBEL運算元(水平邊沿)

正常來說要進行一次這樣的運算元需要9次乘法8次加法,這樣的計算在FPGA、DSP上顯得十分輕鬆,但對於ARM、MCU來說,它們的並行能力不強,當要處理的影象較大時,如1280P時,它們便會顯得比較吃力了。

然而,這樣的運算元是十分容易對其進行優化的。如1與-1這兩個位置的畫素點可以直接進行一次加法完成,同理最後一行也是如此,中間一行的2與-2對應的畫素點也可進行一次加法後再進行一次移位操作便完成這樣的一次運算元運算。計算從原來的9次乘法8次加法轉換成三次加法與一次移位(移位操作在大多處理器上都可以在單個週期時鐘內完成)。