ARMは2011年10月、64ビットの命令セットを含む次世代のプロセッサアーキテクチャ「ARMv8」を発表した。既に発表されているアプリケーション処理用のプロセッサコア「Cortex-A9」や「Cortex-A15」などのベースとなっている32ビットのプロセッサアーキテクチャ「ARMv7」との互換性を維持しながら、64ビット処理に対応するための機能拡張が施されている。同社は、ARMv8の投入のより、IntelやAMD(Advanced Micro Devices)などx86アーキテクチャベースのプロセッサが広く利用されているサーバー機器市場での展開を本格化させる。
今回の発表では、アプリケーション処理用のプロセッサアーキテクチャである「ARMv8-A」について説明している。ARMv8-Aは、基本的に2つの実行ステートに分かれる(図1)。1つは、ARMv7のアプリケーション処理用プロセッサアーキテクチャである「ARMv7-A」、拡張SIMD(Single Instruction Multiple Data)エンジン「NEON」、セキュリティ技術「TrustZone」、Cortex-A15から導入している仮想化技術など、ARMの既存の命令セットや技術をサポートする「AArch32」である。そして、もう1つの「AArch64」で、64ビットの命令セット「A64」を導入している。A64は、命令長が32ビットであるため、32ビットの命令セットをサポートするAArch32と一定の互換性を持つ。レジスタは、64ビットの汎用レジスタを31個、128ビットのメディアレジスタを32個備える。また、内蔵の拡張SIMD命令セットにより倍精度やIEEE 754に準拠した浮動小数点計算を行える。さらに、命令セットレベルでの暗号化に対応している。サポートする暗号化形式は、AES(Advanced Encryption Standard)、SHA(Secure Hash Algorithm)-1、SHA-256である。
AArch64は、この他、EL0〜EL3まで4段階の例外処理を導入している。物理アドレス空間は、Cortex-A15から導入したLPAE(Large Physical Address Extension)によりそれまでの32ビットから40ビットまで拡大されていた、今回は48ビットまで広げている。物理アドレス空間が48ビットになることから、容量で256テラバイトまでのメモリーを利用できることになる。
ARMは、2007年から64ビット命令セットの開発を開始していた。同社は、「ARMv8はARMの歴史の中でも最も大きなアーキテクチャの変更になる」と述べている。なお、ARMv7の後継となる32ビットプロセッサアーキテクチャの開発については、「ARMv8のAArch32の機能強化を図る中で進めて行く」としている。
ARMv8の発表により、ARMが、サーバー機器などで広く利用されている64ビットOSに対応可能なプロセッサアーキテクチャの開発を着々と進めていたことが明らかになった。またARMv8の発表と同日には、Applied Micro Circuits(AMCC)がARMv8ベースの64ビットプロセッサ「X-Gene」を発表している。X-Geneは、動作周波数が3GHzの4コア構成で、伝送速度が80ギガバイト/秒の入出力回路を備える。2012年1月にはエミュレータ上での動作デモが可能になり、2012年後半にはサンプルを出荷する予定だ(「EDN Tech Clips」の「Editorial Clips」からX-Geneのデモを撮影した映像を閲覧できる)。
さらに、スーパーコンピュータなど向けのハイエンドプロセッサ製品「Project Denver」にARMコアを用いることを検討していたNVIDIAも有力なライセンシー企業となりそうだ。同社は、AMCC、Microsoftとともに、ARMv8のリーディングパートナーとなっていることから、Project DenverがARMv8ベースのものになる可能性は高い。加えて、Hewlett-Packardが、CalxedaのARMベースプロセッサをサーバー機器に採用することを検討しているという報道もある。
ARMv8の詳細な仕様は2012年の後半に公開される予定だ。
(朴 尚洙)
Copyright © ITmedia, Inc. All Rights Reserved.