【Hot Chips 22レポート】
ARM、次期ハイエンドコア「Eagle」の内容を一部公表

Stanford Universityの構内に設けられた、Hot Chips会場への案内板

会期:8月22~24日(現地時間)
会場:米国カリフォルニア州パロアルト
   Stanford University



 高性能チップに関する技術講演会「Hot Chips(A Symposium on High Performance Chips)」が米国カリフォルニア州パロアルトのStanford Universityで開催されている。

 Hot Chipsは、高性能半導体プロセッサの技術内容が最も早く公表される講演会として、半導体プロセッサの開発コミュニティでは非常に評価が高い。過去には、Hot Chipsのほかにマイクロプロセッサの技術講演会「MicroProcessor Forum」がサンノゼで開催されており、一時は組み込みプロセッサを含めて年2回の開催になるなど、MicroProcessor Forumの方がHot Chipsに比べると講演会としては華やかであり、勢いもあった。しかし2005年頃からMicroProcessor Forumは参加者が減少するなど急速に翳りが見え始め、2007年5月をもって休止された。これに対してHot Chipsは変わらずに毎年8月後半にStanford Universityで開催され続けてきた。現在では、高性能プロセッサの開発コミュニティでは孤高の地位を保っているイベントといえよう。

 そのHot Chipsは、今年が第22回の開催となる。初日の8月22日にチュートリアル講演が、続く23日~24日に技術講演が組まれるという例年通りのスケジュールだ。

 すでにゲームコンソール「Xbox 360」の新型機に搭載された高性能プロセッサ「XCGPU」に関する講演内容を後藤氏が報じているように、ゲームコンソールやハイエンドPCなどに向けた高性能プロセッサに関する講演は、後藤氏がレポートする予定である。本レポートでは、組み込み分野に向けた高性能プロセッサ技術に関する講演の概要を紹介していこう。

●仮想化の支援機構を実装

 23日の午後には、英国のプロセッサコア・ベンダーARMによる講演があった。ARMは現在、32bitアプリケーション・プロセッサコア「Cortex-Aシリーズ」の後継となるプロセッサ・コアを開発中である。開発コード名は「Eagle(イーグル)」。現行のハイエンドコア「Cortex-A9」を超える高性能プロセッサコアとして登場する予定だ。8月9日には大手半導体ベンダーのTexas Instruments(TI)が、Eagleのコアライセンスを購入した最初の顧客であることをリリース発表した

 ARMによるEagleの正式なリリースは2010年の後半だとされる。リリースのタイミングとして最も有力なのは、2010年11月にARMが米国カリフォルニア州のシリコンバレーで主催する予定の開発エンジニア向け講演会だろう。

 8月23日のHot Chips 22で公表されたのは、Eagleを含めた次期アプリケーション・プロセッサコアの命令アーキテクチャで、Cortex-Aシリーズの命令アーキテクチャ「ARMv7-A」の拡張板となる。講演者はARMでArchitecture Program ManagerをつとめるDavid Brash氏である。

 Eagleに向けたARMv7-Aの変更点は大きく2つある。1つは、仮想化支援機能を組み込んだこと、もう1つは、物理アドレスを最大40bitに拡張したことだ。

 仮想化支援機能は、Windows PCやMacなどのマイクロプロセッサでは標準的に実装されている。ハードウェアであるマイクロプロセッサがソフトウェアによる仮想化を支援することで、複数個のOSとアプリケーション群のセットが同時並行に動作するシステムの開発が容易になる。

 ARMコアのハイエンド版はこれまで、スーパースカラー、アウト・オブ・オーダー、マルチプロセッシングなどの高性能化技術を組み込むことで、PC用プロセッサにどんどん近付いてきた。命令セットアーキテクチャのARMv7-Aは2007年にマルチプロセッシングへの対応がなされており、今回の機能拡張は2007年以来の大きな変更であり、PC用プロセッサにさらに近付いたと言える。

 なおARMは、ARMv7-Aをマルチプロセッサ対応に拡張したときに、パラバーチャライゼーション(準仮想化)と呼ぶ仮想化支援機能を用意していた。このときは仮想化に対応するように修正を加えたOSを搭載する必要があり、組み込み機器向けの仮想化支援機能としては当時は十分だったものの、スマートフォンやスレートPCなどがさらに発展しようとしている今では、不十分なものになってきた。

ARMv7-Aの機能拡張における主要な変更点仮想化していないシステム(左)と仮想化したシステム(右)の違い。仮想化したシステムでは、仮想マシンモニターあるいはハイパーバイザーと呼ばれるプラットフォームの上で複数のOSとそのアプリケーション群のセット(仮想マシン)が動く

 講演では、ハイパーバイザーが動作する「Hypeモード」を用意したほか、セキュリティモードとノンセキュアモードで例外処理を階層的に実行することが示された。

ARMv7-Aに組み込まれる仮想化支援機能の概要ハイパーバイザーによるサポートの概要例外処理の階層。例外処理(Hypモード)から戻るための命令「ERET」を新たに設けている

●物理アドレスを最大40bitに拡張

 もう1つの大きな変更点である物理アドレスの拡張は、LPAE(Large Physical Address Extension)と呼称している。最大で40bitの物理アドレスを与えることで、システムメモリやI/Oなどにおける32bitアドレスの制限(アドレス空間4GBの制限)を取り除くことが目的だ。スマートフォンやスレートPCなどが搭載するシステムメモリの容量は増え続けており、近未来を想定すると妥当な拡張と言えよう。

 仮想化により、論理アドレスから物理アドレスへの変換は2段階で進むことになる。最初の段階は、ゲストOSによる仮想論理アドレス(VA)から物理アドレスへの変換である。システム全体からみると、この物理アドレスは中間的な物理アドレス(IPA)に相当する。次の段階は、ハイパーバイザーによるIPAから物理アドレス(PA)への変換である。この変換は「Hypeモード」で実行する。

 このほか仮想化支援機能の搭載に伴い、割り込みコントローラ、タイマー、MMUを仮想化に対応させた。

論理アドレスから物理アドレスへの変換仮想論理アドレス(VA)から中間的な物理アドレス(IPA)への変換中間的な物理アドレス(IPA)から物理アドレス(PA)への変換
ARMv7-Aの割り込みコントローラ「GIC(Generic Interrupt Controller)」。今回の拡張で、仮想化に対応した割り込みコントローラ(GICv2)の動作。上半分(薄い紫色)が従来のコントローラ(GICv1)による動作。下半分(濃い青色)が今回、拡張された部分

●ARMサーバーは実現するか

 講演のまとめでは、ARMv7-Aの機能拡張版を実装したプロセッサ・コア(Eagleなど)に期待される応用分野が示された。リアルタイムOSとアプリケーションOSを混載したスマートフォンは当然のごとく、応用分野となっている。スマートフォン以外の高機能モバイル機器にも応用できそうだ。

講演のまとめとなるスライド

 そして興味深いことに、ローエンドの低消費電力サーバーが候補に挙がっていた。サーバーが応用対象になるとは、ARMコアの性能向上もここまできたか、という感が強い。

 ただし、既存のサーバー用プロセッサを超える性能がEagleを始めとするARMv7-A拡張のプロセッサ・コアで実現するとは考えにくい。商機があるとすれば、消費電力だろう。演算性能当たりの消費電力では既存のサーバー用プロセッサに比べて優れていると考えられるからだ。ARMサーバーが本当に誕生するのか。先が楽しみである。

(2010年 8月 25日)

[Reported by 福田 昭]