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

デスクトップCPUと同じ仕様を載せた「Silverthorne」




●アウトオブオーダ実行のスーパースカラコア

 Intelは、新たに携帯機器に向けたIA-32系CPU「LPIA(Low Power Intel Architecture)」ラインを提供し始めた。来年(2008年)前半には、LPIAとして設計された最初のCPU「Silverthorne(シルバーソーン)」を投入する。Silverthorneでは0.5WのTDP(Thermal Design Power:熱設計消費電力)レンジを実現、パフォーマンスは現在の800MHzのLPIA「Stealey(スティーリィ)」(Dothanベース)とほぼ同クラスという。

 もっとも、業界関係者によるとIntelはSilverthorneをある程度のTDPレンジで提供する予定だという。TDPによって動作周波数が大きく異なる製品SKUがあると推定される。Silverthorneの最低レベルのTDPが0.5Wで、最高レベルの性能が800MHzのDothanと同レンジと考えた方がよさそうだ。また、CPUのマイクロアーキテクチャは、Pentium M(Banias:バニアス)系やCore Microarchitecture(Core MA)とは全く異なるため、同じバイナリが同性能で動くとは限らない。性能の高い命令もあれば、性能が落ちる命令があり、コードによって性能が変わる可能性もある。

 前回レポートしたように、SilverthorneのCPUコアの面積は、同じプロセス技術でのCore MAのCPUコアの約半分。面積比から推定されるトランジスタ数は約10M(1,000万)程度だ。もしこの推測通りなら、Pentium III(Katmai:カトマイ)のCPUコアの9.5M(950万)とほぼ同等となる。

IDFで示されたPenrynとSilverthorneのスライドの正確な比率版

 CPUの消費電力を下げるにはCPUのマイクロアーキテクチャを単純化するのが有効だ。最も極端には、Pentium時代までのインオーダ実行のアーキテクチャに戻すという選択肢がある。実際、LPIAプロセッサの計画では、初期には「MMX Pentium(P55C)」コアを再利用/拡張するプランもIntel内部で出たという。しかし、現在必要とされているフィーチャを実装するには、新コアを開発する方がよいと判断したようだ。マイクロアーキテクチャも、アウトオブオーダ実行のスーパースカラ方式が最適という決定になったという。

 だとすると、SilverthorneのCPUコアがPentium IIIクラスに見えるのは、決して偶然ではない。Intelのアウトオブオーダ型スーパースカラコアで、ミニマムの構成にすると、この程度のCPUコアの規模になると推定される。逆を言えば、CPUコアの規模を、Pentium IIIクラスに抑えることで、電力の消費を最適化したのがSilverthorneだ。

SilverthorneとPenrynの比較(※別ウィンドウで開きます)
PDF版はこちら

●周波数を上げてパフォーマンスを稼ぐSilverthorne

 LPIAがターゲットとしているモバイルデバイスでは、整数演算パフォーマンスの維持が重要だ。Intelがアウトオブオーダ実行を維持した理由もそこにあると推定される。しかし、CPUコアが小さければ、それだけパフォーマンスも削がれる。Silverthorneではどうやってパフォーマンスを上げているのだろう。

 1つ明瞭なことは、既存のULV版ノートPC向けCPUをベースにしたLPIAより、動作周波数を上げることだ。現在のLPIAである「Stealey(スティーリィ)」は、動作周波数を800/600MHzに落として電力を低減している。それに対して「SilverthorneはGHzイシューレベルでパフォーマンスが最適化されている」とIntelのAnand Chandrasekher(アナンド・チャンドラシーカ)氏(Senior Vice President, General Manager, Ultra Mobility Group)は語る。

 実際、Silverthorneは2GHz近いクロックまで提供されると言われている。浮動小数点演算パフォーマンスは周波数向上の効果が大きいため、Silverthorneでは、浮動小数点/SIMD演算系の性能もそこそこ維持できると推定される。

 CPUコアのトランジスタ数がもともと少ないSilverthorneでは、アクティブ電力を抑えながら、ある程度まで高い周波数を達成することは容易だ。しかし、トランジスタのスイッチングが低速になる低い電圧で高クロック化するためには、パイプラインはある程度の深さに維持する必要がある。

 だが、消費電力を下げるにはパイプライン段数はできるだけ減らした方がいい。なぜなら、ハイパフォーマンスCPUで最も電力を消費するのは、ラッチ回路とレジスタ/L1キャッシュアレイだからだ。IBMは2005年のHotchipsのチュートリアルで、これらの影響を細かく説明している。パイプラインを深くすると、ラッチ回路が増える。また物理レジスタ数も増やす必要が出てくる。これらは全て電力消費を増やしてしまう。

 そのため、Silverthorneでは、パイプライン段数を抑えながら周波数を上げるための何らかの工夫がなされていると推定される。実際、IBMはPower6でパイプライン段数を変えずに、ステージ遅延を低減して高クロック化を実現している。

