2018年9月、Armv8.5-Aが発表された。その拡張機能は次のカテゴリに分類される[26][27]。
Memory Tagging Extension(MTE)[28]
「攻撃者が任意のコードを実行する能力」を低減するための分岐ターゲットインジケータ(BTI)
乱数ジェネレーター命令:さまざまな国内および国際規格に準拠した決定論的で真の乱数を提供する
2019年8月2日、GoogleはAndroidがMemory Tagging Extension(MTE)を採用すると発表した。[29]
2021年3月、Armv9-Aが発表された。Armv9-Aのベースラインは、Armv8.5のすべての機能である[30][31][32]。Armv9-Aは以下も追加している。
スケーラブルベクターエクステンション2(SVE2)。SVE2は、SVEのスケーラブルなベクトル化に基づいて構築されており、細粒度のデータレベル並列処理(DLP)を向上させ、命令ごとにより多くの作業を実行できる。SVE2は、現在Neonを使用しているDSPやマルチメディアSIMDコードなど、幅広いソフトウェアにこれらのメリットをもたらすことを目的とする[33]。LLVM/Clang 9.0およびGCC 10.0開発コードは、SVE2をサポートするように更新された[33][34]。
トランザクションメモリ拡張(TME)。x86拡張機能に続いて、TMEはハードウェアトランザクションメモリ(HTM)とトランザクションロックエリジオン(TLE)のサポートを提供する。TMEは、スケーラブルな同時実行性を実現して、粗粒度のスレッドレベル並列処理(TLP)を向上させ、スレッドごとにより多くの作業を実行できるようにすることを目的としている[33]。LLVM/Clang 9.0およびGCC 10.0開発コードは、TMEをサポートするように更新された[34]。
機密コンピューティングアーキテクチャ(CCA)[35][36]
Armv8.6-AおよびArmv9.1-A[25]
2019年9月、Armv8.6-Aが発表された。その拡張機能は次のカテゴリに分類される[37]。
一般的な行列積(GEMM)
bfloat16フォーマットのサポート
SIMD行列操作命令、BFDOT、BFMMLA、BFMLAL、およびBFCVT
仮想化、システム管理、およびセキュリティの強化
次の拡張機能(LLVM 11ではすでにこれらの機能のサポートを追加済み[38]):
拡張カウンター仮想化(Armv8.6-ECV)
ファイングレイントラップ(Armv8.6-FGT)
アクティビティモニターの仮想化(Armv8.6-AMU)
たとえば、きめ細かいトラップ、Wait-for-Event(WFE)命令、EnhancedPAC2、FPACなどがある。SVEおよびNEONのBfloat16拡張機能は、主に深層学習で使用するためのものである[39]。
Armv8.7-AおよびArmv9.2-A[25]
2020年9月、Armv8.7-Aが発表された。
スケーラブルマトリックス拡張(SME)(Armv9.2のみ)[40]。SMEは行列を効率的に処理するために、次のような新機能を追加する。
行列タイルストレージ
オンザフライの行列転置
タイルベクトルのロード/保存/挿入/抽出
SVEベクトルの行列外積
「ストリーミングモード」SVE
PCIeホットプラグの拡張サポート(AArch64)
アトミックな64バイトロード/ストアでのアクセラレータへのアクセス(AArch64)
タイムアウト指定付きのWait For Instruction(WFI)およびWait For Event(WFE)(AArch64)
分岐レコードの記録(Armv9.2のみ)
Armv8.8-AおよびArmv9.3-A[25]
2021年9月、Armv8.8-AおよびArmv9.3-Aが発表された。
マスク不可能な割り込み(AArch64)
memcpy()およびmemset()スタイルの操作を最適化する命令(AArch64)
PACへの拡張機能(AArch64)
ヒント付き条件分岐(AArch64)
Armv8.9-AおよびArmv9.4-A[25]
2022年9月、ARMv8.9-AとARMv9.4-Aを発表。[41] オプションのAArch64サポートがArmv8-Rプロファイルに追加され、最初のARMコアがCortex-R82を実装した[42]。A64命令セットが追加され、メモリバリア命令にいくつかの変更が加えられている[43]。
仮想メモリシステムアーキテクチャ(VMSA)の機能強化
パーミッションインダイレクトとオーバーレイ
translation hardening
128 ビット変換テーブル(ARMv9 のみ)
Scalable Matrix Extension 2 (SME2) (ARMv9のみ)
マルチベクトル命令
マルチベクトルpredicate
2b/4b のウェイト圧縮
1b バイナリーネットワーク
レンジプリフェッチ
ガード付きコントロールスタック(GCS)(ARMv9のみ)
コンフィデンシャル・コンピューティング
メモリ暗号化コンテクスト
デバイスの割り当て
Armv8-R(リアルタイムアーキテクチャ)
脚注^ “Overview