●IDFでNehalemの新フィーチャを公開 Intelは、先週米サンフランシスコで開催した技術カンファレンス「Intel Developer Forum(IDF)」において、発売が迫る「Core i7(Nehalem)」アーキテクチャについてアップデートを行なった。Nehalemの新フィーチャである多段階の「ターボモード(Turbo Mode)」や、電力消費を抑える「パワーゲーティング(Power Gating)」などの省電力機能について紹介。また、来年(2009年)後半に登場する普及版Nehalemであるクアッドコア「Lynnfield(リンフィールド)」とデュアルコア「Havendale(ヘイブンデール)」、モバイル版のクアッドコア「Clarksfield(クラークスフィールド)」とデュアルコア「Auburndale(オーバーンデール)」についても一部情報を明らかにした。 Intelは、NehalemをデスクトップPCだけでなくモバイルPCにも展開する。それを可能にするのは、Nehalemに実装された、これまで以上に高度な低消費電力技術だ。詳細を見ると、Nehalemの焦点は、CPUコアのマイクロアーキテクチャ拡張だけでなく、この省電力技術にあったことがよくわかる。 新たな省電力技術は、Nehalemのために新規に開発された技術もあるが、従来のCore 2(Core Microarchitecture)やAtom(Silverthorne:シルバーソーン)のために開発された技術を発展させたものも多い。Intel CPUの省電力技術の現時点での集大成がNehalemと言ってもいいだろう。 Intelは、モバイルPCだけでなく、デスクトップPCとサーバーでも、低消費電力の多くを有効(イネーブル)にする。しかも、デスクトップPCとサーバーの省電力化の方向性は、従来のCPUとは大きく異なっている。
●電力供給をON/OFFするパワースイッチ Nehalemは、従来のIntel CPUと比べると、CPUコアがアイドル時の電力をよりきめ細かく抑えることができる。それは、クロックゲーティングだけでなく、パワーゲーティングを行なっているからだ。従来のIntel CPUは、クロックゲーティングによって、アイドル状態のCPUコアなど特定のブロックへのクロック供給を止めていた。クロックをストップすると、アクティブ電力を止めることができるため、以前は消費電力をほとんどカットすることができた。 しかし、プロセス技術の進歩とともに、トランジスタのリーク電流(Leakage)が増大。クロックゲーティングで電力消費のうちアクティブ成分だけをカットしても、残りのスタティック成分を抑えられないため、省電力効果が薄れてしまった。下がIDFで示されたIntel CPUの電力消費の内訳で、リーク電流が1/3を占めていることがわかる。
「(トランジスタの)スイッチング電力とリーク電流の両方を削らなくては、電力を削減できない。そこでパワーゲーティングを採用した」とNehalemの省電力設計を担当したRajesh Kumar氏(Intel Fellow, Director, Circuit and Low Power Technologies, Intel)は語る。 Nehalemでは、各CPUコア毎にパワースイッチを備え、スイッチを切る(ターンOFF)することで、電力供給をOFFにする。スイッチング電流だけでなく、リーク電流もカットされるため、CPUコアの消費電力はほぼゼロになるという。このパワーゲーティングは、システム側からはトランスペアレントであるため、OSなどの変更は必要がないという。つまり、ハードウェアで自動的に行なわれる。
●プロセス技術の開発でパワースイッチを可能に CPUでは、外部のボルテージレギュレータ(VR)から、CPUコアへの電力がコア電圧「Vcc」で供給される。VRからの電力は、4個のCPUコアに分配されるが、NehalemではそれぞれのCPUコアにパワースイッチを設けている。このスイッチをON/OFFすることで、CPUコアの電力をON/OFFしている。この方式の利点は、迅速なスイッチングを可能にできる点だという。 別の実装方法としては、ボルテージレギュレータから、各CPUコアそれぞれに別系統で電力を供給、それぞれの電力を、外部ボルテージレギュレータでON/OFFすることもできる。しかし、その場合には外部ボルテージレギュレータの電圧ランプまで時間がかかるため、迅速なON/OFFが難しい。また、レギュレータのコストもアップする。 パワーゲーティング自体は、珍しい技術ではない。組み込みでは似たような技術を実装している例もある。ハイパフォーマンスのPCとサーバー向けCPUでは、新しいというだけの話だ。 なぜ、PCとサーバー向けCPUでは、これまで電力のゲーティングができなかったのか。それは、電力が大きいため、プロセス技術の開発が必要だったためだという。 「我々は、完全なパワースイッチを作るというアイデアのために、完全に新しいプロセス技術を開発しなければならなかった。パワーON時には極めて低い抵抗のもの、これはM9層に、それと、OFF時には極めて高い抵抗のもの、これは超低リーク電流トランジスタだ。それが、我々が作り上げたものだ」とKumar氏は語る。 45nmプロセスで、パワースイッチを実現したIntel。しかし、Kumar氏は、この技術が今後もそのまま通用するわけではないと指摘する。「22nmプロセスで同じことを行なうことは難しく、22nmでは全く異なるソリューションが必要になるだろう」とKumar氏は語る。
●C6ステイト用のSRAMにCPUコアのステイトを待避 CPUコアへの電力をOFFにすると、当然、CPUコアの内部のアーキテクチャルステイトは失われてしまう。この問題を解決するために、Intelは45nm版Core 2(Penryn:ペンリン)とSilverthorneのために開発した「Deep Power Down C6」ステイト技術を使う。C6では、CPUのダイ(半導体本体)上に、C6時のステイト保持用のオンダイSRAM「State Storage」を実装する。このC6用のSRAMには、CPUコアとは別電圧が供給され、CPU全体がC6ステイトに入って電圧が、キャッシュ内容を保持できるレベルよりも下に下がった時も、内容が保持される。常にONになっている待避エリアだ。
CPUコアは、C6ステイトに入る前に、全てのCPUステイトをこの待避用SRAMにセーブする。CPUステイトには、全てのIAアーキテクチャ上のステイトと、CPUのマイクロアーキテクチャ上のステイト、つまりマイクロコードのステイトのほとんどが含まれる。CPUステイトがC6 SRAMに入ると、CPUコアの電力をOFFすることが可能になる。Nehalemでは、各CPUコアがそれぞれ別個のC6 SRAM領域を持つ。 C6からの復帰には、ある程度の時間(CPUによって異なる)がかかる。しかし、CPU外部のオフチップメモリにステイトを保存する場合と比べると、格段に復帰レイテンシは短い。そのため、パフォーマンスロスは極めて小さいと言う。しかし、アプリケーションによっては、レイテンシが極めて重要であったり、頻繁にC6に入り過ぎて性能が削がれたりするケースが出てくる可能性がある。Nehalemでは、新たに搭載した「PCU(Power Control Unit)」が、そうしたソフトウェアのふるまいを監視して、最適化を行なうという。
PCUは、複雑な省電力制御のために搭載された、専用のマイクロコントローラだ。従来CPUではハードウェアで行なっていた制御を、Nehalemでは専用プロセッサで走るファームウェアへと転換した。PCUは、100万トランジスタ以上もの規模のコントローラで、従来の省電力機構では不可能だったきめ細かな操作を行なうという。CPUに搭載された膨大な数のセンサーのモニタ結果を元に、省電力制御を行なう。Kumar氏によると、Nehalemでは省電力制御が極めて複雑となるため、規模が大きくバグが生じやすいため、コントローラ上のソフトウェア制御へと切り替えたという。小型CPUクラスの規模のPCUのトランジスタの分だけ、Nehalemの電力消費は増えてしまうが、それでも、電力制御で抑えられる利点の方が大きいという。
●NehalemではPenrynのC6ステイト技術をさらに拡張 C6ステイト自体はPenrynから実装されていたが、Nehalemでは実装が大きく異なる。Penrynの場合、2個のCPUコアそれぞれが、CPUコア単位でC6ステイトに入ることはできるが、2個のCPUコアがC6で揃わない限り、電圧はC6レベルに下がらない。そのため、Nehalemほどきめ細かく電力をセーブすることができない。例えば、1コアがアクティブで、もう1つのコアがアイドルの場合は、アイドルCPUコアは無駄にリーク電流を消費してしまっている。
それに対して、Nehalemでは、CPUコアそれぞれがC6ステイトに入り、それぞれ個別に電力をOFFすることができる。そのため、極めて効率的に、きめ細かく電力を制御することができる。例えば、2個のコアがアクティブで、2個のコアがアイドルの場合は、アイドルCPUコアは無駄にリーク電流を消費することがない。
Nehalemでは、全てのCPUコアがC6ステイトに入ると、CPU全体がC6ステイトに入り、電力がさらに抑えられる。まず、CPUの中のCPUコア以外の「アンコア(Uncore)」部分の電力が停止され、I/Oがローパワーステイトに入る。アンコア部のクロックグリッドが停止され、残るのはアンコア部のリーク電流などごく一部になる。
●Atomの省電力技術を取り込んだNehalem Nehalemの省電力機能は、C6ステイトとパワーゲーティングだけではない。回路設計でも、さまざまな電力削減を行なっている。Kumar氏によると、CPUの低消費電力化の前に立ちふさがる壁は“物理”だという。物理的な理由で、CPUの電力を下げ、パフォーマンスをアップすることは難しくなりつつある。 CPUは最高性能を得たい場合は許容限度の上限の電圧「Vmax」に、電力消費を最も抑えたい場合には許容限度の上限の電圧「Vmin」に設定する。ところが、プロセス世代が進んでトランジスタが小型になると、ゲート酸化膜厚が薄くなり信頼性の面から高電圧で駆動できなくなるという。結果、Vmaxを低くしなければならなくなる。 その一方で、トランジスタが小さくなるとメモリセルの容量が減るため、電圧を下げるとソフトエラー(放射線などの影響によるメモリエラー)の発生率が増えるという。そのため、Vminを下げることができなくなり、逆に上がってしまう場合もある。 Vmaxが下がり、Vminが上がるために、プロセスが進むと電圧スケールのマージンがどんどん狭くなってしまうという問題が発生するという。下のスライドの上が130nmプロセス、下が45nmプロセスのチャートだ。
こうした状況で、Intelは、CPUの動作電圧の下限を下げるための技術を研究した。Kumar氏によると、問題はメモリ回路にあるため、メモリエラーを防ぐための対策を講じたという。 1つは、メモリエラー訂正回路をより洗練されたものにすること。Nehalemでは「トリプルディテクト/ダブルコレクト」を行なっているという。また、CPUコア外のキャッシュに対しては電力供給を分離。CPUコアの電圧を下げても、キャッシュの電圧はデータを保持できるだけ高く保つようにした。これは、以前のCPUから行なっている。 CPUコア内部のメモリについては、従来の6トランジスタSRAM(6T SRAM)セルから、8トランジスタSRAM(8T SRAM)セルへと切り替えたという。L1命令キャッシュやL1データキャッシュといったコアメモリは、8T SRAMとなった。8T SRAMの方が、6T SRAMより低電圧時のソフトエラーレート(SER)が低く、結果的にCPUコアをより低電圧駆動できるようになったという。 もっとも、CPUコア内部のメモリの8T SRAM化は、Nehalemが最初ではない。Intelは、Silverthorneで同様に、CPUコアのメモリを8T SRAM化することで、低電圧駆動を実現した。つまり、NehalemはSilverthorneの低消費電力技術を取り込んだことになる。 8T SRAMやリッチなメモリエラー訂正回路のトレードオフは、より多くのトランジスタが必要となり、より多くの面積をCPU上で取ってしまうことだ。それだけCPUがファットになるが、そうしたトレードオフを考慮しても、低電圧化を図った方が利があるとIntelは判断したようだ。
●フルスタティック回路化のトレンドに乗るNehalem プロセッサはかつてバイポーラ(Bi-Polar)トランジスタで作られていた。しかし、高速だが電力消費が極めて大きなバイポーラは、'70年代になると、現在CMOSが直面しているのと同じような電力の壁にぶつかってしまった。そこで、プロセッサベンダー各社は、バイポーラからスタティックCMOSへとテクノロジを転換、電力消費を一気に引き下げたという歴史がある。 しかし、CMOSプロセスのプロセッサは低速であるため、プロセッサのパフォーマンスアップの要求から、より高速だがより電力消費の大きな方向へと回路やトランジスタの技術を振るようになったとKumar氏は説明する。CPUでは、'90年代頃から高速なダイナミック回路が、高速性が必要とされるクリティカルパスで使われるようになった。Intelもドミノ回路を導入し、さらにPentium 4ではドミノより速いとIntelが発表した「LVS(Low-Voltage Swing)」ロジックを採用した。 しかし、電力効率を重視するNehalemでは、再びフルにスタティックCMOSへと戻したという。従来のIntel CPUでのドミノデータパスが、Nehalemでは完全にスタティック回路へと変わった。これは、IntelのハイパフォーマンスCPUにおいて、20年ぶりのことだという。 もっとも、フルスタティックCMOS化は、Nehalemが初めてというわけではない。他のCPUベンダーも同じ道を歩みつつあり、Intelもその波に乗っている。例えば、IBMの最新CPU「Power6」は、ダイナミック回路を排して、スタティック回路で構成している。Cell Broadband Engine(Cell B.E.)の45nm版も、できる限りCMOSが使われているという。そもそも、ハイパフォーマンスCPU以外の、組み込み向けのCPUでは、スタティックCMOSは当たり前だ。Intelは、王道に乗った電力削減を行なったことになる。 トレードオフはもちろん速度で、同じプロセス世代でドミノ回路を使ったCPUと比べると、クリティカルパスがより遅くなり、結果的に動作周波数が低くなるはずだ。しかし、微細化でトランジスタのスイッチング自体はある程度高速になっているため、周波数を引き上げない場合は、スタティックCMOS化でも問題はないと判断したと推測される。
こうして眺めると、Nehalemでは、省電力技術にも力が入っていることがよくわかる。しかし、これだけの省電力技術を投入しても、規模の大きなNehalemの電力を、TDP枠の中に納めることは難しい。 □関連記事 (2008年8月25日) [Reported by 後藤 弘茂(Hiroshige Goto)]
【PC Watchホームページ】
|