プロセッサパワーの分布図(※別ウィンドウで開きます)
PDF版はこちら
Pipeline Scaling(※別ウィンドウで開きます)
PDF版はこちら

 低TDPのSilverthorneは、リーク電流(Leakage)の低減では利点がある。CPUの発熱量自体が少なければ、相対的にリーク電流が下がるからだ。例えば、Core 2 Duo(Merom:メロン)は、80W TDP時にはリーク電流がTDPのうちの35%を占めるが、34W時には20%、17W時には15%まで下がる。また、相対的にリーク電流の比率の高いキャッシュSRAMの量を絞れば、さらにリーク電流を抑えられる。

 携帯機器をターゲットにしたLPIAでは、TDPや駆動時の平均消費電力だけでなく、スタンバイ時の消費電力も考慮する必要がある。

 「スタンバイ電力は、モバイルネットデバイスでは非常に重要となるだろう。我々は、スタンバイ電力の低減のために多くのことができると考えている。現在のLPIAプラットフォームは、ノートPCファミリからのデバイスを元にしている。そのため、(CPUの)性格はノートPCファミリに近い。しかし、2008年のプラットフォームでは、もっとずっとモバイルネットワークデバイス向けとなる」とChandrasekher氏はSilverthorneでスタンバイ電力の低減がなされることを予告する。

●スターTを備えてPC向けCPUとの親和性を強める

 Silverthorneは、『*T(スターT)』と呼ばれる拡張フィーチャの多くも実装している。これについては、IntelのJustin R. Rattner(ジャスティン・R・ラトナー)氏(現Intel Senior Fellow, Director, Corporate Technology Group)が、2004年秋に次のように予告していた。

 「ローパワーと言ってもフィーチャは犠牲にしない。我々は、全ての“*T(Technology)”、つまり、HT(Hyper-Threading)、VT(Vanderpool)、LT(LaGrande)、さらにCT(Clackamas)と呼んでいた64-bit技術まで、ローパワープロセッサに搭載できると考えている」

 LPIAはRattner氏の管轄するリサーチ部門で研究が始められ、製品開発段階で事業部へと移された。この時のRattner氏の発言は、CPU研究の技術的な方向性を語ったものだが、実際の製品も同様の方向性を採るようだ。つまり、CPUのフィーチャセットのレベルでは、LPIAとPC向けCPUを互換にして行くという方向だ。

 実装コストの低いVTはともかく、Hyper-Threadingや64-bit(Intel 64)は、LPIAクラスのCPUには余計なコストのように見えるが、それには理由がある。

 Hyper-ThreadingのようなSMT(Simultaneous Multithreading)技術はメモリレイテンシを隠蔽してCPUをビジーに保つ効果がある。そのため、L2キャッシュミスの割合が高いアーキテクチャでは、性能効率を大きく上げることができる。これは、スタンバイ電力を下げるためにキャッシュ量を絞らなければならないLPIAにとっては有効だ。

 また、アウトオブオーダ実行CPUにとっては、SMTの実装はそれほどトランジスタコストが高くないと、IntelはHyper-Threadingの導入時に説明している。つまり、消費電力のアップを最小限に留めながらSilverthorneの実効性能を上げるには効果的とIntelは考えているようだ。実際、IBMは2005年のHotchipsのチュートリアルで、Powerでの経験を元に、SMTは20%近いパフォーマンス向上を、24%の電力アップで実現できる、電力効率が高い技術だと指摘している。L2キャッシュが512KBと小さいSilverthorneでは、さらに効果が大きいかもしれない。

 64-bitの実装は実行ユニットとレジスタの拡張が必要なためややコストが高いが、これも意味がある。64-bitはIAバイナリが今後64-bitへと移行して行くことを見越すなら、バイナリの互換性を保つために必要だからだ。LPIAの強みは、PCの世界で支配的なIAの資産を活かせることにある。その強みを一貫しようとしたら、LPIAでも64-bitが重要となるとIntelは見ているようだ。

