LincroftとSPARC64 VIIIfxの低消費電力技術
VLSI 2010の講演会場レイアウト図 |
2010 Symposium on VLSI Technology
会期:6月15~17日
会場:米国ハワイ州ホノルル市
Hilton Hawaiian Village
「Symposium on VLSI Circuits」(VLSI Circuits)では最終日の6月18日(現地時間)にマイクロプロセッサに関するセッションが設けられていた。このセッションではIntelがハンドヘルド機器用プラットフォーム「Moorestown(ムーアズタウン)」のCPU「Lincroft(リンクロフト)」の概要(R.Islamほか、講演番号16.4)を、富士通と富士通研究所の共同開発チームが次期スーパーコンピュータ用CPU「SPARC64 VIIIfx」の概要(H.Okanoほか、講演番号16.1)を、それぞれ低消費電力技術を中心に講演した。
●Lincroft:4,200個ものパワーゲートをシリコン全体に配置ハンドヘルド機器用プラットフォームの最新世代であるMoorestownは、AtomプロセッサをCPUコアとするSoC(System on a Chip)のLincroftと、コンパニオンチップの「Langwell(ラングウェル)」で構成される。前世代のハンドヘルド機器用プラットフォームである「Menlow(メンロー)」がAtomプロセッサチップと周辺回路チップに分かれていたのに対し、MoorestownではAtomプロセッサをCPUコアにして周辺回路を同一のシリコンダイに取り込んだSoCとしたのが、大きく異なる。プロセッサをSoC化することでボードの実装占有面積を縮小するとともに、消費電力の大幅な低減を図った。
LincroftはCPUコアのほかに2次元/3次元グラフィックスコアやDRAMコントローラ、ディスプレイ・コントローラなどを内蔵する。製造技術は45nmの高誘電率膜/金属ゲート(High-k/Metal gate)トランジスタ、CMOSプロセス、9層銅配線で、シリコンダイ面積は約65平方mmである。
講演では、MoorestownはMenlowに比べると待機時消費電力は50分の1、オーディオ再生時の消費電力は20分の1、720p動画再生時の消費電力は3分の1になると述べていた。容量が1,500mAhのバッテリを使用した場合に、待機状態で10日間、オーディオ再生で2日間、720p動画再生で5時間のバッテリ寿命があるとしている。ちなみに待機時の消費電力はわずか21mWである。
Moorestownプラットフォームの消費電力。左側の青色のバーがMenlowの、右側の紫色のバーがMoorestownの消費電力 |
Lincroftの消費電力低減手法の特徴は、動作モード(ステート)の違いに応じて各ブロックへの電力供給を停止する「Power Gating(パワーゲーティング)」を徹底的に駆使したことにある。pチャンネルMOSFETによる電力供給停止回路「Power Gate Cell」をシリコンダイ全体に多数、配置した。Power Gate Cellの数は4,200個にも上る。シリコンダイ面積にPower Gate Cellが与える増分は約2%、消費電力にPower Gate Cellが与える増分は約1%に過ぎない。パワーゲーティングで制御する電圧ドメインの数は19個、電源レールの数は12個である。
Lincroftのシリコンダイにおける電圧ドメイン(PD)のレイアウト |
またパワーゲーティングをCPUコアだけでなく、SoC全体に適用した低消費電力ステートを設けた。このステートは「S0i1」および「S0i3」と名付けられている。「S0i1」はCPUコアがC6ステート、ディスプレイ・コントローラが電源オフ、グラフィックスがパワーゲーテッド、DRAMコントローラがセルフリフレッシュ、C6ステート用SRAMは電源オン、の状態である。このときLincroftの消費電力はおよそ8mWだったという(初期生産のシリコンダイにおける測定結果)。
「S0i3」はさらに消費電力を低減したステートで、CPUコアが電源オフ、ディスプレイ・コントローラが電源オフ、グラフィックスが電源オフ、DRAMコントローラがセルフリフレッシュ、C6ステート用SRAMが電源オフとなっている。このときLincroftの消費電力はわずか70μWにまで下がる(初期生産のシリコンダイにおける測定結果)。
次期スーパーコンピュータ用CPU「SPARC64 VIIIfx」は、動作周波数が2GHzのときに最大で128GFLOPSの演算処理性能をたたき出す高性能プロセッサである。前世代のスーパーコンピュータ用CPU「SPARC64 VII」に比べ、演算性能は3倍になり、消費電力は約2分の1になっている。
富士通グループが開発してきたSPARC64プロセッサの略史。「HotChips 21」の講演資料から | 「SPARC64 VIIIfx」の概要。浮動小数点レジスタを256本(SPARC64 VIIでは128本)に増やす、SIMD命令を追加するなどの改良によって演算性能を向上させている。2009年8月に開催された「HotChips 21」の講演資料から |
SPARC64 VIIIfxの開発で目標とする消費電力は58Wである。しかし設計当初の消費電力解析で得た消費電力の推定値は、動作周波数2GHzのときに75Wと目標仕様を大きく上回っていた(電源電圧は1.0V)。そこでいくつかの工夫によって消費電力を削減していった。
リーク電力の削減では、放熱に水冷を導入した。シリコンダイの温度を30℃以下に維持することで、空冷の85℃に比べて7Wもの電力を削減した。またチャネル長の異なる2種類のトランジスタを用意し、論理セルの91.5%をチャネル長の長い(すなわちリーク電流の低い)トランジスタで構成した。
動作時消費電力(ダイナミック電力)の削減では、まず、分岐予測管理回路に分岐履歴テーブルのほかに、シングルループ・エントリバッファと呼ぶ分岐予測アドレス用バッファを設け、分岐履歴テーブルへのアクセス回数を削減した。これで消費電力を最大で890mW削減した。
また、浮動小数点レジスタへの不要なアクセスが実行されていたのを禁止する回路を設けることで、浮動小数点レジスタへのアクセス回数をおよそ3分の1に減らした。これで消費電力を最大で1,400mW減低減した。
さらに、1次キャッシュ・モジュールの改良で最大540mWを削減する、電源電圧を調整するなどの工夫によって消費電力を減らしていった。
その結果、シリコンダイの消費電力を目標仕様と同じ58Wに下げることができた(動作周波数2GHz、電源電圧1.0V)。なお消費電力の内訳は63%がCPUコア、22%が2次キャッシュ、15%がDDRおよびシリアルインターフェイスなど、となっている。
LincroftとSPARC64 VIIIfxは対極にあるプロセッサだ。バッテリ駆動を前提に消費電力を極限まで下げようとしたのがLincroftで、演算性能を極限まで追求するスーパーコンピュータでの利用を前提に消費電力を抑えようとしたのがSPARC64 VIIIfxである。このため、いずれの講演も消費電力を削減する技術について述べたのだが、両者の技術内容はずいぶんと違う。その違いはそのまま、両者の目的の違いを反映しているとも言えるだろう。
(2010年 6月 21日)
[Reported by 福田 昭]