後藤弘茂のWeekly海外ニュース

Intelの2つの新技術
「LaGrande」と「Vanderpool」の関係




●兄弟関係にあるLaGrandeとVanderpool

 Intelは久々にCPUの動作モードに変更を加えようとしている。つまり、Intel 386以来、10数年振りに、根幹部分である動作モードを根底から拡張しようとしている。その目的は、ハードウェアのセキュア化と仮想化であり、2つの新技術「LaGrande(ラグランド)」と「Vanderpool(バンダプール)」という姿で登場する。

 LaGrandeは、PCにハードウェアベースのセキュリティを加えるアプローチ。その中核となるのは、CPUへの新たなセキュアモードの追加だ。一方、VanderpoolはPCハードウェアを仮想化するアプローチ。1つのPCを複数の仮想マシンに見せかけ、複数のOSを並列に走らせることができるようにする。

 一見異なる目的の異なる技術のように見えるが、LaGrandeとVanderpoolは、技術的には、ちょうど兄弟のような関係にある。

 「VanderpoolとLaGrandeは異なる技術だが、しかし、水面下のメカニズムは共有している。LaGrandeをイネーブル(有効)にするためにCPUに搭載した機能のいくつかは、Vanderpoolのために使える。実際のところLaGrandeは、Vanderpoolをシンプルにした技術だと考えてもいいだろう」とIntelのPatrick P. Gelsinger(パット・ゲルシンガー)CTO兼上級副社長(CTO & Senior Vice President)は、9月のIntel Developer Forum(IDF)で答えている。

 Intelは、次のCPU「Prescott(プレスコット)」にLaGrandeを実装(イネーブルしない可能性が高い)、その後のCPUにVanderpoolを実装すると見られている。つまり、まずVanderpoolの前哨として、類似のメカニズムを使うLaGrandeがやってくるというわけだ。

 「Vanderpoolは、より広いレンジの問題を解決するための、より汎用化されたソリューションだ。それに対してLaGrandeは、(Vanderpoolの)汎用化された機能性のサブセットとなっている。つまり、特定用途向けの限られた機能のLaGrandeを、まず市場に投入するわけだ。そのため、Vanderpoolが登場する前の段階から、Vanderpoolのための機能のいくつかは実装されていることになる。そして、時が経つにつれて、それらのメカニズムを汎用化して、完全にVanderpoolのための機能を備えるようにする」とGelsinger氏はLaGrandeからVanderpoolまでの道程を説明する。

 では、どうしてLaGrandeを先行させたのか。その理由は、必要性が高かったからだという。

 「我々は市場を見て、その結果、まず、信頼性(trustworthiness)とセキュリティにフォーカスすることを選んだ。LaGrandeは、MicrosoftのNext-Generation Secure Computing Base (NGSCB:Longhornのハードウェアベースセキュリティアーキテクチャ)と協調するだろう」(Gelsinger氏)。

 実際に、これはMicrosoftのスケジュールと密接に関連する。Microsoftは、ハードウェアベースのセキュリティ機能であるNGSCB(コードネームPalladium)を、次世代Windows「Longhorn(ロングホーン)」に実装する。Longhornは2005~2006年に登場するが、少なくとも動作検証のために、Longhornのβ版の時期にはNGSCB対応CPUを提供しなければならない。そのため、IntelはNGSCBに対応するLaGrandeを急いだと見られる。

●新モードをCPUに規定するNGSCB

 では、VanderpoolとLaGrandeの共有するメカニズムとはどうなっているのだろう。これは、じつはある程度推測できる。LaGrande/NGSCBのメカニズムがわかっているからだ。

 下が、MicrosoftのNGSCBのアーキテクチャ図「NGSCB Quadrants」だ。これを見るとわかる通り、従来のCPUの動作モードである「Standard-mode」(図では左側)に加えて、NGSCBでは新しいCPUモード「Nexus-mode(ネクサスモード)」を規定している。

 Nexus-modeは、Standard-modeとは分離されており、Nexus-modeでしかアクセスできないメモリ空間を持つ。通常モードのプログラムからは、Nexus-modeのカーネルモード(RING 3)とユーザーモード(RING 3)のメモリ空間にはどちらもアクセスができない(またはリードオンリのアクセスしかできない)。つまり、CPUには、このNexus-modeの実装が求められるわけだ。

