AArch64
[Wikipedia|▼Menu]
この拡張機能は次のカテゴリに分類される[22][23][24]

SHA3/SHA512/SM3/SM4暗号拡張

改善された仮想化サポート

メモリパーティショニングおよびモニタリング(MPAM)機能

新しいセキュアEL2状態とアクティビティモニター

符号付きおよび符号なし整数ドット積(SDOTおよびUDOT)命令

Armv8.5-AおよびArmv9.0-A[25]

2018年9月、Armv8.5-Aが発表された。その拡張機能は次のカテゴリに分類される[26][27]

Memory Tagging Extension(MTE)[28]

「攻撃者が任意のコードを実行する能力」を低減するための分岐ターゲットインジケータ(BTI)

乱数ジェネレーター命令:さまざまな国内および国際規格に準拠した決定論的で真の乱数を提供する

2019年8月2日、GoogleAndroidが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]

仮想メモリシステムアーキテクチャ(VMSA)の機能強化

パーミッションインダイレクトとオーバーレイ

translation hardening

128 ビット変換テーブル(ARMv9 のみ)


Scalable Matrix Extension 2 (SME2) (ARMv9のみ)

マルチベクトル命令

マルチベクトルpredicate

2b/4b のウェイト圧縮

1b バイナリーネットワーク

レンジプリフェッチ


ガード付きコントロールスタック(GCS)(ARMv9のみ)

コンフィデンシャル・コンピューティング

メモリ暗号化コンテクスト

デバイスの割り当て


Armv8-R(リアルタイムアーキテクチャ)

オプションのAArch64サポートがArmv8-Rプロファイルに追加され、最初のARMコアがCortex-R82を実装した[42]。A64命令セットが追加され、メモリバリア命令にいくつかの変更が加えられている[43]
脚注^ “Overview”. Learn the architecture: Understanding the Armv8.x and Armv9.x extensions. 2022年8月24日閲覧。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:33 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef