ARM 架構是構建每一個 ARM 處理器的基礎。ARM 架構隨着時間的推移不斷髮展,其中包含的架構功能可知足不斷增加的新功能、高性能需求以及新興市場的須要。有關最新公佈版本的信息,請參閱
ARMv8 架構。
ARM 架構支持跨躍多個性能點的實現,並已在許多細分市場中成爲主導的架構。ARM 架構支持很是普遍的性能點,於是能夠利用最新的微架構技術得到極小的 ARM 處理器實現和極有效的高級設計實現。實現規模、性能和低功耗是 ARM 架構的關鍵特性。程序員
ARM 已經開發了架構擴展,從而爲 Java 加速 (Jazelle®)、安全性 (TrustZone®)、SIMD 和高級 SIMD (NEON™) 技術提供支持。ARMv8-A 架構增長了密碼擴展做爲可選功能。安全
ARM 架構與精簡指令集計算 (RISC) 架構相似,由於它包含如下典型 RISC 架構特徵:架構
- 統一寄存器文件加載/存儲架構,其中的數據處理操做只針對寄存器內容,並不直接針對內存內容。
- 簡單尋址模式,全部加載/存儲地址只經過寄存器內容和指令字段肯定。
對基本 RISC 架構的加強使 ARM 處理器能夠實現較高性能、較小代碼大小、較低功耗和較小硅面積的良好平衡。性能

ARM(一般稱爲 A32)是一種固定長度(32 位)的指令集。它是 ARMv4T、ARMv5TEJ 和 ARMv6 架構中使用的基礎 32 位 ISA。在這些架構中,該指令集用於須要高性能的應用領域,或用於處理硬件異常,如中斷和處理器啓動。
對於性能關鍵應用和舊代碼,Cortex 架構的 Cortex™-A 和 Cortex-R 配置文件也支持 ARM ISA。其多數功能都包括在與 Thumb-2 技術一塊兒引入的 Thumb 指令集中。Thumb (T32) 從改進的代碼密度中獲益。編碼
ARM 指令的長度爲 32 位,須要 4 字節邊界對齊。spa
能夠對大多數 ARM 指令進行「條件化」,使其僅在之前的指令設置了特定條件代碼時執行。這意味着,若是應用程序狀態寄存器中的 N、Z、C 和 V 標誌知足指令中指定的條件,則指令僅對程序員的模型操做、內存和協處理器發揮其正常做用。若是這些標記不知足此條件,則指令會用做 NOP,即執行過程正常進入下一指令(包括將對異常進行任意相關檢查),但不發揮任何其餘做用。此條件化指令容許對 if 和 while 語句的一小部分進行編碼,而無需使用跳轉指令。 設計
條件代碼包括:內存
條件代碼 |
含義 |
Nci |
否認條件代碼,若是結果爲否認的,則設置爲 1 |
Z |
零條件代碼,若是指令的結果爲 0,則設置爲 1 |
C |
進位條件代碼,若是指令生成進位條件,則設置爲 1 |
V |
溢出條件代碼,若是指令生成溢出條件,則設置爲 1。 |