它用來讓手機製造商能夠加速執行Java ME的遊戲和應用程式,也因此促使了這項技術不斷地發展。 ARM的經營模式在於出售其IP核,授權廠家依照設計製作出建構於此核的微控制器和中央處理器。 最成功的實作案例屬ARM7TDMI,幾乎賣出了數億套內建微控制器的裝置。
- 輔助處理器的存取延遲較低,所以有些周邊裝置(例如XScale中斷控制器)會設計成可透過不同方式存取(透過記憶體和輔助處理器)。
- 所有ARM9和後來的家族,包括XScale,都納入了Thumb技術。
- 最成功的實作案例屬ARM7TDMI,幾乎賣出了數億套內建微控制器的裝置。
- 對於量產而言,由於長期的成本縮減可藉由更低的晶圓價格,減少ARM的NRE成本,使得專門的晶圓廠也成了一個更好的選擇。
在1980年代晚期,蘋果電腦開始與艾康電腦合作開發新版的ARM核心。 由於這專案非常重要,艾康電腦甚至於1990年將設計團隊另組成一間名為安谋国际科技(Advanced RISC Machines Ltd.)的新公司。 也基於這原因,使得ARM有時候反而稱作Advanced RISC Machine而不是Acorn RISC arm, Machine。 由於其母公司ARM Holdings plc於1998年在倫敦證券交易所和NASDAQ掛牌上市,使得Advanced RISC Machines成了ARM Ltd旗下擁有的產品。 所有ARM9和後來的家族,包括XScale,都納入了Thumb技術。
arm,: 內核種類
在這種情形下,通常可行的方案是編譯成Thumb程式碼,並自行最佳化一些使用(非Thumb)32位元指令集的CPU相關程式區,因而能將它們置入受限的32-bit匯流排寬度的記憶體中。 arm, arm, 在架構上而言,更低效能的ARM內核比更高效能的內核擁有較低的授權費。 以矽晶片實作而言,一顆可整合的內核要比一顆硬體巨集(黑箱)內核要來得貴。 更複雜的價位問題來講,持有ARM授權的商用晶圓廠(例如韓國三星和日本富士通)可以提供更低的授權價格給他們的晶圓廠客戶。
這個精簡的特色使它只需消耗很少的電能,卻能發揮比Intel arm, 80286更好的效能。 arm, 後繼的處理器「ARM3」則備有4KB的快取,使它能發揮更佳的效能。 ThumbEE,也就是所謂的Thumb-2EE,業界稱為Jazelle RCT (页面存档备份,存于互联网档案馆)技術,於2005年發表,首見於「Cortex-A8」處理器。 ThumbEE提供從Thumb-2而來的一些擴充性,在所處的執行環境下,使得指令集能特別適用於執行階段的編碼產生(例如即時編譯)。 Thumb-2EE是專為一些語言如Limbo、Java、C#、Perl和Python,並能讓即時編譯器能夠輸出更小的編譯碼卻不會影響到效能。 在233 MHz的頻率下,這顆CPU只消耗1瓦特的電能(後來的晶片消耗得更少)。
arm,: CPU模式
藉著可整合的RTL,客戶就有能力能進行架構上的最佳化與加強。 這個方式能讓設計者完成額外的設計目標(如高震盪頻率、低能量耗損、指令集延伸等)而不會受限於無法更動的電路圖。 雖然ARM並不授予授權方再次販售ARM架構本身,但授權方可以任意地販售製品(如晶片元件、評估板、完整系統等)。 商用晶圓廠是特殊例子,因為他們不僅授予能販售包含ARM內核的矽晶成品,對其它客戶來講,他們通常也保留重製ARM內核的權利。 TrustZone技術出現在ARMv6KZ以及較晚期的應用核心架構中。
2011年,ARM的客户报告79亿ARM处理器出货量,占有95%的智能手机、90%的硬盘驱动器、40%的数字电视和机上盒、15%的微控制器、和20%的移动电脑。 在ARM為基礎的處理器中,其他可見的浮點、或SIMD的協同處理器還包括了FPA、FPE、iwMMXt。 他們提供類似VFP的功能,但在opcode層面上來說並不具有相容性。 Thumb-2至今也從ARM和Thumb指令集中衍伸出多種指令,包含位元欄操作、分支建表和條件執行等功能。 這結果可讓一般的ARM程式變得更加緊密,而不需經常使用記憶體存取,管線也可以更有效地使用。 即使在ARM以一般認定為慢速的速度下執行,與更複雜的CPU設計相比它仍能執行得不錯。
arm,: 內核種類
透過晶圓廠自有的設計技術,客戶可以更低或是免費的ARM預付授權費來取得ARM內核。 相較於不具備自有設計技術的專門半導體晶圓廠(如台積電和聯電),富士通/三星對每片晶圓多收取了兩至三倍的費用。 對中少量的應用而言,具備設計部門的晶圓廠提供較低的整體價格(透過授權費用的補助)。 對於量產而言,由於長期的成本縮減可藉由更低的晶圓價格,減少ARM的NRE成本,使得專門的晶圓廠也成了一個更好的選擇。 這個架構使用「輔助處理器」提供一種非侵入式的方法來延伸指令集,可透過軟體下MCR、MRC、MRRC和MCRR等指令來對輔助處理器定址。 輔助處理器空間邏輯上通常分成16個輔助處理器,編號分別從0至15;而第15號輔助處理器是保留用作某些常用的控制功能,像是使用快取和記憶管理單元運算(若包含於處理器時)。
对于所有的特权CPU模式,除了系统CPU模式之外,R13和R14都是分块的。 也就是说,每个因为一个异常(exception)而可以进入模式,有其自己的R13和R14。 Supervisor 模式在CPU被重置或者SWI指令被执行时进入的特权模式。 Abort 模式预读取中断或数据中断异常发生时进入的特权模式。 Hyp 模式armv-7a为cortex-A15处理器提供硬件虚拟化引进的管理模式。
arm,: CPU模式
團隊在1985年時開發出樣本「ARM1」,而首顆真正能量產的「ARM2」於次年投產。 ARM2具有32位元的資料匯流排、26位元的定址空間,並提供64 Mbyte的定址範圍與16個32-bit的暫存器。 暫存器中有一個作為程式計數器,其前面6位元和後面2位元用來保存處理器狀態標記。 ARM2可能是全世界最簡單實用的32位元微處理器,僅容納了30,000個電晶體(六年後的摩托羅拉68000包含了70,000顆)。 之所以精簡的原因在於它不含微碼(這大概占了68000的電晶體數約1/4至1/3);而且與當時大多數的處理器相同,它沒有包含任何的快取。
另一方面,超级计算机消耗大量电能,ARM同样被视作更高效的选择。 安謀控股(ARM Holdings)開發此架構並授權其他公司使用,以供他們實現ARM的某一個架構,開發自主的系統單晶片和系統模組(system-on-module,SoC)。 在ARM架構的機器中,週邊裝置連接處理器的方式,通常透過將裝置的實體暫存器對應到ARM的記憶體空間、輔助處理器空間,或是連接到另外依序接上處理器的裝置(如匯流排)。 輔助處理器的存取延遲較低,所以有些周邊裝置(例如XScale中斷控制器)會設計成可透過不同方式存取(透過記憶體和輔助處理器)。
這個專案到後來進入「ARM6」,首版的樣品在1991年釋出,然後蘋果電腦使用ARM6架構的ARM 610來當作他們Apple Newton產品的處理器。 在1994年,艾康電腦使用ARM 610做為他們個人電腦產品的處理器。 至2009年為止,ARM架構處理器佔市面上所有32位元嵌入式RISC處理器90%的比例,使它成為占全世界最多數的32位元架構之一。
ARM處理器還有一些在其他RISC的架構所不常見到的特色,例如程式計數器-相對定址(的確在ARM上程式計數器為16個暫存器的其中一個)以及前遞加或後遞加的定址模式。 有個附加在 arm, ARM 設計中好玩的東西,就是在每個指令前頭使用一個 4-bit 的 條件編碼,表示該指令是否為有條件式地執行。 例如,用于ARMv6-M配置(所使用的Cortex M0 / M0+/ M1)的一个子集ARMv7-M架构(支持较少的指令)。 在這些變革之後,內核部份卻大多維持一樣的大小——ARM2有30,000顆電晶體,但ARM6卻也只增長到35,000顆。 主要概念是以ODM的方式,使ARM核心能搭配一些選配的零件而製成一顆完整的CPU,而且可在現有的晶圓廠裡製作並以低成本的方式達到很大的效能。
ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、行動電話、多媒體播放器、掌上型電玩和計算機)到電腦週邊設備(硬碟、桌上型路由器),甚至在导弹的弹载计算机等军用设施中都有他的存在。 在此还有一些基于ARM设计的衍伸产品,重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。 首顆具備Jazelle技術的處理器是「ARM7EJ-S」:Jazelle以一個英文字母’J’標示於CPU名稱中。