笠原一輝のユビキタス情報局

見えてきたSilverthorneプロセッサの超低消費電力の秘密




 以前の記事では、Intelが来年(2008年)にリリースを予定している、低消費電力のプラットフォーム“Menlow”に関する最新情報をお伝えしたが、その後の取材でMenlowのプロセッサであるSilverthorneのさらなる詳細がわかってきたので、お伝えしていきたい。

 徐々に姿を現しつつある、Silverthorneプロセッサの正体は、In-Order実行型のシンプルな構造を採用した、P6以前のマイクロアーキテクチャに先祖返りしたような、最新のプロセッサとしてはユニークなものだったのだ。

●In-Order実行型のマイクロアーキテクチャを採用するSilverthorne

In-Order実行を採用したシンプルなアーキテクチャを採用するSilverthorne(上)、下はチップセットとなるPoulsbo

 以前の記事では、Silverthorneがどのようなマイクロアーキテクチャになるのかは明らかではないと述べたが、その後の取材で詳細も徐々にわかってきた。Intelに近い情報筋によれば、Silverthorneのマイクロアーキテクチャは、P6世代以降のx86プロセッサで一般的に利用してきたOut-of-Order実行型の構造ではなく、よりシンプルなIn-Order実行型のマイクロアーキテクチャである可能性が高いという。

 ここで、あまりCPUの内部構造に詳しくない方のために、In-Order実行とOut-Of-Order実行の違いについて説明しておこう。一般的にCPUは

(1)命令セットを内部命令に解読(デコード)
(2)メモリ(キャッシュ)から必要なデータを読み込んできて内部命令を実行
(3)実行結果をメモリ(キャッシュ)へ書き込む

という順で命令を実行している。これを延々と繰り返して処理を行なっているのだが、実際に処理すべきデータは、お互いに依存したりしているので、ある処理が行なわれるまで、次のデータを読み込むことができないということも発生する。

 例えば、図1のようにA、B、C、D、E、F、G、Hというデータを処理する命令があって、DのデータがE+Fの結果だったとすれば、DのデータというのはEとFという後にある計算が終わらない限り、処理ができないことになる。CPUの演算器は複数備えられているので、E+Fの演算が終わるのを待っていたら、Dの演算をやっている演算器はただただ待っているだけになってしまい、効率的に利用できない。

【図1】In-Order実行とOut-Of-Order実行

 そこで、プログラムに書かれた演算の順序を無視し、Dの演算は後回しにして、先にそのあとの演算を処理する。このように、本来の順序(In-Order)ではなく、順序は不同(Out-Of-Order)でも処理をどんどん進めていくことで、CPU内部の演算器の利用効率を高める実行方式をOut-Of-Order実行と呼んでいるのだ。P6(Pentium Pro/Pentium II/Pentium III)以降のIA32プロセッサではこのOut-Of-Order実行がサポートされている。

●In-Order実行の弱点をHTテクノロジの利用で補うSilverthorne

 演算器の利用効率を高めるという意味では効果があるOut-Of-Order実行だが、実は弱点にもなりうる。それは、Out-Of-Order実行を実現するために、マイクロアーキテクチャ(CPUのハードウェア設計の仕様)が複雑になってしまうことだ。Out-Of-Order実行を実現するためには、今後演算する予定のデータがOut-Of-Orderで順序を入れ替えて実行するデータと相互に依存していないことなどをチェックする必要があるし、依存性がわからなくてもある程度の予測に基づいて投機的に実行するなどの仕組みを導入する必要が出てくる(投機的に実行した演算にデータ依存性があるとわかれば結果は破棄されるため、こうした処理を投機実行などと呼ぶ)。

 それらの仕組みの実装は、CPUのダイサイズの肥大を招き、結果的にそれは消費電力の上昇という形で跳ね返ってくる。読者もよくご存じのように、P6、NetBurst、Coreマイクロアーキテクチャなどは、Out-Of-Order実行が導入される以前の世代に比べて大幅に消費電力が上がってしまっている。

 このため、SilverthorneではIn-Order実行のマイクロアーキテクチャをとり、CPUの構造をよりシンプルにし、実行ユニットの大きさをできるだけコンパクトにして、CPUのダイサイズを抑えるアプローチが採られているのだと推測できる。

 だが、In-Order実行では、前述のようなデータの依存関係が発生した場合、CPUの内部リソースの利用効率が低下し、結果として性能が低下してしまう。

 そこで、Silverthorneでは、HTテクノロジを導入することで、利用効率を高めるようだ。HTテクノロジは、OSから見るとCPUがデュアルコアCPUのように見える技術で、仮想的に複数のスレッドを同時に実行することができるようになる。

 つまり、In-Order実行にすることでCPU内部の構造をシンプルにし、それにより落ち込む内部リソースの利用効率をHTテクノロジを導入することで補う、これがSilverthorneが1.8GHzで2W、900MHzで0.6Wというような圧倒的な低消費電力を実現することができた秘密といえるのではないだろうか。

