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

Intelの「Haswell」のダイと省電力技術



●さらに細長くなったHaswellのダイ

 Intelは「Intel Developer Forum(IDF)」で、2013年の新アーキテクチャCPU「Haswell(ハスウェル)」のチップを公開した。下はその際のチップ写真だ。また、キーノートスピーチでもHaswellチップの写真が公開された。これらを見ると、Haswellのダイが非常に細長い姿をしていることがわかる。

2013年の新アーキテクチャのCPU「Hasewll」

 このことは、HaswellがSandy Bridge(サンディブリッジ)やIvy Bridge(アイビーブリッジ)と同様に、リングバスで横一列にCPUコアとGPUコアやノースブリッジを繋いだ構造を取っていることを示唆している。Intelの現在のリングバスを使った接続では、CPUの形状はユニットが増えるにつれて横方向に細長くなる傾向がある。

 下はSandy BridgeとIvy Bridgeのダイで、Ivy BridgeではGPUコアやシステムエージェントが大型化した分、さらに横長になっていることがわかる。Haswellでも、この傾向は継続されるようだ。そして、Ivy Bridgeよりさらに横に細長くなったことは、Ivy BridgeよりGPUコアやノースブリッジの機能がさらに強化されたことを示している。

Sandy BridgeとIvy Bridgeのダイ
PDF版はこちら

●Haswellのダイサイズは190平方mm以下?

 下はIDFで公開されたHaswellチップのスライドと実チップの比較だ。両者はほぼ同じ形状をしており、スライド上のHaswellチップがフェイクではなく実物であることを示唆している。もし、このパッケージが37.5mm角だとしたら、Haswellのダイサイズは、約180~190平方mm程度ということになる。もしそうだとすると、Haswellは最近のIntelメインストリームCPUとしては、比較的小さなダイサイズのCPUということになる。

Haswellのチップ
PDF版はこちら
CPUのダイサイズ移行図
PDF版はこちら

 Intelは、メインストリームCPUダイのCPUコア数を、これまで1コアから2コア(Merom)、4コア(Nehalem)と増やし、またCPUコアへの周辺機能の統合もノースブリッジ(Nehalem)やGPUコア(Sandy Bridge)と進めてきた。しかし、CPUコア数については、ここへ来て4コアで止まる気配を見せている。Nehalem→Sandy Bridge→Ivy Bridge→Haswellと、メインストリームは4コアのまま据え置かれる見込みだ。

 その代わり、GPUコアを始めとする周辺機能が、より強化されるか新たに付加される傾向にあるようだ。メインストリームCPUでは、ついに汎用CPUコア数の増加が止まり、代わってGPUコアなど、よりパフォーマンス/電力効率の高いコアの強化へと向かうと見られる。AMDはすでにその方向を示しているが、Intelも同じ路線へと向かう。下はHaswellのブロックの推定図で、おそらくGPUとノースブリッジが大幅に強化されると見られる。

Haswellのブロックダイアグラム
PDF版はこちら
Ivy Bridgeのブロックダイアグラム
PDF版はこちら
Sandy Bridgeのブロックダイアグラム
PDF版はこちら

●電力消費を20分の1に引き下げるHaswell世代のUltrabook
IntelのMooly Eden氏(VP, General Manager PC Client Group, Intel)

 Intelは2013年のHaswellでは、従来より圧倒的にバッテリ駆動時間の長いノートPCを作ろうとしている。そのため、2013年のUltrabookでは、待機時の電力を現在の20分の1に引き下げる。

 「次世代CPUのHaswellでは20倍の電力向上を図る。オールデイのバッテリライフを実現できる、無線に接続したまま(適時通信を行なう)のスタンバイ状態で10日以上もバッテリを保つこともできる。電源に接続しておく必要はない。これは、Intelパワーオプティマイザで実現される。パワーオプティマイザでは、我々はエコシステム(デバイスベンダー)と協力しなければならない。だが、信じて欲しい。あなた方の見るものを、あなた方はきっと好きになるだろう。PCのPはパーソナルから来ているが、Cはこれからはクリエイティビティとコンシューム:消費(電力)を意味するようになるだろう」。

 IntelのMooly Eden氏(VP, General Manager PC Client Group, Intel)は、技術カンファレンス「Intel Developer Forum(IDF)」で、このように宣言した。では、どうやって、Intelはそれだけの低電力化を実現するつもりなのか。IDFでは、その概要が明かされた。


