ARM
ARM處理器是Acorn計算機有限公司面向低預算市場設計的第一款RISC微處理器。更早稱作Acorn RISC Machine。ARM處理器本身是32位設計,但也配備16位指令集,一般來講比等價32位代碼節省達35%,卻能保留32位系統的所有優勢。
ARM歷史發展:
1978年12月5日,物理學家赫爾曼·豪澤(Hermann Hauser)和工程師Chris Curry,在英國劍橋創辦了CPU公司(Cambridge Processing Unit),主要業務是為當地市場供應電子設備。1979年,CPU公司改名為Acorn計算機公司。
起初,Acorn公司打算使用摩托羅拉公司的16位芯片,但是發現這種芯片太慢也太貴。"一臺售價500英鎊的機器,不可能使用價格100英鎊的CPU!"他們轉而向Intel公司索要80286芯片的設計資料,但是遭到拒絕,于是被迫自行研發。
1985年,Roger Wilson和Steve Furber設計了他們自己的第一代32位、6M Hz的處理器,Roger Wilson和Steve Furber用它做出了一臺RISC指令集的計算機,簡稱ARM(Acorn RISC Machine)。這就是ARM這個名字的由來。
RISC的全稱是"精簡指令集計算機"(reduced instruction set computer),它支持的指令比較簡單,所以功耗小、價格便宜,特別合適移動設備。早期使用ARM芯片的典型設備,就是蘋果公司的牛頓PDA。
20世紀80年代后期,ARM很快開發成Acorn的臺式機產品,形成英國的計算機教育基礎。
1990年11月27日,Acorn公司正式改組為ARM計算機公司。蘋果公司出資150萬英鎊,芯片廠商VLSI出資25萬英鎊,Acorn本身則以150萬英鎊的知識產權和12名工程師入股。公司的辦公地點非常簡陋,就是一個谷倉。20世紀90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)處理器擴展到世界范圍,占據了低功耗、低成本和高性能的嵌入式系統應用領域的領先地位。ARM公司既不生產芯片也不銷售芯片,它只出售芯片技術授權。
MCU
MCU本質為一片單片機,指將計算機的CPU、RAM、ROM、定時計數器和多種I/O接口集成在一片芯片上,形成的芯片級的計算機。
MCU做得好的廠商:瑞薩(Renesas)、恩智浦(NXP)、新唐、微芯(Microchip)、意法半導體(ST)、愛特梅爾(Atmel)、英飛凌(Infineon)、德州儀器(TI)、東芝(Toshiba)、三星(Samsung)、賽普拉斯(Cypress)、亞德諾半導體(ADI)、高通(Qualcomm)、富士通(Fujitsu)、超威半導體(AMD)、盛群/合泰半導體(Holtek)、中穎電子、炬力、華潤微、沛城、義隆、宏晶、松翰、凌陽、華邦電子、愛思科微、十速科技、佑華微、應廣、歐比特、貝嶺、東軟載波微、君正、中微、兆易、晟矽微、芯海、聯華、希格瑪、匯春、建榮科技、華芯微、神州龍芯、紫光微、時代民芯、國芯科技、中天微等等。
DSP
DSP(Digital SignalProcessing),數字信號處理,簡稱DSP。DSP是用數值計算的方式對信號進行加工的理論和技術。另外DSP也是Digital Signal Processor的簡稱,即數字信號處理器,它是集成專用計算機的一種芯片,只有一枚硬幣那么大。
FPGA
FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
FPGA做得好的廠商:Altera((阿爾特拉)被Intel收購)、Xilinx(賽靈思)、Actel、Lattice(萊迪思)、Atmel、京微雅格、QuickLogic、Microsemi、Cypress、TI、上海復旦微、廣東高云、同方國芯、西安智多晶、中國電子、成都華微、深圳國微、遨格芯等等。
SOC
SoC的定義多種多樣,由于其內涵豐富、應用范圍廣,很難給出準確定義。一般說來, SoC稱為系統級芯片,也有稱片上系統,意指它是一個產品,是一個有專用目標的集成電路,其中包含完整系統并有嵌入軟件的全部內容。同時它又是一種技術,用以實現從確定系統功能開始,到軟/硬件劃分,并完成設計的整個過程。
ARM、MCU、DSP、FPGA、SOC的比較
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次加法轉換成三次加法與一次移位(移位操作在大多處理器上都可以在單個周期時鐘內完成)。