32位嵌入式微處理器(processor)一覽
由于嵌入式系統的專用型與定制性,與全球PC市場不同,沒有一種微處理器或者微處理器公司可以主導嵌入式系統。本文分析了當前市場上主流的一些32位嵌入式微處理器的特點和應用場合,并對其未來發展做一些展望。這里只是按照體系結構分類,不涉及具體的處理器芯片。
一. ARM
ARM處理器是由英國的ARM公司設計的32位RISC處理器。
毫無疑問,ARM芯片是嵌入式微處理器中的佼佼者,是很多數字電子產品的核心。如今95%的手機里面的核心處理器使用的都是ARM芯片,而ARM在整個手持市場上占有90%以上的份額,這是一個驚人的比例。
ARM公司的商業模式:
ARM公司的成功除了其卓越的芯片設計技術以外,還源于其創新的商業模式:提供技術許可的知識產權,而不是制造和銷售實際的半導體芯片。ARM將其芯片設計技術(內核、體系擴展、微處理器和系統芯片方案)授權給Intel,Samsung,TI,高通(Qualcomm),意法半導體等半導體制造商,這些廠商拿到ARM內核以后,再設計外圍的各種控制器,和ARM核整合成一塊SOC芯片,也就是我們看到的市面上的各種芯片,作為用戶,我們也許不知道我們使用的是ARM芯片,但是我們可能天天都在感受著ARM芯片帶給我們的智能體驗。
圖1-1 ARM的業務模型
ARM公司正是因為沒有自己生產芯片,從而省去了IC制造的巨額成本,因此可以專注于處理器內核設計本身,ARM處理器內核不但性能卓越而且升級速度很快,以適應市場的變化。
由于所有的ARM芯片都采用一個通用的處理器架構,所以相同的軟件可以在所有產品中運行,這正是ARM最大的優勢,采用ARM芯片無疑可以有效縮短應用程序開發與測試的時間,也降低了研發費用。
ARM生態產業鏈:
ARM公司通過出售芯片技術授權,建立起新型的微處理器設計、生產和銷售商業模式。圍繞著芯片設計產業,ARM公司整合了上下游的資源,逐漸形成了一條完整的生態產業鏈。ARM的合作伙伴包括半導體制造商,開發工具商,應用軟件設計商以及培訓商等。ARM公司統一了芯片設計的標準,芯片制造商生產的芯片符合統一的接口,為以后的開發提供了很大的方便;工具商專門開發基于ARM芯片的仿真器和開發工具;應用軟件設計商開發基于ARM芯片的應用程序,培訓商則提供與ARM相關的培訓服務。
這樣的一套完整的產業鏈使得ARM芯片的開放性和通用性都很好,很多公司開發嵌入式產品都傾向于選擇ARM的芯片,因為軟硬件開發都有比較成熟的方案,相關的人才也比較多,可以縮短開發的周期,使得產品能夠盡快上市。而作為個人如果想學習嵌入式開發,ARM芯片也是首選的學習對象,相關的學習資料和開發工具都有很多。
目前全球已有超過700家的軟硬件系統公司加入了ARM Connected Community,其中中國本土公司的成長很快,目前已經有超過70家加入了ARM生態伙伴系統。
下圖為以ARM公司為核心的生態產業鏈,這個產業鏈還在不斷壯大:
圖1-2 以ARM為核心的生態系統
ARM處理器核的技術特點:
采用RISC架構的ARM微處理器一般有如下特點:
- 體積小、功耗低、低成本、高性能;
- 流水線結構;
- 支持Thumb(16位)/ARM(32位)雙指令集,能很好兼容8位/16位器件;
- 大量使用寄存器,指令執行速度更快;
- 大多數數據操作都在寄存器中完成;
- 尋址方式靈活,執行效率高;
- 指令長度固定,支持條件執行;
- 具有桶形移位器(barrel shifter),可以提高數學邏輯運算速度,不過也增加了硬件的復雜性,會占用更多的芯片面積;
- AMBA互聯總線協議,可以有效地將各個IP組件粘接起來;
- ARM的大部分設計都采用RISC思想,當然它也綜合一些CISC的設計理念以達到最佳地性能,所以ARM不是純粹的RISC架構;
ARM微處理器最新的一些技術特點(以最新的Cortex-A9處理器核為例):
- 高效超標量流水線;
- NEON多媒體處理引擎,加快媒體和信號處理能力;
- 浮點運算單元,顯著提高了單精度和雙精度標量浮點運算的速度;
- 優化的一級緩存;
- Thumb-2技術,性能上達到傳統ARM代碼的峰值水平;
- 二級緩存控制器,最高可配置2MB的緩存內存;
- 先進的取指及分支預測技術,避免因訪問指令的延時而影響跳轉指令的執行;
- 最多支持四條指令Cache Line預取掛起,進一步減少了內存延時的影響,從而促進指令的順利傳輸;
- 每個周期內可連續將兩到四條指令發送到指令解碼,確保充分利用超標量流水線性能;
圖1-3 Cortex-A9 架構及單核接口
總而言之:ARM處理器最大的優勢就在于體積小、功耗低、價格低廉,并且還能提供相當高的性能,確實是眾多嵌入式設備的首選。
ARM處理器的主要應用領域:
下面是ARM處理器的主要應用領域:
- 工業控制領域:基于ARM核的微控制器芯片不但占據了高端微控制器的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展,Cortex-M系列就是ARM公司推出的典型低功耗、高性價比32位工控微控制器,向傳統的8位/16位微控制器提出了挑戰;
- 無線通訊領域:目前大部分無線通訊設備采用了ARM技術,ARM以其高性價比和低成本,在該領域的地位日益鞏固;
- 網絡應用:隨著寬帶技術的推廣,采用ARM技術的ADSL芯片正逐步獲得競爭優勢,此外,ARM在語音及視頻處理上進行了優化,并獲得廣泛支持,這也對DSP的應用領域提出了挑戰;
- 消費類電子產品:ARM技術在目前流行的數字音頻播放器、數字機頂盒和游戲機中得到了廣泛采用;
- 成像和安全產品:現在流行的數碼相機和打印機中絕大部分采用ARM技術,手機中的32位SIM智能卡也采用了ARM技術;
ARM未來可能的發展趨勢:
下面對ARM未來可能的發展趨勢做一些分析:
ARM將在上網本市場和Intel一爭高下。盡管Intel用于上網本的ATOM處理器現在占據上網本近80%的市場份額,但是成本低廉綜合性能也不弱的ARM芯片大有和Intel一較高下的實力,未來二者可能平分上網本芯片的市場份額;
云計算時代亦是ARM的時代。云計算時代,用戶可以在任意位置,使用各種移動終端獲取應用服務,計算機的計算能力將不受本地硬件的限制,一臺更小尺寸、更輕的上網本或者智能手機一樣可以通過網絡來完成我們需要的服務,這時ARM芯片的優勢就體現出來了,采用ARM芯片的上網本更加省電輕巧;
ARM和Linux緊密結合,整合軟硬件解決方案,打造一整套開放平臺,目前已經有多款ARM+Android組合的智能手機以及ARM+Ubuntu9.04結合的上網本上市。開放式平臺是嵌入式應用的未來,ARM結合自身的生態系統優勢,很有可能成為這個平臺的主導者;
ARM架構進軍服務器市場。盡管現在ARM架構應用在服務器領域還存在一些不足,但是ARM低功耗、低成本等優點還是得到很多服務器廠商的青睞,并且2009年Dell已經推出了基于威盛Nano芯片的低功耗XS11-VX8服務器,其體積相當于一塊3.5英寸的硬盤,而且在一個標準2U機箱內放置12臺這樣的服務器,單服務器的滿載功耗在30瓦以內,并在近兩年內出貨5000多套類似的系統。而ARM的官方站點使用的就是基于Marvell MV78100 SOC的ARM服務器,相信ARM將來會逐步占據服務器市場的一定份額;
ARM將在低端微控制器市場逐步取代傳統的8位/16位單片機。ARM的Coretex-M系列是經過優化的專門針對低端控制應用的處理器核,和傳統的單片機相比,它的處理能力更將而且更具針對性,并且其價格還非常低廉。
ARM下一代處理器核向多內核架構發展,以提供更強大的運算能力。Cortex-A9處理器就有單核和多核兩個架構。
ARM內核與FPGA結合為SOPC(System On a Programmable Chip),打造更靈活的嵌入式系統硬件解決方案。FPGA靈活的硬件設計與處理器的強大軟件功能有機地結合在一起,在設計具有復雜算法和控制邏輯的系統時,SOPC的優勢非常明顯。
二. MIPS
MIPS處理器簡介:
MIPS CPU是一種RISC結構的CPU,MIPS起源于一個學術研究項目,該項目的設計小組連同幾個半導體廠商合伙人希望能制造出芯片并拿到市場上去賣。結果是該結構得到了工業領域內最大范圍的具有影響力的制造商們的支持。從生產專用集成電路核心(ASIC Cores)的廠家(LSI Logic,Toshiba, Philips, NEC)到生產低成本CPU的廠家(NEC, Toshiba,和IDT),從低端64位處理器生產廠家(IDT, NKK, NEC)到高端64位處理器生產廠家(NEC, Toshiba和IDT)。
1984年,MIPS計算機公司成立。1992年,SGI收購了MIPS計算機公司。 1998年,MIPS脫離SGI,成為MIPS技術公司。MIPS技術公司是一家設計制造高性能、高檔次及嵌入式32位和64位處理器的廠商,在RISC處理器方面占有重要地位。
MIPS公司設計RISC處理器始于二十世紀八十年代初,1986年推出R2000處理器,1988年推R3000處理器,1991年推出第一款64位商用微處器R4000。之后又陸續推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型號。隨后,MIPS公司的戰略發生變化,把重點放在嵌入式系統。1999年,MIPS公司發布MIPS32和MIPS64架構標準,為未來MIPS處理器的開發奠定了基礎。新的架構集成了所有原來NIPS指令集,并且增加了許多更強大的功能。MIPS公司陸續開發了高性能、低功耗的32位處理器內核(core)MIPS324Kc與高性能64位處理器內核MIPS64 5Kc。2000年,MIPS公司發布了針對MIPS32 4Kc的版本以及64位MIPS 64 20Kc處理器內核。
注意:
MIPS有兩種含義,上文中的MIPS是Microprocessor without Interlocked Pipe Stages的縮寫,即無互鎖流水線級的微處理機,它是一個科研項目的名稱;MIPS在計算機科學里還有Million Instructions Per Second,即每秒執行百萬(條)指令數,是衡量計算機速度的一個重要指標。
MIPS的商業模式:
MIPS的商業模式和ARM相似,也是研發處理器內核,將知識產權授權給其他公司。我們非常熟悉的國產處理器廠商龍芯就是獲得MIPS32和MIPS64架構的授權,借此開發龍芯CPU。
MIPS開展授權模式比ARM要晚,其生態系統的規模和完整性都不如ARM,而且很多MIPS的授權廠商如Broadcom/PMC等都不在處理器核上繼續投入了,而反觀ARM,除了ARM本身,Qualcomm/Marvel等作為ARM的架構授權者都在積極推動處理器內核的研發,這一點使MIPS在與ARM的競爭中無法占到優勢。
MIPS處理器的技術特點:
MIPS處理器主要有以下技術特點:
- MIPS的設計保持純粹的RISC風格,其設計始終保持簡潔性,它傾向于把復雜的工作交給編譯器去做。很多大學課程都喜歡選擇MIPS體系結構來講解計算機體系結構。MIPS的設計還是保持著學院派的作風,有一定理想化的色彩,因此到了實際商用領域,不如ARM這種以RISC為主但是也會引入一些CISC設計思想的處理器更具競爭力;
- 占用更小的芯片面積,功耗方面比ARM芯片稍大一些;
- 具有32位和64位兩種架構的指令集,而ARM只有32位架構的指令集;
- 核內包含大量寄存器、指令數和字符;
- 可視的流水線延遲間隙;
- 多發射核技術,這種技術將處理器中的閑置處理單元分割出來虛擬為另一個核心,以提高處理單元的利用率,避免了處理單元閑置浪費;
- MIPS是開放式的架構,用戶可以在開發的內核中加入自己的指令;
MIPS處理器的主要應用領域:
MIPS處理器主要有以下應用領域:
在數字電視、數字機頂盒、DVD/藍光播放器、數碼相機和寬帶客戶端等領域MIPS架構處理器應用比例大約為50%;
在家用網絡方面,大部分寬帶路由器與無線接入點都采用了MIPS架構處理器,MIPS在互聯網時代數字家庭的組成中已經占據一定的優勢;
MIPS在移動/便攜終端領域遠不如數字家庭那樣神勇,不過采用MIPS處理器的索尼PSP的成功說明MIPS在這個領域大有可為,逐漸興起的電子書也是MIPS在這個領域的一個突破口;
MIPS在服務器市場也有部分應用,許多在業務上有前瞻性的互聯網企業都考慮或已經將MIPS架構平臺大量引入數據中心,在靈活滿足需求的同時降低愈發夸張的能源及冷卻成本;
MIPS處理器面臨的困境:
MIPS其實是一款非常優秀的RISC處理器架構,但是由于一些歷史原因,錯過了一些比較好的發展機遇,導致現在的發展遇到一些困境,主要體現在以下幾個方面:
- MIPS構建的生態系統遠不如ARM完善,而且這種現狀在當前ARM迅猛發展的情況下很難有所改觀,在國內,我們很少看到關于MIPS的培訓課程,而ARM相關的培訓課程則很多,不過一些高校會采用MIPS處理器架構來授課,因為MIPS的設計是開源的;
- MIPS所擅長的多是一些對效能要求遠遠高于用戶體驗的領域,這也從側面反映出該架構下長期缺乏優秀的用戶交互系統的窘境;
- MIPS在中國市場授權模式開展地較晚,因此在中國市場的推廣遠不及ARM;
- MIPS內核平臺的開放性不太好,導致目前MIPS開發工具支持不夠廣泛,這是開發者不愿意看到的,而支持ARM內核的集成開發環境(IDE)、編譯器、RTOS、軟件仿真器、啟動/驅動代碼產品也是層出不窮,可以說一條完整的設計鏈已經形成,進入一種良性循環,所以開發者更傾向于使用ARM芯片;
MIPS未來可能的發展趨勢:
下面對MIPS未來可能的發展趨勢做一些分析:
- MIPS處理器核將向著硬件多線程方向發展,這與ARM不同,ARM的發展方向是多核處理器;
- MIPS要尋求壯大自己的生態系統,讓MIPS處理器支持更多操作系統,與其合作伙伴打造更加開放自由的平臺。2009年,MIPS加入了開放嵌入式軟件基金會(OESF),這將擴大MIPS的影響力,MIPS也成立了Android解決方案中心,目的就是讓更多的廠商采用MIPS+Android的軟硬架構來開發電子產品;
- MIPS將借助3.5G或者4G的發展進軍無線通訊領域,考慮到未來無線通信協議與Wi-Fi協議愈發相似,在這個時機切入似乎是個不錯的選擇;
- MIPS會大力布局云時代,MIPS在互聯網時代數字家庭的組成中已經占有一定的優勢,具備了接入云的基礎;
- 在服務器市場,MIPS的優勢漸漸體現出來,基于云的應用大大增加了對系統I/O與加解 密運算能力的要求,而這正是許多MIPS架構處理器的強項;
- 在工控領域,MIPS可能不會有什么作為,這一領域還是會被8位單片機和ARM低端芯片占據;
三. PowerPC
Powerpc簡介:
PowerPC是由蘋果(Apple)公司和IMB以及早期的Motorola(現在的飛思卡爾半導體)組成的聯盟(簡稱為AIM)共同設計的微處理器架構,以對抗在市場上占有壓倒優勢的x86處理器。
PowerPC是一種RISC多發射體系結構。PowerPC 體系結構規范(PowerPC Architecture Specification)發布于 1993 年,它是一個 64 位規范 ( 也包含 32 位子集 )。幾乎所有常規可用的 PowerPC(除了新型號 IBM RS/6000 和所有 IBM pSeries 高端服務器)都是 32 位的。
PowerPC有著廣泛應用,從高端服務器CPU到嵌入式CPU,PowerPc在全球通信市場上處于無可爭議的領袖地位。
PowerPc的商業模式:
在2006年之前,基于PowerPC架構的CPU一直都只能由IBM和Motorola公司生產,后來Motorola將其半導體部門賣給了飛思卡爾,則變成了由IBM和飛思卡爾生產PowerPC芯片。2006年之后,IBM和飛思卡爾才開放了PowerPC的授權,將PowerPC授權給其他廠商,其授權模式開展的比ARM以及MIPS都要晚的多,PowerPC開放授權之后勢必會有更多的廠商加入對其開發的行列,目前的嵌入式市場反映出來的趨勢確實是PowerPC芯片憑借其出色的性能和高度整合性正在慢慢侵占原先ARM和MIPS占據主導地位的市場,尤其PowerPC在高端嵌入式設備上的應用更有著絕對的優勢。
PowerPC在中國市場也有著不錯的表現,尤其是飛思卡爾還在西安設有芯片的研發中心,相信他們會大力推廣其PowerPC芯片的應用,估計一些高端嵌入式市場會向PowerPC傾斜。
Powerpc的技術特點:
PowerPC架構具有以下特點:
- 32 個 integer / float registers 組。32 個general-purpose registers(GPRS) 存放整型數據,用于 integer 運算指令。32 個float-pointer registers(FPRS) 存放浮點數據,用于 float 運算指令;
- 指令 load/store 在 GPRS 與 FPRS 之間存取數據;
- 統一定長的精簡指令格式易于實現超標量流行線;
- 最多支持 4 個operands,運算結果典型存放在 first operand;
- IEEE-754 標準浮點數,單精度(single-float)和雙精度(double-float)指令運算;
- PowerPC 架構允許實現某一功能為特定的硬件平臺;
- 用戶層指令的存取缺省在 caches 執行。特殊指令跨越 caches 存取;
- 支持 big-endian 和 little-endian 模式;
- 支持 64-bit 地址模式;
Powerpc的應用領域:
PowerPC主要的應用領域如下:
- 蘋果公司生產的筆記本、圖形工作站、臺式機等;
- IBM公司生產的服務器、工作站以及臺式機等;
- 用于軍工、工控、通信、消費電子以及航天等領域的嵌入式微處理器;
Powerpc的技術優勢:
PowerPC雖然在嵌入式微處理器市場上的占有率遠不如ARM,但是它比起ARM、MIPS確實有很多技術優勢,主要體現在以下幾點:
- PowerPC的設計側重于浮點性能和多處理能力,其多媒體處理能力非常強勁;
- 整合度非常高,目前飛思卡爾(Freescale)的Powerpc處理器集成了USB、PCI、DDR控制器、SATA控制器、千兆網口控制器、CAN控制器、RapidIO以及PCI_Express控制器等,客戶無須設計復雜的外圍電路,減少設計復雜程度以及物料使用;
- 在硬件上實現通信協議(Ethernet, ATM, IPsec, security, HW acceleration);
綜上所述,PowerPc的高性能確實是很多高端嵌入式應用領域的首選,當然PowerPC芯片的價格較高,功耗也比ARM要大,所以手機上從來不用PowerPC的芯片,軟件對PowerPC的支持也略顯不夠。
四. DSP
DSP簡介
DSP是微處理器的一種,這種微處理器具有極高的速度。因為這種處理器的應用場合要求極高的實時性。比如通過移動電話進行通話,如果處理速度不快就只能等待對方停止說話,這一方才能通話,如果雙方同時通話,因為數字信號處理速度不夠快,就只能關閉信號連接。
信號處理的各種運算最基本就是乘法和累加運算,其運算量非常大,這就決定了數字信號處理器的結構和指令系統的特點。
DSP處理器對系統結構和指令進行了特殊設計,使其適于執行DSP算法,編譯效率高,指令執行速度也較高。在數字濾波、卷積、FFT、譜分析等方面有著廣泛應用。
DSP處理器又分為通用DSP芯片和專用DSP芯片。
DSP的分類:
DSP按照其設計模式可以分為通用DSP芯片和專用DSP芯片:
通用DSP芯片:
通用DSP主要指目前基于CPU架構的、通過軟件指令方式完成DSP算法的DSP器件。早期的DSP處理器只有一個乘法器,而現在的DSP處理器(如Ti的TMS320C6000系列),包含有8個乘法器。通用DSP處理器的主要優勢是具有良好的通用性和一定的靈活性,有適用于實現各種DSP算法的通用硬件結構和一些特殊的尋址方式。片內Cache容量大,片內RAM大,基本上數據都放在片內RAM就可以了,不需要片外再接RAM,DSP芯片里面集成的外設少,不像ARM那么多,所以它不適于做控制。
專用DSP芯片:
專用DSP芯片直接通過硬件實現各種數字信號處理的算法,如FFT、數字濾波、卷積、光譜分析等相關算法,速度非常快,適用于哪些對速度有著苛刻要求的場合,尤其是軍工領域,當然這樣的芯片造價很高,而且不具有可編程性。
DSP按照所支持的數據格式可分為:
定點DSP處理器:
使用小數點位置固定的有符號數或者無符號數。定點器件在硬件結構上比浮點器件簡單,價格低,速度快;
浮點DSP處理器:
使用帶有指數的小數,小數點位置隨具體數據不同進行浮動,浮點器件精度高,但成本、功耗相對較高,速度相對定點要慢;
DSP的技術特點:
DSP由于其專門用于數字信號處理,因此具有如下技術特點:
- 芯片內包含多個乘法器;
- 支持專門的尋址模式,如模塊(循環)尋址(對實現數字濾波器延時線很有用)、位倒序尋址(對快速傅立葉變換很有用);
- 片內Cache大,有些還具有多級Cache,片內RAM大;
- 單周期可以處理多條乘加操作,即單指令多數據(SIMD);
DSP的應用領域:
- 通用信號處理(卷積、濾波、FFT);
- 圖形圖像處理;
- 語言語音處理;
- 儀表儀器(頻譜分析,數字濾波、地震處理等);
- 自動控制;
- 醫療儀器;
- 國防軍事(導航及制導,雷達監測,雷達信號處理,聲納信號處理,保密通信);
- 移動通信;
聲明:本站部分內容根據互聯網資料整理而成,若侵犯您的權益,請聯系我們,我們會盡快處理。