●マルチメディア系の処理能力はチップセット側の機能で補う

 現代のマイクロプロセッサの常識から言えば、In-Order実行型のマイクロアーキテクチャは非常識とも言えるデザインで、実際Intel社内でもさまざまな議論があったという。

 だが、大事なことはマイクロアーキテクチャがどうなのかということではなく、Intelのアナンド・チャンドラシーカ副社長が言う「性能を落とさずに消費電力だけを削減する」という公約を守ることができているかどうかだ。その線が守れるのであれば、たとえIn-Order実行型のマイクロアーキテクチャであっても、問題ないということになる。

 現時点ではIntelから具体的な情報は伝わってきていないが、情報筋はHTテクノロジを活用した場合、つまりマルチスレッド環境でベンチマークをとると、Silverthorneの最上位SKUのSV版(1.86GHz/2W)は、現行のA110(800MHz)に比べて1.5~1.6倍程度の性能を実現しているほか、MV版(1.1GHz/1W)もA110に匹敵するような性能を実現しているとIntelが説明していると伝える。ただし、シングルスレッドでは、SV版(1.8GHz)がA110と同じぐらい、MV版(1.1GHz)がA100(600MHz)と同じ程度の性能と見積もられているようだ。仮にこの情報が正しいとすれば、一応消費電力を削減しつつ、同じ性能を実現するという公約は守れている可能性が高い。

 もっとも、現在のA110を上回る性能だったとしても、Windows Vistaを快適に利用するというのにはやや遠いと言ってよいかもしれない。そこで、Menlowではチップセット側(Poulsbo)でも性能向上を実現する仕組みを入れている。

 現行のMcCaslinプラットフォームのチップセットであるIntel 945GUで採用されているGPUコアは、Intel 945Gなどと共通のシェーダモデル2.0に対応したGen3.5と呼ばれるGPUコアだ。このGPUコアは、内部構造的にはプログラマブルではなく、固定の演算器を利用したDirectX 9対応の機能を実現している。

 これに対して、Poulsboでは、GM965と同じようなプログラマブルな演算ユニットを利用した、シェーダモデル3.0に対応した新しいGPUエンジンが採用されるという。また、動画のハードウェアデコードエンジンを搭載しており、MPEG-2、MPEG-4 AVC、WMV/VC-1などのデコードをGPU側で行なうことでCPUの負荷率を下げるという工夫が加えられているという。

 現代のPC、特にWindows Vistaを利用する場合には、GPUの性能や動画再生性能が快適性に大きく影響してくる。Vistaでは3Dエンジンを利用してUIの描画が行なわれ、動画再生が利用されるシーンも着実に増えているためだ。Poulsboでは、そこを大きく強化することで、トータルでの性能を向上させるというアプローチが採られている。なお、GPUの効率は向上させるが、GPUの動作周波数はIntel 945GUに比べて下げることになるという。もちろんこれは消費電力のためで、消費電力はIntel 945GUに比べて1/3程度になるという。

 こうした動画のハードウェアデコードの機能は、2009年に予定されているMenlowの後継となる“Moorestown”プラットフォームでも実装されることになる。Moorestownでは、GPUとメモリコントローラはCPU側に統合される。MoorestownのCPUとなるLincroft(リンクロフト)にもこうしたハードウェアによる動画デコード機能は実装される。

【図2】LPIA向けプラットフォームの各世代

●Diamondvilleの開発コードネームで低価格な組み込み用途にも

 IntelはこのSilverthorneコアを、UMPCやMID(Mobile Internet Device)といったモバイル市場向けだけでなく、デスクトップPCや組み込み向けにも投入していく。SilverthorneのデスクトップPC/組み込み向けバージョンが開発コードネームDiamondville(ダイアモンドビル)で呼ばれる製品で、Silverthorneと同じ2008年第2四半期の投入が予定されているという。Diamondvilleは基本的にはSilverthorneコアをデスクトップPC向けとした製品で、Silverthorneの3つのSKUのうち、SV版、つまり1.8GHz版として提供されることになる。

 SilverthorneがPoulsboチップセットとの組み合わせで提供されるのに対して、DiamondvilleはIntel 945GCないしはSiS671との組み合わせで提供される。SiSチップセットとの組み合わせということからもわかるように、Intel唯一のMini-ITXマザーボードとして提供されている「D201GLY」シリーズの後継製品としてリリースされることになる。現在D201GLYには、Celeronがボードに直接実装される形で提供されているが、Diamondvilleに関しても同じような形で提供されることになる。

 このDiamondvilleが搭載されたMini-ITXマザーボードは、IAベースの組み込み用途で利用されることになるだろう。すでにMicrosoftはWindows Home ServerをDSP版としてホワイトボックスへのバンドルやパーツとの組み合わせ販売を行なっているが、Diamondvilleが登場すれば、そうしたWindows Home Server向けのシステムを安価に製造したり、ユーザーが組み立てたりということが可能になるだろう。

 今のところ、IntelはSilverthorneやDiamondvilleの価格を明らかにしていないが、ダイサイズが通常のデスクトップPC向けCPUに比べて圧倒的に小さなSilverthorne/Diamondvilleは安価に製造することが可能で、理屈上はより安価な価格設定が可能になるだけに、十分期待できるのではないだろうか。

□関連記事
【10月18日】【笠原】見えてきたSilverthorneの姿
http://pc.watch.impress.co.jp/docs/2007/1018/ubiq203.htm
【4月25日】【笠原】2008年のMenlowプラットフォーム
http://pc.watch.impress.co.jp/docs/2007/0425/ubiq187.htm
【4月16日】【笠原】Low Power IAプラットフォームの未来
http://pc.watch.impress.co.jp/docs/2007/0416/ubiq184.htm

バックナンバー

(2007年11月28日)

[Reported by 笠原一輝]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.