SSD、稼働32,768時間超えでデータ喪失。Architecture)である「Armv9」がじょじょに姿を現しつつある。Armは現在のISA「Armv8」を段階的に拡張しつつあり、最終的に拡張の集大成がArmv9への橋渡しとなると見られる。Armv9については、あるCPU業界関係者は、セキュリティ拡張がもっとも重要な鍵となると語っていた。ArmはArmv8.3以降の段階拡張では、セキュリティにフォーカスしており、Armv9に向けたステップと見られる。セキュリティ拡張にフォーカスするArmアーキテクチャクライアントでもセキュリティを重要と位置づけるArmの命令セットアーキテクチャの進化は、現在のIT業界にとって極めて重要だ。それは、高性能CPUの命令セットアーキテクチャが、x86/x64系とArm系の2系統でほぼ独占されてしまっているからだ。モバイルや組み込みでは、Armが最大勢力。SoCのKryoコアも、CPUコアはArmの命令セットに準拠している。Armの命令セットアーキテクチャの変革は、多くのコンピューティングデバイスに影響する。ISAを64-bit化すると同時に、アーキテクチャを劇的に切り替えた。スマートで整理された64bitアーキテクチャのAArch64で、ISAの仕切り直しをして、再スタートを切った。Armv8のベースの上に、Armは現在拡張命令を積み上げつつある。拡張は、仮想化やRASなどサーバー向けのシステム的な拡張、深層学習向けの演算拡張、そしてセキュリティ拡張の3つの方向となっている。Armv8-Aプロファイルアーキテクチャの拡張さらに、Armは今後のCPUアーキテクチャ拡張の方向性も示した。CPUコア数のスケーリングのためにトランザクショナルメモリを導入、車載向けにファンクショナルセーフィティ機能を付加、深層学習ではマトリックス演算をサポート、ベクタ演算では一部市場向けにベクタを256-bitに拡張して行く。256-bit化の概要などはまだ明らかにされていない。8-bitドット積に加えてマトリックス演算ユニットをCPUコアに統合するマトリックス演算ユニットによってディープラーニング向けのマトリックス演算の性能が2倍にインフラストラクチャに向けた拡張また、Armからライセンスを受けた顧客がカスタム命令をArm命令セットに組み込むことも可能にする。カスタム命令は組み込み向けのCortex-Mからスタートするが、リアルタイム向けのCortex-Rや、コンピューティング向けのCortex-Aへの展開も視野に入れている。ArmはCPUの命令セットアーキテクチャの分断を防ぐために、これまで、ライセンシーによるカスタム命令の追加を認めてこなかった。Cortex-Aクラスでのカスタム命令は、分断を起こさないように注意深く進めるという。顧客カスタム命令の導入は、顧客のカスタム命令を認めるRISC-V命令セットアーキテクチャへの対抗の意図がある。CPUの現在の命令セットアーキテクチャは8世代目となる「Armv8」。同じArmv8名がついていても、CPUのプロファイル別に3種類のISA系列に分かれている。高性能CPUである「Cortex-A」ファミリ向けが「Armv8-A」、リアルタイムCPU「Cortex-R」ファミリ向けが「Armv8-R」、組み込みMCU「Cortex-M」ファミリ向けが「Armv8-M」だ。プロファイルごとに命令セットは異なる。命令セットにはマイナーバージョンアップがある。高性能CPU向けのArmv8-Aも、小数点以下のバージョンを重ねている。Armv8.1-Aからはじまり、毎年「.1」ずつ小数点バージョンが上がり、現在はArmv8.6-Aが発表されている。Armv8.6-Aが2019年のISA拡張、Armv8.5-Aが2018年、Armv8.4-Aが2017年といったペースだ。従来、ArmのISAは、新小数点バージョンが登場すると、ほぼ同期してArm自身のCPUコアIPに新小数点バージョンが追加されていた。現在はそうなっていない。ArmのハイエンドCPUコアIPである「Cortex-A77」のISAバージョンはArmv8.2-Aとなっている。次期コアである「Hercules」もArmv8.2-Aだ。じつは、2015年のArmv8.2-Aから、CPUコアIPのISAバージョンが上がっていない。アーキテクチャルライセンスを受けたライセンシが開発した独自設計のArmv8系CPUコアも似たような状況で、QualcommのKryo系も含めてほとんどがArmv8.2-A止まり。Apple系のCPUコアが、かろうじてArmv8.3-Aだ。過去数年のArmv8.xは、発表はされているが、CPUにフル実装はされていない。これには、複雑な事情がある。ISAバージョンと、CPUの実装ISAバージョン名の関係がある。各Armv8.x世代のISAバージョンには、複数の機能が含まれている。ISAでは、特定世代の機能をすべて備えた場合に、初めてそのバージョンに準拠と名乗ることができる。