x86與ARM,是目前兩大處理器主流架構,前者大家熟悉不過。在PC世代,x86因是最佳效能價格比(C/P Ratio,Cost/Performance,大陸稱為性價比)的處理器,因而相繼擊敗其他架構的處理器,包含HP的PA-RISC、SGI的MIPS、DEC的Alpha,Sun的SPARC、IBM的PowerPC等,甚至也把IBM POWER與Intel自家的IA-64逼到極小空間。

ARM新架構分成A、R、M三大類型
ARM新架構分成A、R、M三大類型

而ARM近年來也家喻戶曉,它是以省電為優先的架構設計,是最佳每瓦效能比(Per Watt Performance)處理器,近年來x86與ARM開始短兵相接,x86從2008年Atom(原子,32/64位元)、2013年的Quark(夸克,32位元)開始積極精省用電,期望打入手機、平板、物聯網、穿戴式市場。

同樣的,ARM也想打入x86原有市場,開始推出64位元架構,並積極鼓勵業者發展ARM伺服器,如與NVIDIA的丹佛專案,原初即是以ARM架構發展桌上型電腦、工作站、伺服器、超級電腦所用的ARM晶片。而ARM一路走來也擊敗諸多架構,如Intel i860/i960架構、AMD 29000架構、SuperH架構、MIPS架構等。

ARM架構的發展沿革

相信仍有不少人對ARM架構的發展沿革感到陌生,在此簡快回顧。創始於英國的ARM公司最初也是發展完整晶片,但因資金問題而轉向成授權給他人處理器功效電路的設計(智慧財產權,但因為是晶片電路設計,一般也稱矽智財)。

ARM晶片架構一路發展到ARM7TDMI(1998年)開始展露頭角,許多32位元微控制器選擇使用ARM7TDMI,成為32位元微控器的主流架構,而16位元微控器架構一直缺乏主流,8位元主流則為Intel 8051。ARM之後陸續發展出ARM8、ARM9、ARM10、ARM11架構,新架構比舊架構效能更好、功效更多更先進,但仍是以ARM7最受歡迎。

ARM7雖受歡迎,但缺點是ARM7的指令集太佔儲存空間,此被系統設計者抱怨,要用ARM7實現一個控制系統,需要準備較大容量的記憶體晶片(例如從512KB變成1MB),對此ARM公司另行發展一個較精省空間的指令集,稱為Thumb,而原有的指令集稱為ARM。

2008年ARM決議重新發展架構,新的ARM架構分成Cortex-A、Cortex-R、Cortex-M三類,正好用及ARM三個字母,指令集方面則以Thumb為基礎發展成Thumb 2,而非延續原有的ARM。而過去的ARM7/8/9/10/11被ARM公司稱為Classic(古典、經典)。

Cortex-A的目標市場為32位元微處理器(A=Application Processor),Cortex-M為接續原有ARM7TDMI一路走來的微控器(M=MCU),至於Cortex-R也是微控器,但是是針對即時(R=Real Time)嵌入式應用需求的微控器,是一個關鍵任務(Mission Critical)用的應用,如ABS緊急煞車系統、安全氣囊、引擎點火等,但R也是A、R、M三者較少使用,較利基的一塊,但價位較高。

ARM除了新架構分成A、R、M外,還有數字之別,如Cortex-A8、Cortex-M4等,數字大小代表效能與功效的差異,愈大代表效能愈佳,功效愈完整,但不代表發展順序,例如Cortex-A事先發展出A8,而後補發展A5、A7。

ARM進入64位元

ARM一路走來均為32位元架構,但2012年也開始進入64位元,64位元僅有Cortex-A,而無Cortex-M、Cortex-R,目前主要為Cortex-A53、A57,目標市場是伺服器及頂級智慧型手機,ARM方面稱為Super Phone。

最後,ARM提供軟核授權與硬核授權,軟核授權可以讓晶片設計者再行變化修改電路,但硬核只能取得現成已設計好的電路。多數晶片業者選擇後者,少數為前者,如Qualcomm選擇前者,自行衍生發展出Scorpion、Krait等核心,但仍相容ARM的Thumb指令集,不過Qualcomm近期已不堅持採自有設計核心,也直接向ARM取用Cortex-A53、Cortex-A7等核心。