NGSCBのアーキテクチャ図

 Microsoftは、この新CPUモードに対応したOSコンポーネントを提供する。ベースになるのはNexus-modeのカーネルモードで動作する、OSのサブカーネル「Nexus」と、「Nexus Manager Abstraction Layer (NMAL)」と呼ばれるHAL(Hardware Abstraction Layer)のNexus版だ。このNexusの上に、Nexus-modeのユーザーモードで走るライブラリ群とNGSCB対応アプリケーション「Trusted Agent」がある。

 このNexus-modeがOS側から見た、NGSCB対応CPUの実装だ。

 では、これをハードウェア側から見るとどうなるか。下の図がIntelのLaGrandeアーキテクチャ図だ。こうして見ると、LaGrandeとNGSCBは、RING 0から上はそっくりなのがよくわかる。

LaGrandeのアーキテクチャ図
(クリックすると1,024×768ピクセルの画像を別ウィンドウで表示します)

 LaGrandeのProtected modeは、NGSCBでのNexus-modeと対応する。カーネルモード(RING 0)レイヤーを見ると、LaGrandeのProtected modeのOSカーネルとして、Microsoftが提供するのがNGSCBのNexusだ。ユーザーモード(RING 3)を見ると、LaGrandeのProtected modeのアプレットは、NGSCBのTrusted Agentとなる。

 もちろん、両技術はそれぞれ排他的に結びついているわけではない。LaGrandeはもちろんMicrosoft以外のOSも、この技術の上でサポートする方向へ向かうだろう。一方、Microsoftは、AMDのNGSCB実装にも対応すると見られる。

●LaGrandeのRING -1をVanderpoolも利用?

 そして、この図では、RING 0の下に、さらに水面下のメカニズムとして「Domain Manager」と呼ばれるソフトウェアが存在することがわかる。従来のIA-32 CPUには4段階の特権レベルがあり、特権レベルの高いRING 0は通常OSのカーネルに、特権レベルの最も低いRING 3がアプリケーション用のユーザーモードとして使われる。Domain Managerの動作モードはその4階層の下の新しい特権モードとなる。

 「LaGrandeでは新しいモードが加わる。私は、このモードを『RING -1』と考えたい。RING 0より特権レベルの高いモードだ。他のモードからは、RING -1モードを覗いたり、(RING -1の使っている)メモリにアクセスできない」とGelsinger氏は説明する。

 このRING -1モード(仮称)に付帯して、新しいメモリ保護モードも加わる。下の図のブルーの部分が保護メモリ空間となり、Standard-mode側からはアクセスができない。

 「LaGrandeではCPUが、セキュアな仮想メモリを持つ。仮想的なアドレスピンがあって、それがTLB(Translation Lookaside Buffer)等の中で適切に(物理メモリアドレスに)トランスレートされると考えればわかりやすいだろう。ページテーブルで保護を行ない、LaGrandeの保護モードの時しかアクセスできないようにする」(Gelsinger氏)

 つまりLaGrandeの正体は、新しい特権レベル「RING -1」とページングによるメモリ保護を追加。そのモードに、ドメイン分割(Domain separation)を行なうマネージャソフトウェアを沈めたものということになる。

 これを今のCPU/OSアーキテクチャと比較したのが下の移行図だ。LaGrande/NGSCB対応ハードの上では、Domain ManagerのRING -1レイヤーが新たに加わっていることがよくわかる。

LaGrandeの新しいメモリ保護モード
(クリックすると1,024×768ピクセルの画像を別ウィンドウで表示します)

 こうしてLaGrandeアーキテクチャを見ていると、Vanderpoolもおぼろげながら見えてくる。それは、おそらく、RING -1にバーチャルマシンマネージャ(VMM:Virtual Machine Manager)ソフトを沈めるアーキテクチャだ。つまり、最下層のRING -1にDomain Managerの代わりに(または加えて)VMMを置き、ハードウェアを仮想化、その上で複数のOSが動作できるようにするわけだ。

 次回のコラムでは、推測されるVanderpoolとMicrosoftの次の戦略「Virtual PC」について説明したい。

□関連記事
【9月17日】【IDF2003】Intel、Itaniumのマルチコア版、Xeonのデュアルコア版のプランを明らかに
http://pc.watch.impress.co.jp/docs/2003/0917/idf01.htm
【10月1日】【本田】Vanderpool Technology、最初の対応プロセッサは1~2年内
http://pc.watch.impress.co.jp/docs/2003/1001/mobile216.htm
【2002年9月10日】【海外】PCアーキテクチャの大変革を目指す「LaGrande」をIntelが発表
http://pc.watch.impress.co.jp/docs/2002/0910/kaigai02.htm

バックナンバー

(2003年11月25日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.