●2009年のMoorestownも2チップソリューション

 Intelは、Silverthorneの次のLPIAプラットフォームでは「SOC(System on a Chip)」に向かうとしていた。SOCは通常「ワンチップソリューション」を意味する。しかし、Intelは“SOC”でワンチップソリューションは提供しない。Menlowの次の「Moorestown(ムーアズタウン)」プラットフォームも、Menlowと同様に2チップ構成のままだ。SOCという用語と矛盾するようだが、その理由について、Chandrasekher氏は次のように説明する。

 「それ(ワンチップにすべきかどうか)は、活発な議論の対象になっている。SOCについては複数の意味があるが、SOCのフィロソフィ自体は、テクノロジを市場に迅速にもたらすことにある。それがSOCのターゲットだ。そのフィロソフィに基づくと、IPブロックをモジュラー化し、(必要なブロックを)ピックアップして統合することで、市場に非常に速く導入できる能力こそが重要だ。我々は、そのコンセプトを適切な方法論で実現しようとしている。

 もし、SOCがシングルチップだけを意味するなら、(チップに)何を入れて何を取り去るかについて、もっと多くの議論を呼ぶだろう。そして、顧客からのフィードバックを元にした現実的な視点から言うと、全てのコンポーネントをワンチップにすると柔軟性が失われてしまう。

 そのため、現状では我々のプランは、依然として2チップのままだ。我々は1チップにすることもできる。顧客がワンチップを望むなら、ワンチップにフォーカスするだろう。しかし、基本的には2チップだ。2チップ設計にする理由は、顧客に対して柔軟性を提供するためだ」

 顧客側のシステム構成の柔軟性を考えると、2チップ構成を採った方がニーズに合っているというのがIntelの姿勢だ。

 x86 CPUメーカーであるIntelは、伝統的に少品種大量生産に特化しており、カスタムASIC型のソリューションは提供して来なかった。また、他品種のASSP(特定用途向け標準製品)の展開もそれほど得意ではない。そうしたIntelの製造態勢には、チップを分割して、それぞれのチップのバリエーションを提供する手法が合っているとも言える。

●CPU側にGPUコアとDRAMコントローラを統合

 ただし、Moorestownでは、チップ機能のパーティショニングは変更する。現在のMcCaslinの基本構成は、PC向けチップセットのまま。MenlowでもCPUチップと、メモリコントローラ&グラフィックス&I/Oチップという基本は変わらない。そのため、Menlowでは、CPUとメモリコントローラ&GPUコアの間を結ぶ、オフチップの広帯域FSB(Front Side Bus)がムダに電力を消費している。また、メモリアクセスのレイテンシを増やすことで性能効率も悪化させている。消費電力削減の観点から言えば、広帯域が必要なCPUとメモリコントローラとGPUコアの間のバスは、電力を食わないオンチップバスに持っていった方がいい。

 そのため、より低い消費電力を目指すIntelは、必然的にMoorestownプラットフォームでは、CPU側にメモリコントローラとGPUコアを統合しなければならない。残りの、比較的低速なI/O機能を、別チップにまとめる。その構成なら、CPU側とI/Oチップ側の間のインターコネクトは比較的狭帯域で済むため、外部バスの消費電力をミニマムに抑えることができる。つまり、Nehalem世代とTukwila世代以降のIntelのPC&サーバー向けCPUと、似た構成をLPIAも取るようになる。

 I/Oチップを分離した2チップソリューションとすることで、Intelは異なるコンフィギュレーションのCPUを容易に提供できるようになる。PCと同様に、パフォーマンスとTDPレンジがより大きく異なるLPIAプロセッサファミリの展開が容易になる。Moorestown世代では、複数のLPIAダイが登場すると予想される。

 明瞭な方向性の1つはデュアルコアだ。Silverthorneの小さなCPUコアサイズは、IntelがLPIAでもマルチコア化を指向していることを示唆している。CPUマイクロアーキテクチャを発展させて、シングルスレッドの整数演算性能を上げようとすると、CPUコアが大型化して電力効率が悪化してしまう。CPUの電力効率を維持しながらパフォーマンスアップを図る最短の道はマルチコア化だ。

 また、Silverthorneコアは、今後プロセスが微細化を続けて行くと、さらにコンパクト化する。しかし、CPUのダイサイズは、信号ピンや電力ピンなどのために小さくできる限界「パッドリミット」がある。そのため、CPUコアのサイズはある程度以上に小さくしても意味が薄い。その意味でも、IntelはLPIAで、デュアルコア化やGPUコアやメモリインターフェイスの統合が必要となる。

