本連載はHisa Ando氏による連載「コンピュータアーキテクチャ」の初掲載(2005年9月20日掲載)から第72回(2007年3月31日掲載)までの原稿を再掲載したものとなります。第73回以降、最新のものにつきましては、コチラにて、ご確認ください。

よく知られているように容量を充放電するのに必要なエネルギーはC*V^2であり、消費電力は、これに1秒あたりの充放電回数α*fを掛けたものになる。ここでfはクロック周波数であり、αは回路の動作率である。回路の動作率はクロック分配系のようにサイクル毎に充電と放電を行う回路では1.0であるが、一般の論理回路ではサイクル毎に1、0、1、0を繰り返す場合でも1サイクルに充電、または放電が1回であり、αは0.5となる。

前回述べたように、トランジスタのゲート容量は微細化にはあまり影響されずチャネル幅1μmあたり1fF程度である。また、配線は1mmあたり100fF程度であると考える。これらの値は、当たらずとも遠からずの値であるが、当然、使用する半導体プロセスにより異なるので、実際にはそれに合わせて見積もりを行う必要がある。

  • CMOS LSIの消費電力要素であるゲートと配線

    CMOS LSIの消費電力要素であるゲートと配線(下位2層だけを表示)を示す

一例であるが、上図のように1.2fFの入力容量を持つ2入力NANDゲートが1平方mmに15万ゲートあると、入力容量の合計は360pFとなる。一方、配線ピッチを(ITRSの最小寸法より緩めであるが)200nmとすると、びっしり配線を作ると1平方mmの中には長さ1mmの配線を5000本作ることができる。しかし、実際のLSIでは配線の無い部分があり、また、電源配線もあるので、信号配線は全体の30%程度というのが普通であるので、1平方mmあたりの配線容量は150pF程度である。

これは配線層1層あたりの容量であり、第23回に配線断面の電子顕微鏡写真を載せたように下層が密な配線、上層はピッチが大きくなり単位面積あたりの配線容量は減少するので、10層配線の場合は、全体では密な下層配線6層分程度の容量となる。

このため、典型的には65nm世代のチップ1平方mmあたり、360pFのゲート容量と900pF程度の配線容量がある。電源電圧1.1V、クロック2GHzでαが1.0とすると、C*V^2*α*fは3.05Wとなる。回路の動作率は論理設計に依存し、また、プロセサがどのような処理を行っているかで変わり、プロセサ内でも回路ごとに異なるので、一定値ではない。しかし、非常に大雑把な目安としてはα=0.1程度(論理回路だけで見ると0.05程度であるが、クロック分配系やクロックが直接接続される部分は1.0である)である。この場合、1平方mmあたりの電力は0.3Wとなり、50平方mmのプロセサコアは約15Wを消費する。

最近では、消費電力が大きな問題であり、不要な回路へのクロックの供給を止めるクロックゲートを行うのが一般的であり、これによりαを小さくすることが出来、IBMなどの発表によると~20%程度電力を削減している。つまり、クロックゲートにより、15Wを12W程度に減少させることが出来る。

一方、大容量の2次キャッシュはタグを引いてからヒットした部分だけを読み出す方式が一般的であり、キャッシュを構成するメモリの一部だけが動作すれば良いので、動作率は更に小さい。このため、4MBの2次キャッシュを含めて、チップの消費電力は15Wから20W程度と見積もられる。

以上が容量の充放電によるダイナミック電力であるが、最近の微細化されたトランジスタではゲート電圧をゼロにしてオフ状態としても電流が漏れるリーク電流が無視できない値である。また、極めて薄くなったゲート絶縁膜をトンネル効果により電子が通り抜けることによるゲートリークも問題になりつつある。これらによる漏れ電流の値は半導体プロセス依存であるが、ITRSロードマップの値はトランジスタのチャネル長1μmあたり400nA程度である。チャネル長0.8μmのトランジスタ 4個で2NANDゲートが構成されており、半分がリークに寄与する(オフのトランジスタだけがリークに寄与する)とすると、1.6μm分の640nAのリークと見積もられる。これが500万ゲートあるとすると、3.2Aのリークとなる。

メモリセルはチャネル長 0.1μm程度のトランジスタ6個で出来ており、同様に計算すると1bitあたりのリークは120nAのリークである。4MBの場合は、これがほぼ40Mbitあるので、2次キャッシュ全体のリークは4.8Aとなる。

両者をあわせると8Aのリーク電流であり、1.1V電源とすると8.8Wとなる。そしてダイナミック電力をあわせると、全消費電力は25Wから30W程度となる。但し、2次キャッシュのメモリのリーク電流はかなり大きいので、各社ともメモリには高めのVthの低リークトランジスタを使うなどの方法でリーク削減対策を行っており、上記のリーク電流より小さくなっているのが普通である。

IntelのCore Duoプロセサは65nmプロセスを使用し、チップサイズは約90平方mm、2次キャッシュは2MBである。2MBの2次キャッシュを20平方mm程度とみると、各コアは35平方mm程度である。上記の計算を当てはめると、2GHzクロックの各コアのダイナミック電力は約10W、2次キャッシュのダイナミック電力は2W程度と推定される。そしてリーク電流は各コアが2.2A程度、2次キャッシュが2.4A程度となり、これらを合計すると約30Wとなる。

Core DuoのTDP(Thermal Design Power)は31Wであるが、TDPは製品チップとしての上限値であり、Core Duoの標準的なチップの消費電力は20~25Wと思われる。ということで、大雑把な見積もりであるが、オーダーとしての値は一致している。