ボルテージレギュレータの統合

 以前レポートした通り、HaswellのノートPC版では、メモリとして低待機電力のLPDDR3をサポートする。また、画面表示に変化がない場合はLCDパネル側だけで画面のリフレッシュを行なって、CPU側からの画面データ転送を行なわない、パネルセルフリフレッシュ(SPR)の導入も推進する。さらに、ボルテージレギュレータ(VR)をオンダイまたはオンパッケージに統合する改革も行なうと見られている。

 しかし、こうしたデバイス自体の低電力化に加えて、Haswell世代では「CPPM」と呼ばれるプラットフォームパワーマネージメントを導入する。IntelのEden氏は、CPPMこそが20分の1の待機時電力を実現するためのカギだと説明する。

 「全体のコンセプトは、CPUをできるだけスリープ状態に置くことで、バッテリ駆動時間を長くすることにある」「今日の周辺機器はCPUを非同期に起こしてしまう。我々は周辺機器からの割り込みを圧縮することで、CPUをより長い時間スリープ(ステイト)に置いて電力を削減しようとしている。この方法で、20分の1の電力を達成できるだろう」「しかし、そのためには、多くの周辺機器の協力が必要となる。我々は、CPPMが全ての道を拓くことを、業界全体に伝えようとしている」(Eden氏)。


●Shark Bayベースのシステム全体の電力を制御する

 パワーオプティマイザとも呼ばれるCPPMは、Haswellのプラットフォームである「Shark Bay」全体の電力制御のフレームワークだ。Haswellを搭載したプラットフォーム全体の電力を削減する。Haswellと「LynxPoint PCH」に接続するデバイス群の間のパワーマネージメントを行なう。HaswellとLynxPointには、電力最適化のためのプラットフォームパワーマネージメントコントローラが搭載されると見られる。

 CPPMフレームワークの基本コンセプトは“Intel以外のコンポーネントを省電力アウエアにする”ことだ。Intelは、自社が提供するCPUとチップセット部分はすでに、かなりのレベルまで省電力化を果たしたと見ている。問題はIntel CPUとチップセット以外の部分で、そちらを改革しないとノートPC全体での電力最適化がなされないとIntelは見ている。下のスライドは、IntelがIDFで示したもので、ブルーがCPUの電力、レッドがシステム全体の電力を示している。

CPUの消費電力とシステム全体の消費電力

 そして、CPU自体の待機時のアイドル電力も、周辺デバイスの最適化でまだまだ下げることができる。上の図を見るとCPUの電力も一定のレベルで下げ止まっていることがわかる。モバイルワークロードでの時間の大半を占めるアイドル時のCPUとチップセットの電力は、システム全体の協調がないと下げることができない。CPPMフレームワークの主眼はここにある。Intelは、周辺デバイスがCPUに頻繁に割り込みやDMAアクセスをかけるおかげで、CPUが長時間省電力モードに入ったままでいられないことに問題があると見ている。そこでCPPMでこの問題を解決しようとしている。

CPPMで問題を解決

●デバイスやOSからの割り込みが省電力を妨げる

 IntelのEden氏は、デバイスやOSからの割り込みが、省電力に対していかに大きなインパクトを与えるかを次のように説明する。

 「今日のOSはいわゆる“チック(tick) OS”だ。一定周期(tick)ごとにOSがタイマ割り込みをかける。OSが割り込みをかけた時にCPUがスリープ(ステイト)にあった場合、OSは「寝ているか?」とCPUに声をかけてCPUをスリープから起こす。また、周辺機器、例えばプリンタや無線LANなどあらゆるデバイスも、同様に割り込みをかけてCPUを起こす。これらの割り込みが、CPUをスリープ(ステイト)から起こしてしまうため、バッテリ駆動時間が短くなってしまう」。

 下のスライドは、CPU(とチップセット)への割り込みやDMAアクセスを示している。横軸が時間軸で縦に伸びている矢印が割り込みやDMAアクセスだ。下のスライドの上の図が現状のプラットフォームで、見ての通り頻繁に割り込みやアクセスを示す矢印が入っている。

 これらの割り込みやDMAアクセスは、PCI ExpressやUSB、SATAといったインターフェイスに接続されたデバイスから入る。それぞれの割り込みとDMAアクセスは同期しておらず、時間軸上で完全に分散している。各割り込みとDMAアクセスの度にCPU側の一部ユニットはスリープからアクティブへと戻されてしまう。複雑な割り込みとDMAのために、CPUのアイドル時間は細切れにされ、不連続な短いアイドル時間にされてしまう。

割り込みやDMAのアクセス

 省電力ステイトは深ければ深いほど電力を低減できるが、その代わり復帰レイテンシが長くなる。そのため、深い省電力ステイトを充分に活かすには、ある程度のアイドル時間が持続していないと難しい。アイドル時間が細切れになっていると、CPU全体で深い省電力ステイトに入ることができるチャンスが非常に限られてしまう。CPU側が深い省電力ステイトで電力を用意していても、それによって電力を削減するチャンスがかなり失われているのが現状だ。

