
AArch64またはARM64は、 ARMアーキテクチャファミリの64ビット実行状態です。Armv8 -Aアーキテクチャで初めて導入され、多くの拡張アップデートが行われてきました。[1]
AArch64 実行状態
命名規則
- 64ビット:
- 実行状態: AArch64。
- 命令セット: A64。
- 32ビット:
- 実行状態: AArch32。
- 命令セット: A32 + T32。
- 例: ARMv8-R、Cortex-A32。[2]
AArch64 の機能
- 新しい命令セット、A64:
- 汎用 64 ビット レジスタを 31 個備えています。
- 専用のゼロまたはスタック ポインタ (SP) レジスタがあります (命令によって異なります)。
- プログラム カウンター (PC) はレジスタとして直接アクセスできなくなりました。
- 命令は依然として 32 ビット長であり、A32 とほとんど同じです (LDM/STM 命令とほとんどの条件付き実行は削除されています)。
- ペアになったロード/ストアがあります (LDM/STM の代わりに)。
- ほとんどの命令には述語がありません(分岐を除く)。
- ほとんどの命令は 32 ビットまたは 64 ビットの引数を取ることができます。
- アドレスは 64 ビットであると想定されます。
- 高度なSIMD(ネオン)強化:
- 32 × 128 ビット レジスタ (16 から増加) があり、VFPv4 経由でもアクセスできます。
- 倍精度浮動小数点形式をサポートします。
- IEEE 754に完全準拠。
- AES 暗号化/復号化および SHA-1/SHA-2 ハッシュ命令でもこれらのレジスタが使用されます。
- 新しい例外システム:
- バンクレジスタとモードが少なくなります。
- 既存の Large Physical Address Extension (LPAE) に基づく 48 ビット仮想アドレスからのメモリ変換。64 ビットに簡単に拡張できるように設計されています。
拡張機能: データ収集ヒント (ARMv8.0-DGH)。
AArch64 は ARMv8-A で導入され、ARMv8-A の後続バージョンに含まれています。また、ARMv8-A で導入された後、オプションとして ARMv8-R にも導入されましたが、ARMv8-M には含まれていません。
指示フォーマット
A64 命令がどのグループに属するかを選択するためのメイン オペコードは、ビット 25 ~ 28 にあります。
ARM-A (アプリケーション アーキテクチャ)
2011 年 10 月に発表された[3] ARMv8-Aは、ARM アーキテクチャの根本的な変更を表しています。32 ビット実行状態「AArch32」に加えて、「AArch64」というオプションの 64 ビット実行状態と、それに関連する新しい「A64」命令セットが追加され、32 ビット「A32」(オリジナルの 32 ビット Arm) および「T32」(Thumb/Thumb-2) 命令セットがサポートされています。後者の命令セットは、既存の 32 ビット ARMv7-A アーキテクチャとのユーザー空間互換性を提供します。ARMv8-A では、32 ビット アプリケーションを 64 ビット OS で実行し、32 ビット OS を 64 ビットハイパーバイザーで制御できます。[4] ARMは2012年10月30日にCortex-A53とCortex-A57コアを発表しました。 [5] Appleは、消費者向け製品(iPhone 5S)でARMv8-A互換コア(Cyclone )をリリースした最初の企業です。FPGAを使用したAppliedMicroは、ARMv8-Aを初めてデモしました。[6] Samsungの最初のARMv8-A SoCは、 Galaxy Note 4で使用されているExynos 5433で、 big.LITTLE構成で4つのCortex-A57およびCortex-A53コアの2つのクラスターを備えていますが、AArch32モードでのみ動作します。[7]
ARMv8-Aには、AArch32とAArch64の両方でVFPv3/v4と高度なSIMD(Neon)が標準機能として含まれています。また、AES、SHA-1 / SHA-256、有限体演算をサポートする暗号化命令も追加されています。[8]
ARMv8-Aプロセッサは、AArch32とAArch64のいずれかまたは両方をサポートできます。低い例外レベルではAArch32とAArch64をサポートし、高い例外レベルではAArch64のみをサポートします。[9]たとえば、ARM Cortex-A32はAArch32のみをサポートし、[10] ARM Cortex-A34はAArch64のみをサポートし、[11] ARM Cortex-A72はAArch64とAArch32の両方をサポートします。[12] ARMv9-Aプロセッサは、すべての例外レベルでAArch64をサポートする必要があり、EL0ではAArch32をサポートできます。[9]
ARMv8.1-A
2014年12月には、ARMv8.1-A [13]が発表され、「v8.0よりも段階的な利点」を備えたアップデートとなった。機能強化は、命令セットの変更と、例外モデルとメモリ変換の変更の2つのカテゴリに分類された。
命令セットの機能強化には次のものが含まれます。
- AArch64 アトミック読み取り/書き込み命令のセット。
- AArch32 と AArch64 の両方の Advanced SIMD 命令セットに追加され、いくつかのライブラリ最適化の機会が有効になります。
- 符号付き飽和丸め倍増乗算累積、上位半分を返します。
- 符号付き飽和丸め倍増乗算減算、上位半分を返します。
- 命令はベクトル形式とスカラー形式で追加されます。
- 構成可能なアドレス領域に制限されたメモリ アクセス順序を提供できる AArch64 ロードおよびストア命令のセット。
- v8.0 のオプションの CRC 命令は、ARMv8.1 では必須になります。
例外モデルとメモリ変換システムの機能強化には、次のものが含まれます。
- 新しい Privileged Access Never (PAN) 状態ビットは、明示的に有効にしない限り、ユーザー データへの特権アクセスを防止する制御を提供します。
- 仮想化のための VMID 範囲の拡大。より多くの仮想マシンをサポートします。
- ページ テーブル アクセス フラグのハードウェア更新のオプション サポート、およびオプションのハードウェア更新のダーティ ビット メカニズムの標準化。
- 仮想化ホスト拡張機能 (VHE)。これらの拡張機能は、ホスト オペレーティング システムとゲスト オペレーティング システム間の移行時に関連するソフトウェア オーバーヘッドを削減することで、タイプ 2 ハイパーバイザーのパフォーマンスを向上させます。拡張機能により、ホスト OS は、大幅な変更を加えることなく、EL1 ではなく EL2 で実行できるようになります。
- OS がハードウェア サポートを必要としない場合に、オペレーティング システムで使用するために一部の変換テーブル ビットを解放するメカニズム。
- メモリタグ付けの上位バイトは無視されます。[14]
ARMv8.2-A
2016年1月にARMv8.2-Aが発表されました。[15]その機能強化は4つのカテゴリーに分類されます。
- オプションの半精度浮動小数点データ処理 (半精度はすでにサポートされていましたが、処理用ではなく、保存形式としてのみサポートされていました。)
- メモリ モデルの強化。
- 信頼性、可用性、保守性拡張(RAS 拡張)の導入。
- 統計プロファイリングの導入。
スケーラブルベクター拡張 (SVE)
スケーラブルベクター拡張(SVE)は、高性能コンピューティングの科学的ワークロードのベクトル化のために特別に開発された「ARMv8.2-A以降のアーキテクチャに対するオプションの拡張機能」です。[16] [17]この仕様では、128ビットから2048ビットまでの可変長ベクターを実装できます。この拡張機能はNEON拡張機能を補完するものであり、NEON拡張機能に代わるものではありません。
512ビットSVEバリアントは、富士通A64FX ARMプロセッサを使用した富岳スーパーコンピュータにすでに実装されており、このコンピュータ[18]は2020年6月[19]から2022年5月[20]までの2年間、世界最速のスーパーコンピュータでした。より柔軟なバージョンである2x256 SVEは、AWS Graviton3 ARMプロセッサによって実装されました。
SVEはGCCコンパイラでサポートされており、GCC 8は自動ベクトル化をサポートし[17]、GCC 10はC組み込み関数をサポートしています。2020年7月現在[アップデート]、LLVMとclangはCおよびIR組み込み関数をサポートしています。ARM独自のLLVMフォークは自動ベクトル化をサポートしています。[21]
ARMv8.3-A
2016年10月にARMv8.3-Aが発表されました。その機能強化は6つのカテゴリーに分類されます。[22]
- ポインタ認証[23] (AArch64のみ);アーキテクチャへの必須拡張(新しいブロック暗号QARMA [24]に基づく)(コンパイラはセキュリティ機能を活用する必要があるが、命令はNOP空間にあるため、古いチップでは追加のセキュリティは提供されないものの、下位互換性がある)。
- ネストされた仮想化 (AArch64 のみ)。
- 高度な SIMD複素数サポート (AArch64 および AArch32)。例: 90 度の倍数による回転。
- 新しいFJCVTZS(浮動小数点JavaScriptを符号付き固定小数点に変換し、ゼロに丸める)命令。[25]
- メモリ一貫性モデルの変更 (AArch64 のみ)。C ++11 / C11の (デフォルトではない) より弱い RCpc (リリース一貫性プロセッサ一貫性) モデルをサポートします(デフォルトの C++11/C11 一貫性モデルは、以前の ARMv8 で既にサポートされていました)。
- より大きなシステム可視キャッシュ (AArch64 および AArch32) に対する ID メカニズムのサポート。
ARMv8.3-Aアーキテクチャは現在、(少なくとも)GCC 7コンパイラでサポートされています。[26]
ARMv8.4-A
2017年11月にARMv8.4-Aが発表されました。その機能強化は以下のカテゴリーに分類されます: [27] [28] [29]
- 「SHA3 / SHA512 / SM3 / SM4暗号拡張」つまりオプションの指示。
- 仮想化サポートが改善されました。
- メモリ パーティショニングおよびモニタリング (MPAM) 機能。
- 新しいセキュア EL2 状態およびアクティビティ モニター。
- 符号付きおよび符号なし整数のドット積(SDOT および UDOT) 命令。
ARMv8.5-A および ARMv9.0-A
2018年9月にARMv8.5-Aが発表されました。その機能強化は以下のカテゴリーに分類されます: [30] [31] [32]
- メモリタグ付け拡張(MTE)(AArch64)。[33]
- ブランチ ターゲット インジケーター (BTI) (AArch64) は、「攻撃者が任意のコードを実行する能力」を低減します。ポインタ認証と同様に、関連する命令は ARMv8-A の以前のバージョンでは何も実行されません。
- 乱数ジェネレータの指示 - 「さまざまな国内および国際標準に準拠した決定論的かつ真の乱数を提供します」。
2019年8月2日、GoogleはAndroidがメモリタグ付け拡張機能(MTE)を採用すると発表した。 [34]
2021年3月にARMv9-Aが発表されました。ARMv9-AのベースラインはARMv8.5のすべての機能です。[35] [36] [37] ARMv9-Aでは以下の機能も追加されています。
- スケーラブルベクトル拡張2(SVE2)。SVE2は、SVEのスケーラブルベクトル化に基づいて構築されており、細粒度のデータレベル並列性(DLP)が向上し、命令ごとにより多くの作業を行うことができます。SVE2は、現在Neonを使用しているDSPやマルチメディアSIMDコードを含むより幅広いソフトウェアにこれらの利点をもたらすことを目指しています。[38] LLVM / Clang 9.0およびGCC 10.0開発コードが更新され、SVE2がサポートされました。[38] [39]
- トランザクションメモリ拡張(TME)。x86拡張に続き、TMEはハードウェアトランザクションメモリ(HTM)とトランザクションロック除去(TLE)のサポートをもたらします。TMEは、スケーラブルな並行性をもたらし、粗粒度のスレッドレベル並列性(TLP)を高め、スレッドあたりの作業量を増やすことを目的としています。[38] LLVM / Clang 9.0とGCC 10.0の開発コードはTMEをサポートするように更新されました。[39]
- 機密コンピューティングアーキテクチャ(CCA)。[40] [41]
ARMv8.6-A および ARMv9.1-A
2019年9月にARMv8.6-Aが発表されました。その機能強化は以下のカテゴリーに分類されます: [30] [42]
- 一般行列乗算 (GEMM)。
- Bfloat16 形式のサポート。
- SIMD 行列操作命令、BFDOT、BFMMLA、BFMLAL、および BFCVT。
- 仮想化、システム管理、セキュリティの強化。
- そして、以下の拡張機能(LLVM 11ではすでにサポートが追加されている[43]):
- 拡張カウンター仮想化 (ARMv8.6-ECV)。
- 細粒度トラップ (ARMv8.6-FGT)。
- アクティビティ モニターの仮想化 (ARMv8.6-AMU)。
例えば、細粒度トラップ、イベント待機(WFE)命令、EnhancedPAC2、FPACなどです。SVEとNeonのbfloat16拡張は主にディープラーニングで使用されます。[44]
ARMv8.7-A および ARMv9.2-A
2020年9月にARMv8.7-Aが発表されました。その機能強化は以下のカテゴリーに分類されます。[30] [45]
- スケーラブルマトリックス拡張(SME)(ARMv9.2のみ)。[46] SMEは、マトリックスを効率的に処理するための次のような新機能を追加します。
- マトリックスタイルストレージ。
- オンザフライの行列転置。
- タイル ベクトルを読み込み/保存/挿入/抽出します。
- SVE ベクトルの行列外積。
- 「ストリーミングモード」SVE。
- PCIe ホット プラグ (AArch64) のサポートが強化されました。
- アクセラレータ (AArch64) へのアトミックな 64 バイトのロードとストア。
- タイムアウト付きの命令待機 (WFI) およびイベント待機 (WFE) (AArch64)。
- 分岐レコード記録 (ARMv9.2 のみ)。
- コールスタックレコーダー
ARMv8.8-A および ARMv9.3-A
2021年9月、ARMv8.8-AとARMv9.3-Aが発表されました。その機能強化は以下のカテゴリーに分類されます。[30] [47]
- マスク不可能割り込み (AArch64)。
- memcpy() および memset() スタイルの操作を最適化するための手順 (AArch64)。
- PAC (AArch64) の機能強化。
- ヒント付き条件分岐 (AArch64)。
LLVM 15はARMv8.8-AとARMv9.3-Aをサポートしています。[48]
ARMv8.9-A および ARMv9.4-A
2022年9月には、ARMv8.9-AとARMv9.4-Aが発表され、以下の内容が含まれていました。[49]
- 仮想メモリ システム アーキテクチャ (VMSA) の強化。
- 権限の間接化とオーバーレイ。
- 翻訳の強化。
- 128 ビット変換テーブル (ARMv9 のみ)。
- スケーラブル マトリックス拡張 2 (SME2) (ARMv9 のみ)。
- マルチベクトル命令。
- マルチベクトル述語。
- 2b/4b ウェイト圧縮。
- 1b バイナリ ネットワーク。
- 範囲プリフェッチ。
- ガード コントロール スタック (GCS) (ARMv9 のみ)。
- 機密コンピューティング。
- メモリ暗号化コンテキスト。
- デバイスの割り当て。
ARMv9.5-A
2023年10月にARMv9.5-Aが発表され、以下の内容が含まれていた。[50]
- FP8 サポート (E5M2 および E4M3 形式) が追加されました:
- 中小企業2
- SVE2
- 高度な SIMD (ネオン)
- ハードウェアダーティ状態追跡構造 (FEAT_HDBSS) を使用した仮想マシンのライブマイグレーション
- チェックポイント演算
- ポインタ認証コードを生成またはチェックするときに、PC と SP の組み合わせを修飾子として使用するためのサポート。
- Realm Management Extension (RME) 対応設計のサポート、Granule Protection Tables での非セキュアのみのサポート、および特定の物理アドレス空間 (PAS) を無効にする機能。
- EL3 構成書き込みトラップ。
- リンクを必要とせずにアドレス範囲と不一致をトリガーするためのブレークポイントのサポート。
- EL3 から EL2 または EL1 に SError を効率的に委任するためのサポート。
ARMv9.6-A
2024年10月にARMv9.6-Aが発表され、以下の内容が含まれていた。[51]
- 構造化されたスパース性とクォータータイル操作による中小企業の効率性の向上
- マルチチップレットおよびマルチチップシステム上の共有メモリコンピュータシステムをより適切にサポートする MPAM ドメイン
- 仮想マシン上のトレースと統計プロファイリングのためのハイパーバイザーメモリ制御
- キャッシュとデータ配置の改善
- 機密コンピューティングのためのきめ細かなデータ分離
- EL1 システムレジスタのビット単位のロック
- 大規模メモリシステム向けの粒度保護テーブル (GPT) のスケーリングの改善
- 拡張/圧縮および最初/最後のアクティブ要素の検索のための新しい SVE 命令
- OSがアプリケーションメモリと対話できるようにするための追加の非特権ロードおよびストア命令
- 新しい比較および分岐命令
- EL3 からの未定義命令例外の挿入
ARM-R (リアルタイムアーキテクチャ)
ARM -Rアーキテクチャ、特に Armv8-R プロファイルは、予測可能で確定的な動作が不可欠なリアルタイム アプリケーションのニーズに対応するように設計されています。このプロファイルは、リアルタイム制約が重要な組み込みシステムで高いパフォーマンス、信頼性、効率性を実現することに重点を置いています。
Armv8-RプロファイルにオプションのAArch64サポートが導入されたことで、リアルタイム機能がさらに強化されました。Cortex-R82 [52] は、この拡張サポートを実装した最初のプロセッサであり、リアルタイムドメインにいくつかの新機能と改善をもたらしました。[53]
AArch64 をサポートする Armv8-R の主な機能
- AArch64命令セット(A64):
- Cortex-R82に搭載されているA64命令[25]は64ビットのデータ処理と操作を可能にし、特定の計算タスクのパフォーマンスを向上させ、システム全体の効率を高めます。 [52]
- 命令例:
ADD X0, X1, X264 ビット レジスタ X1 と X2 の値を加算し、結果を X0 に格納します。この 64 ビット演算では、以前の A32 命令セットの 32 ビット演算と比較して、より大規模で複雑な計算が可能になります。
- 強化されたメモリ管理:
- メモリバリア命令:Cortex-R82では、メモリ操作の適切な順序を保証するために改良されたメモリバリア命令が導入されています。これは、メモリ操作のタイミングを厳密に制御する必要があるリアルタイムシステムでは重要です。[54]
- データ同期バリア (DSB) : 後続の操作を続行する前に、バリアの前のすべてのデータ アクセスが完了していることを確認します。
- データ メモリ バリア (DMB) : バリア後のメモリ アクセスを続行する前に、バリア前のすべてのメモリ アクセスが完了していることを保証します。
- 例: リアルタイムの自動車制御システムでは、DSB を使用して、システムが処理や意思決定を進める前にセンサー データが完全にメモリに書き込まれ、データの破損や不整合を防ぐことができます。
- メモリバリア命令:Cortex-R82では、メモリ操作の適切な順序を保証するために改良されたメモリバリア命令が導入されています。これは、メモリ操作のタイミングを厳密に制御する必要があるリアルタイムシステムでは重要です。[54]
- 改善されたアドレス空間:
- 64 ビット アドレッシング: AArch64 により、Cortex-R82 は 32 ビットの前身と比較してはるかに大きなメモリ空間をアドレス指定できるようになり、大量のメモリを必要とするアプリケーションに適しています。
- 例: 複雑な産業オートメーション システムでは、拡張されたアドレス空間を利用して大規模なデータ セットとバッファーをより効率的に管理し、システムのパフォーマンスと機能を向上させることができます。
- リアルタイムパフォーマンスの強化:
- 割り込み処理: AArch64 のサポートにより、Cortex-R82 は、リアルタイム操作に不可欠な、より低いレイテンシと向上した予測可能性で割り込みを処理できます。
- 例: ロボット アプリケーションでは、Cortex-R82 の強化された割り込み処理により、センサー データや制御コマンドの変更などの外部刺激に対するタイムリーな応答を保証できます。
参考文献
- ^ 「概要」。アーキテクチャを学ぶ: Armv8.x および Armv9.x 拡張機能を理解する。
- ^ 「Cortex-A32プロセッサ – ARM」 。 2016年12月18日閲覧。
- ^ 「ARM、ARMアーキテクチャの次期バージョンの技術詳細を公開」(プレスリリース)。Arm Holdings。2011年10月27日。2019年1月1日時点のオリジナルよりアーカイブ。2013年9月20日閲覧。
- ^ Grisenthwaite, Richard (2011). 「ARMv8-A テクノロジー プレビュー」(PDF)。2011 年 11 月 11 日時点のオリジナル(PDF)からアーカイブ。2011 年10 月 31 日閲覧。
- ^ 「ARM、世界で最もエネルギー効率に優れた64ビットプロセッサ、Cortex-A50シリーズを発表」(プレスリリース)。Arm Holdings 。 2012年10月31日閲覧。
- ^ 「AppliedMicro、世界初の64ビットARM v8コアを発表」(プレスリリース)。AppliedMicro。2011年10月28日。 2014年2月11日閲覧。
- ^ 「SamsungのExynos 5433はA57/A53 ARM SoCです」。AnandTech 。 2014年9月17日閲覧。
- ^ 「ARM Cortex-A53 MPCore プロセッサ テクニカル リファレンス マニュアル: 暗号化拡張機能」。ARM。2016年9 月 11 日閲覧。
- ^ ab 「実装された例外レベルの影響」。アーキテクチャを学ぶ - AArch64 例外モデル。Arm。
- ^ 「Cortex-A32」。Arm Developer。
- ^ 「Cortex-A34」。Arm Developer。
- ^ 「Cortex-A72」。Arm Developer。
- ^ Brash, David (2014 年 12 月 2 日). 「ARMv8-A アーキテクチャと進行中の開発」 。2015年1 月 23 日閲覧。
- ^ 「トップバイト無視 (TBI)」。WikiChip。
- ^ Brash, David (2016 年 1 月 5 日). 「ARMv8-A アーキテクチャの進化」 . 2016 年6 月 7 日閲覧。
- ^ 「ARMv8 a アーキテクチャ向けのスケーラブルなベクター拡張 sve」 。Armコミュニティ。2016 年 8 月 22 日。2018 年7 月 8 日に閲覧。
- ^ ab 「GCC 8 リリースシリーズ – 変更点、新機能、修正 – GNU プロジェクト – フリーソフトウェア財団 (FSF)」。gcc.gnu.org 。2018 年7 月 9 日閲覧。
- ^ 「富士通、ポスト「京」スーパーコンピュータCPUプロトタイプを完成、機能試験を開始 – Fujitsu Global」www.fujitsu.com (プレスリリース) 。 2018年7月8日閲覧。
- ^ 「日本の富岳が世界最速スーパーコンピュータの称号を獲得」(プレスリリース)www.riken.jp。2020年6月23日。 2020年12月7日閲覧。
- ^ 「ORNLのFrontierがエクサフロップスの天井を突破」。Top500 。 2022年5月30日。 2022年5月30日閲覧。
- ^ 「⚙ D71712 ダウンストリーム SVE/SVE2 実装 (LLVM)」。reviews.llvm.org。
- ^ David Brash (2016 年 10 月 26 日). 「ARMv8-A アーキテクチャ – 2016 年の追加機能」
- ^ . "[Ping~,AArch64] -march=armv8.3-a のコマンドラインサポートを追加"。
ポインタ認証拡張機能は ARMv8.3-A の必須拡張機能として定義されており、オプションではありません。
- ^ 「Qualcomm が ARMv8.3 のポインタ認証の詳細を記したホワイトペーパーを公開」2017 年 1 月 10 日。
- ^ ab 「A64浮動小数点命令: FJCVTZS」。arm.com 。 2019年7月11日閲覧。
- ^ 「GCC 7 リリース シリーズ – 変更点、新機能、および修正点」。ARMv8.3
-A アーキテクチャがサポートされるようになりました。-march=armv8.3-a オプションを指定することで使用できます。[..] ARMv8.3-A ポインタ認証拡張機能を使用して戻りアドレス保護を有効にするために、オプション -msign-return-address= がサポートされています。
- ^ 「Armアーキテクチャに対する2017年の拡張機能の紹介」。community.arm.com。2017年11月2日。 2019年6月15日閲覧。
- ^ 「ドット積機械学習の探索」community.arm.com 2017年12月6日2019年6月15日閲覧。
- ^ 「ARM、GCC コンパイラ向けに ARMv8.4-A のサポートを準備 – Phoronix」www.phoronix.com 。2018年1 月 14 日閲覧。
- ^ abcd 「ARMv8.x および ARMv9.x の拡張機能と機能」。アーキテクチャを学ぶ: ARMv8.x および ARMv9.x の拡張機能を理解する。
- ^ 「ArmアーキテクチャARMv8.5-A発表 – プロセッサブログ – プロセッサ – Armコミュニティ」。community.arm.com 。2019年4月26日閲覧。
- ^ 「ArmアーキテクチャリファレンスマニュアルARMv8、ARMv8-Aアーキテクチャプロファイル用」。ARM Developer 。 2019年8月6日閲覧。
- ^ 「Arm MTEアーキテクチャ:メモリの安全性の強化」。community.arm.com。2019年8月5日。 2021年7月27日閲覧。
- ^ 「Android での Arm メモリタグ付け拡張機能の採用」。Googleオンライン セキュリティ ブログ。2019 年8 月 6 日閲覧。
- ^ 「AI、セキュリティ、特殊コンピューティングの将来のニーズに対応するArmのソリューションはv9です」。Arm | デジタルワールドのアーキテクチャ。2021年7月27日閲覧。
- ^ Schor, David (2021年3月30日). 「ArmがARMv9を発表」. WikiChip Fuse . 2021年7月27日閲覧。
- ^ Frumusanu, Andrei. 「Arm、ARMv9アーキテクチャを発表:SVE2、セキュリティ、そして次の10年」www.anandtech.com . 2021年7月27日閲覧。
- ^ abc 「Arm、Aプロファイルアーキテクチャ向けSVE2およびTMEをリリース – プロセッサブログ – プロセッサ – Armコミュニティ」。community.arm.com 。 2019年4月18日。 2019年5月25日閲覧。
- ^ ab 「Arm SVE2 Support Aligning For GCC 10, LLVM Clang 9.0 – Phoronix」。www.phoronix.com 。 2019年5月26日閲覧。
- ^ 「Arm CCAでデータの力を解き放つ」community.arm.com 2021年6月23日2021年7月27日閲覧。
- ^ 「Armが機密コンピューティングアーキテクチャを発表」WikiChip Fuse 2021年6月23日。 2021年7月27日閲覧。
- ^ 「Arm A プロファイル アーキテクチャ アップデート 2019」。community.arm.com。2019年9 月 25 日。2019年9 月 26 日閲覧。
- ^ 「LLVM 11.0.0 リリースノート」。releases.llvm.org 。 2021年3月11日閲覧。
- ^ 「ARMv8-A の BFloat16 拡張機能」。community.arm.com。2019年 8 月 29 日。2019年8 月 30 日閲覧。
- ^ Weidmann, Martin (2020 年 9 月 21 日). 「Arm A-Profile Architecture Developments 2020」. community.arm.com . ARM . 2022 年9 月 28 日閲覧。
- ^ 「ARMv9-A アーキテクチャ向けスケーラブル マトリックス拡張機能」. community.arm.com . 2021 年 7 月 14 日. 2021 年7 月 27 日閲覧。
- ^ Weidmann, Martin (2021年9月8日). 「Arm A-Profile Architecture Developments 2021」. community.arm.com . ARM . 2022年9月28日閲覧。
- ^ 「LLVM 15 の新機能 - アーキテクチャとプロセッサのブログ - Arm コミュニティのブログ - Arm コミュニティ」。2023 年 2 月 27 日。2023年4 月 15 日に閲覧。
- ^ 「Arm A-Profile アーキテクチャ開発 2022 - アーキテクチャとプロセッサのブログ - Arm コミュニティブログ - Arm コミュニティ」。community.arm.com。2022年9 月 29 日。2022年12 月 9 日に閲覧。
- ^ 「Arm A-Profile アーキテクチャ開発 2023 - アーキテクチャとプロセッサのブログ - Arm コミュニティのブログ - Arm コミュニティ」。community.arm.com。2023年10 月 5 日。2024年10 月 14 日に閲覧。
- ^ 「Arm A-Profile アーキテクチャ開発 2024 - アーキテクチャとプロセッサのブログ - Arm コミュニティのブログ - Arm コミュニティ」。community.arm.com。2024年10 月 1 日。2024年10 月 14 日に閲覧。
- ^ ab Frumusanu, Andrei (2020年9月3日). 「ARMがCortex-R82を発表: 初の64ビットリアルタイムプロセッサ」AnandTech。
- ^ 「Arm アーキテクチャ リファレンス マニュアル サプリメント - Armv8、Armv8-R AArch64 アーキテクチャ プロファイル用」。Arm Ltd.
- ^ 「Cortex-R82 テクニカル リファレンス マニュアル」。
外部リンク
- Arm開発者
