ARMアーキテクチャは幅広い性能範囲の製品実装をサポートし、多様なマーケット セグメントにおいて主要なアーキテクチャとしての揺るぎない地位を確立しています。ARMアーキテクチャは幅広い範囲の性能をサポートするので、ARMプロセッサの実装規模を非常に小さくして、最先端のマイクロアーキテクチャ技術を使った先進設計の非常に効率よい実装を可能にしています。実装サイズ、パフォーマンス、低消費電力は、ARMアーキテクチャの主要な特性です。
アーキテクチャの拡張はJavaアクセラレーション(Jazelle®)、セキュリティ(TrustZone®)、SIMD、およびAdvanced SIMD(NEON™)技術をサポートするために開発されました。ARMv8-Aアーキテクチャはオプション機能として暗号化拡張機能を追加します。
ARMアーキテクチャは、一般に縮小命令セット コンピュータ(RISC、Reduced Instruction Set Computer)型のアーキテクチャとして記述されますが、それは次のような代表的なRISCアーキテクチャの機能が組み込まれているからです。
- 一貫したレジスタ ファイル ロード/ストア アーキテクチャ。データ処理はレジスタの内容に対してのみ実行され、メモリの内容が直接処理されることはありません。
- 単純なアドレシング モード。ロード/ストアのアドレスはすべて、レジスタの内容と命令フィールドから計算されます。
ARMプロセッサは、基本的なRISCアーキテクチャに上記のような拡張を加えることで、高性能、小さなコード サイズ、低消費電力、小さなシリコン面積をバランスよく実現しています。

ARMv8アーキテクチャ
ARMv8-AはARMアーキテクチャに64ビットアーキテクチャのサポートを導入し、以下を含みます。
- 64ビット汎用レジスタ、SP(スタック ポインタ)、およびPC(プログラム カウンタ)
- 64ビット データ処理と拡張仮想アドレシング
- 2つの主要実行状態
- AArch64 - 64ビット実行状態(例外モデル、メモリ モデル、プログラマ モデル)とその状態をサポートする命令セット
- AArch32 - 32ビット実行状態(例外モデル、メモリ モデル、プログラマ モデル)とその状態をサポートする命令セット
実行状態は次の3つの主要命令セットをサポートします。
- A32(またはARM):32ビット固定長命令セット、各種のアーキテクチャ バリアントによって強化。現在AArch32と呼ばれる32ビットアーキテクチャ実行環境の一部。
- T32(Thumb):最初は16ビット固定長命令セットとして導入され、後にThumb-2技術の導入で混合長16ビットおよび32ビットの命令セットとして強化された。現在AArch32と呼ばれる32ビットアーキテクチャ実行環境の一部。
- A64:32ビット固定長命令セット。ARMおよびThumb命令セットに類似の機能を提供する。ARMv8-Aで導入されたAArch64命令セット。
ARM ISAは、最先端のアプリケーション開発者の増大する要求を満たすために絶えず向上を続ける一方で、ソフトウェア開発への投資を保護するために必要な下位互換性が維持されています。ARMv8-AにはA32とT32に加えてA64命令セットとの整合性を維持するために追加されたものがあります。