●割り込みをまとめて処理することでアイドル時間を長く取る

 そこで、アイデアとして、割り込みとDMAアクセスをまとめてバーストにしてしまうという方法が浮上する。割り込みとDMAアクセスの中には、じつはタイミングクリティカルではないものや、デバイス側にバッファすることで遅延させることが可能なものが存在する。上のスライド中では、矢印は、割り込みとDMAアクセスの種類で色分けされている。

 上のスライドのブラックの矢印はOSのタイマ割り込みだが、これは周期的で動かすことができない。オレンジはクリティカルな割り込みで、これもタイミングをずらすことができない。紫はクリティカルなデータトラフィックで、これもタイミングを動かすことができない。それに対して、ブルーはタイミングを後ろにずらすことが可能な割り込み、グリーンも同様に遅らせることが可能なデータトラフィックを示している。図中ではタイミングを遅延させることができる矢印がかなりの数示されている。

 そこで、クリティカルな割り込みとアクセスのタイミングそのままで、遅延が可能な割り込みとアクセスをクリティカルなタイミングに揃えて(アラインして)、まとめた処理にしてしまう。

 そうした調整を行なったのが上のスライド中の下の図だ。各割り込みとDMAが、ある程度の粒度のバーストへとアラインされている。その結果、割り込みの間の完全にアイドルな時間が、これまでよりずっと長く取られていることがわかる。この“アイドルウインドウ”が充分に広いと、CPUは深い省電力ステイトに入り、電力を大幅に削減することが可能になる。下のスライドは、割り込みとDMAアクセスをアラインして、アイドルウインドウを広げる概念を示した図だ。

割り込みをバーストした図

●割り込みとDMAアクセスをアラインするための仕組み作り

 各デバイスからの割り込みとDMAアクセスをアラインするためには、これまでにない仕組みが必要となる。CPU/チップセット側のCPPMコントローラが、それぞれのデバイス毎に、割り込みとDMAアクセスをどれだけ遅延させても大丈夫なのかを、つかむ必要がある。デバイスが許容できるタイミング以上に遅延させてしまうと、安全な動作ができなくなったり、パフォーマンスが削がれたりしてしまう。あくまでも、各デバイスの許容できる範囲で、割り込みとDMAアクセスをアラインしなければならない。Eden氏は、次のように例える。

 「まず、CPUとシステムは、各デバイスに最大限の遅延時間、つまり割り込みをかけてから応答までの待てる時間の上限を尋ねる。デバイスは、それぞれが許容できる遅延時間を、例えば400us(マイクロ秒)、あるいは500us、600usだと答える。次に、チップセットが割り込みを受け取ると、チップセットは「CPUはスリープ状態なので、あと400usは復帰させることはできない」とデバイスに伝える。そして、一定時間が経った後に、CPUを復帰させて、全ての割り込みへの応答を同時に行なわせる」。

 Intelはレイテンシの伝達などのために、デバイスとCPUの間に新たなサイドバスやプロトコルを開発した。レイテンシの許容値を動的にコントローラに伝えるための「Latency Tolerance Reporting(LTR)」や「Latency Tolerance Messaging(LTM)」を定義。PCI ExpressやUSBといった業界スタンダード規格にそれらのスペックを取り入れるように働きかけてきた。また、レイテンシを許容できるようにするために、よりインテリジェントなバッファシステムをデバイスチップ側に搭載することも求めている。また、バッファリングをハンドルするための「Opportunistic Buffer Flush/Fill (OBFF)」も定義された。

レイテンシ許容値などを動的にコントローラに伝えるためのプロトコルなどを策定した

●5年もかかるCPPMパワーオプティマイザの実現

 じつは、IntelはCPPMの仕組みを数年前にすでに提案している。この記事で使っているスライドの大半も、2008~2009年のIDFのものだ。同時期に、この技術を啓蒙するために「Energy-Efficient Platforms」というホワイトペーパーも出している。関連する特許も同じ時期に出願されている。つまり、技術の基本的な骨格は、実は3年も前からできていたわけだ。しかし、実際に実装されるのは、構想から5年後の2013年からとなる。

 それだけの期間が必要になるのは、事がIntel 1社でどうにかなる問題ではなく、業界全体を巻き込む必要があったためだ。PCI ExpressやUSBなど、あらゆるインターフェイスにつながるデバイスに、CPPMのパワーオプティマイザのコンセプトに沿ってもらう必要がある。逆を言えば、啓蒙活動を続けて5年で、ようやくフレームワークを完成させる要素が整いつつあるようだ。

 では、CPPMフレームワークでHaswellではどこまで下げることができるのか。下はLTRを使ってCPU/チップセットに伝えるレイテンシ許容時間をを伸ばしていった場合の、アイドル時電力の比較を示したスライドだ。これを見ると、100usを過ぎたあたりから、ガクっと消費電力が下がることがわかる。ホワイトペーパーでは、アイドル時間のためのレイテンシは少なくとも300usが望ましいとしている。

レイテンシ許容時間を伸ばしていった場合のアイドル時の消費電力

 IntelのCPPMの構想が実現すると、ノートPCのアイドル時の平均消費電力は、現在より大幅に下がる可能性が高い。これに、パネルのセルフリフレッシュやLPDDR3が加われば、Ultrabookの平均電力は劇的に下げることができそうだ。待機時の電力を下げることができるため、携帯電話のように1日中動作させたままで、無線経由でメールなどを受信しながら長時間駆動させることが可能になる。

 また、別な見方をすると、これは、電力に対して一切の考慮がなかった時代に作られた割り込みアーキテクチャに対する改革の第1歩でもある。