ニュース

Arm、「Armv9」を発表 理研の「富岳」にも採用されたSVEの第2世代を含む新世代CPU命令セット

データシートに書かれているArmv9の概要

Armv9

 Armは3月30日(現地時間)、「Arm Vision Day」というオンラインイベントの中でCPU命令セットの最新版となる「Armv9」(アームヴィナイン)を発表したことを明らかにした。Armv9は、現在スマートフォンや車載半導体などで利用されているArm CPUの命令セット「Armv8」(アームヴィエイト)の後継となるもので、Armv8と下位互換性を確保しながら新しい命令に対応していることが最大の特徴となる。

 富士通が開発した理化学研究所のスーパーコンピュータ「富岳」向けに採用されている「A64FX」に採用されているArmv8の拡張命令セット「SVE(Scalable Vector Extension)」の後継となるSVE2や、「Arm Confidential Compute Architecture」などの強化されたセキュリティ機能などを含んでおり、より高性能でかつ安全なコンピューティング環境を実現することが可能になる。

Armv8と下位互換性を確保しているArmv9

Arm Vision Dayの中で講演するArm CEO サイモン・シガース氏

 Armv9は、2011年にArmが発表したArmv8の後継となる新しいArmアーキテクチャに基づいたCPUの命令セット。命令セットとは、OSやアプリケーションなどのソフトウェアがCPUに対して処理を命令するときに利用される「手順書」で、ソフトウェアとCPUはその「手順書」に基づいてやりとりを行なう。

 ArmのArmアーキテクチャのほか、PCで一般的に利用されているIntelのx86アーキテクチャなどが知られている。CPUとアプリケーションは同じ命令セットでやりとりをしなければならないため、アプリケーションの互換性を長期間にわたって確保するため、CPUの命令セットは重要な役割を果たしている。

 Armv8はAppleのiPhoneなどに採用されているAシリーズ・プロセッサ、Androidスマートフォンなどに採用されているQualcommのSnapdragonシリーズなどに採用されているほか、車載情報システム(IVI)や自動運転向けに提供されているSoC(System on a Chip)のCPUの命令セットとしても利用されており、現在最も広範囲に利用されている命令セットになっている。

Arm命令セットの進化の歴史

 Armでは命令セットを世代名で管理しており、第6世代をArmv6、第7世代をArmv7、第8世代をArmv8と呼んできたが、今回発表されたのはその第9世代となるArmv9になる。Armv9は、Armv8の機能を全て包含しており、Armv8の命令セットはすべてArmv9のCPU上で実行できるという下位互換性(より上位の製品が下位の製品が持っている機能をすべてもっていること)を備えている。このため、Armv8向けに書かれているソフトウェアは、Armv9に対応したCPU上でそのまま実行することができる。

富岳の「A64FX」で採用されているSVEを発展させたSVE2への対応など

Armv8の次バージョンとして提供されるArmv9

 2011年に導入されたArmv8では、新しい機能として64bit機能が追加された。従来のArmv7では32bitになっていたのと比較すると、一度に扱えるデータ量が大幅に増え、性能を向上させることが可能になった。

 今回導入されたArmv9では、64bitのCPUという点ではArmv8と同等で大きな違いはない。しかし、いくつかの機能が拡張されており、それにより性能を向上させることが可能になる。

マシンラーニング向けの機能強化
SVE2の導入

 最大の強化点は第2世代のSVE(Scalable Vector Extension)となるSVE2に対応していることだ。初代のSVEは理化学研究所の富岳向けに富士通が開発したArmアーキテクチャのCPU「A64FX」に採用されている拡張命令セットで、整数演算や浮動小数点演算をまとめて行列として1度に処理することでCPU全体の性能を向上させる仕組み。

 SVE2ではそれをさらに強化することで、マシンラーニング(機械学習)やDSP(デジタル信号処理)をより高速に行なうことが可能になる。それにより、Armv9を採用したCPUを利用して、マシンラーニングやディープラーニングを利用したAIの性能を向上させることが狙いとなる。

CPUのハードウェアを利用してセキュリティを確保するCCA

 Arm Confidential Compute Architecture(CCA)では、OSなどにハードウェアベースのセキュア機能を提供する。これにより、悪意のあるソフトウェアがOSやデータなどを改ざんしようとしても、改ざんを実行不可能なハードウェアで保護することにより改ざんできないようにする。

 CPUだけでなく、メモリコントローラなどの周辺部分とやりとりの最適化が必要になっており、具体的な手法として「Total Compute」と呼ばれる仕組みを導入する。CPUだけでなく周辺部分の最適化を進めることで、SoC全体の性能向上を目指す。

次の2世代の間に30%の性能向上を実現する計画

 Armはこうした命令セットを利用しているCPUの設計書(IPデザイン)を「Cortex」のブランド名で半導体メーカーなどにライセンス提供している。Armによれば、次の2世代のモバイル向けCPUの間に、30%以上向上させる計画をもっているとのこと。

 現時点ではArmv9を採用したCortexシリーズのCPUは未発表であるが、Armv9に対応した製品は何らかの形で年内には発表されるだろうという見通しを明らかにしており、次世代のCortexなどがArmv9対応となる可能性は高いと言える。

 Armv8でもスマートフォンや自動運転、IVIなど向けのArmv8-A、RTOS向けのArmv8-R、IoT向けのArmv8-Mなど、同社がプロファイルと呼ぶターゲット市場別のバリエーションに分けて展開していたが、Armv9でも同様にA、R、Mなどのプロファイルが用意される予定だ。詳細は明らかにされておらず、今後徐々に公開されていく。