●スマートフォンをターゲットとするLPIA

 技術的には明瞭なLPIAの最大の疑問は、「誰が何のためにこのCPUを必要とするのか」という点だ。Intelが考えるLPIAの利点は、IA命令セット(狭義にはx86命令セットとその拡張命令)だ。LPIAの成功の鍵は、x86ベースの低消費電力デバイスをどれだけ市場が必要としているかにかかっている。そして、ここで言う市場は、「UMPC(Ultra Mobile PC)」といった特定のセグメントではなく、モバイルネットデバイス全体と携帯電話という大きな市場だ。

 Intelにとって、LPIAの真のターゲットは携帯電話にある。

 「長期的な将来は(携帯電話)市場を考えている。しかし、我々は全ての携帯電話に興味があるわけではない。スマートフォン分野だ。我々は、当社の製品がその市場に2008年から動いてゆくと考えている」とChandrasekher氏は語る。

 スマートフォン市場は、年間数億台に膨れあがる可能性がある。Intelとしては、そこはぜひとも抑えたいところだろう。iPhoneクラスのデバイスを、LPIAベースにして行くのがIntelの構想だ。そして、Intelがその市場を征するには、IAベースのアーキテクチャを取る必要があると判断したようだ。

 携帯デバイスのプロセッサは、もともとx86系CPUの市場ではない。組み込みRISC系アーキテクチャが占めている。そして、Intelも、以前はこの市場では組み込みRISCプロセッサのXScale(旧StrongARM2系)を推進していた。しかし、現在はXScaleからLPIAへと切り替えた。その理由についてChandrasekher氏は次のように説明する。

 「XScaleからIAへとスイッチした理由は、我々がモバイルインターネット、ワイヤレスインターネットに大きな潜在(市場)があると信じているからだ。そして、今日のインターネットは、全てIA(アーキテクチャ)に適合している。

 我々は、XScaleをその方向(モバイルインターネット)へとプッシュしたが、満足の行く速さで浸透しないことに気がついた。なぜなら、(ソフトウェアの)エコシステムがIAに向かっているからだ。そのうちに、我々はIAアーキテクチャの電力を下げることで、(モバイルインターネットに)到達できると考え始めた。そこで、社内的に、IAを選択することにした。ワイヤレスインターネットが興隆し、市場が盛り上がると、(LPIAも)盛り上がって行くと考えている」

 ちなみに、Silverthorneは、Intelイスラエルで開発されたPentium M/Core 2 Duo系とは異なり、米国の設計チームによって開発されたという。ただし、PC向けCPUの開発チームではないと言う。おそらく、旧XScaleに関連した部門が関わっていると推測される。

□関連記事
【4月26日】【海外】超低消費電力を達成するSilverthorneの秘密
http://pc.watch.impress.co.jp/docs/2007/0426/kaigai356.htm
【4月25日】【海外】もう1つの超低消費電力CPU「Silverthorne」
http://pc.watch.impress.co.jp/docs/2007/0425/kaigai355.htm
【4月18日】【IDF】「Intel Ultra Mobile Platform 2007」正式発表
http://pc.watch.impress.co.jp/docs/2007/0418/idf05.htm

バックナンバー

(2007年5月10日)

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


【PC Watchホームページ】


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

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