次期ISA「ARMv8」を公表、64bitコンピューティングを導入へ
「ARM TechCon 2011」の最終日である10月27日(現地時間)、ARMコアの次期命令セットアーキテクチャ(ISA:Instruction Set Architecture)「ARMv8」が公表された。
現行世代のISAは「ARMv7」である。ARMv7アーキテクチャにはアプリケーション処理CPU向けの「ARMv7-A」、リアルタイム制御CPU向けの「ARMv7-R」、マイクロコントローラ(マイコン)CPU向けの「ARMv7-M」があり、それぞれ「Cortex-Aシリーズ」、「Cortex-Rシリーズ」、「Cortex-Mシリーズ」のCPUコアに対応する。
ARM TechCon 2011で公表されたARMv8 ISAは、ARMv7の3種類のアーキテクチャすべてではなく、アプリケーション処理CPU向けアーキテクチャ「ARMv7-A」の後継となる。正確には「ARMv8-A」と表記される。
「ARMv8-A」と「ARMv7-A」の最も大きな違いは、64bitコンピューティングに対応したことだ。64bit実行モードの「AArch64」と32bit実行モードの「AArch32」がある。64bit実行モードの「AArch64」は、新たに開発した命令セット「A64」の下で動く。32bit実行モードの「AArch32」は、ARMv7-Aアーキテクチャとの互換性を有する。
ARMv8を実装したCPUコアやプロセッサなどの詳しい情報は、2012年後半に明らかになる予定である。ISAはすでに完成しており、ARM社はライセンス供与を始めている。システムの試作品が登場するのは、2014年になる見通しだ。
●64bit化を視野に入れていたARMv7-Aのアーキテクチャ拡張
ARM社がCPUの新たなISAを発表したのは2004年10月の「ARMv7」以来、7年振りである。さらに前の世代のISA「ARMv6」を同社が発表したのが2001年10月なので、ARMv6とARMv7の間は3年と短かった。これに比べると、ARMv7とARMv8の間は、かなり長い。
ただしこの間、ARMv7-Aアーキテクチャは少なくとも2回ほど、大掛かりな拡張を実施してきた。最初の拡張は2007年のマルチコア対応である。次の拡張は2010年であり、仮想化支援機構の搭載と物理アドレスの40bit化が公表された。現在のところ、Cortex-A15(開発コード名:Eagle)とCortex-A7(開発コード名:Kingfisher)が2010年の拡張に対応したCPUコアである。
27日午後2時からの技術講演では、ARMv8-Aの64bitモード「AArch64」とその命令セット「A64」の開発は、2007年に始められたことが明らかになった。このことから、2007年以前からARM社は64bit化を検討していたこと、2010年のARMv7-A拡張は、64bitアーキテクチャの登場を前提とした拡張であったことが分かる。
また64bitモード「AArch64」の構成要素である、新命令セット「A64」、例外処理機構、セキュリティ機能、仮想化支援機構、メモリ空間の変換機構などの概要が27日午後2時からの技術講演で説明された。
その内容をまとめると、命令長は32bitの固定長、物理アドレス空間は最大48bit、レジスタは64bitの汎用レジスタが31本と128bitのメディアレジスタが32本、倍精度浮動小数点演算をサポート、例外処理の優先度は4段階、ページサイズは4KBと64KBの2種類をサポート、などである。
●ARMv8を採用したサーバー用プロセッサが2012年に登場
ARMv8を採用する半導体ベンダーをARMは公式にはアナウンスしなかったものの、ARMv8の発表と同じ27日に、半導体ベンダーのApplied Micro Circuits社(AMCC)がARMv8-Aアーキテクチャを採用したサーバー用64bitプロセッサ「X-Gene」を開発すると公式に発表した。
ARMv8-Aアーキテクチャにおける32bitモード「AArch32」の強化 |
AMCCの発表によると、「X-Gene」の最大動作周波数は3GHz、待機時消費電力は300mW未満。ARMv8-AアーキテクチャのCPUコアを複数個、内蔵する。10GbpsのLANコントローラやストレージ用物理層IP、WAN用物理層IP、100Gbpsのマルチプロセッサ用ソケットなども搭載する。シリコンダイは台湾TSMCが40nmプロセスおよび28nmプロセスで製造する。製造開始時期は2012年の後半を予定している。
またARMが27日に公表した報道機関向けのリリースには、AMCCのほか、MicrosoftとNVIDIAがコメントを寄せている。このことから、Microsoftは64bit OSのサポートで、NVIDIAはプロセッサの開発で、それぞれARMv8-Aと関わるとみられる。
サーバーの世界はすでに64bitコンピューティングが主体であり、ARMプロセッサがサーバー市場に進出するためには64bit化が必須であることは理解しやすい。注意すべきなのは、ARMv8-Aアーキテクチャは32bitコンピューティングを内包しており、その進化を継続していくとしていることだ。
ARMv8-Aからは、64bitプロセッサと32bitプロセッサの両方が誕生する。その詳細は早ければ、2012年に明らかになるだろう。
(2011年 10月 31日)
[Reported by 福田 昭]