next up previous contents index
Next: 汎用コンピュータと専用コンピュータ Up: コンピュータの将来 Previous: コンピュータの将来   Contents   Index

c-MOSゲートの動作速度と電力損失

前述のように,コンピュータの発展は集積回路の発展と強く結び付いている。 その発展の元には,スケール則(scaling rule)という原理が存在する。 これは一口で言えば,トランジスタのサイズを小さくすればするほど, その特性が高機能になるという概念であり, このために,半導体メーカーは競って微細化技術を開発し, これがムーアの法則(Moore's law)と呼ばれる指数関数的経験則に沿った発展を促したのである。

本節はスケール則のやや詳しい説明を行う。 c-MOSインバータは消費電力0と言ったが,実際には電力消費もあるし, 動作速度も有限である。 遅延について言えば,デバイスそのものも動作遅れがあるし,さらに大きな 原因として,次段のゲートや配線の持つ静電容量の充電時間遅れがある。 静電容量があるから出力電圧を上げる際には充電時間がかかるし,出力電圧を 下げる際には放電時間がかかる。 また,充放電の際,電力損失も発生する。

デバイスそのものが持つこの時定数は内因性遅延(intrinsic delay)と呼ばれる。 これは,n-MOS FETやp-MOS FETで,ゲート電位を変えてOFFからONにする際, ゲート下に電荷を呼び込んでチャネルを形成する時間である。 概ね,ゲート容量$C_g$とチャネル抵抗$R_c$との積$\tau_0=C_gR_c$で与えられる。 この時間は,結局は電荷がゲートを通過する走行時間(transit time)と一致する。 内因性遅延はデバイスの動作に起因するため, 集積回路のいろいろな遅延を議論するための比較標準のような使われ方をするために, しばしば現れるが, 実はもっと大きな遅延があるために,普通は無視できることが多い。

その他の遅延は総じて外因性遅延(extrinsic delay)と呼ばれる。 次段のゲート容量の充放電時間はまさにゲート容量へチャネル抵抗を経由して電荷を出し入れする時間で計算できる。 もし,次段ゲート容量が前段のゲート容量と同じであると, その時間は$\tau_0=C_gR_c$で与えられる。 もし,次段に複数のFETが接続されていると, $C=fC_g$が成立するため $\tau=fC_gR_c=f\tau_0$となる。 ここで$f$は一つのFETが後段のいくつのFETを駆動するかを示す ファンアウト(fan out)と呼ばれる概念である。

現在の集積回路,あるいはボード上に作られた回路でもっとも大きな遅延は, 配線の持つ容量の充放電時間である。 というのは,回路規模が大きくなるにつれ,FET間の接続が膨大になってきたからであり, また,関係の深いFET同士を必ずしもすぐ近くに配置するのが困難になってきたからでもある。 実は現在,前に述べた内因性遅延やファンアウトによる遅延はほとんど無視でき, 配線遅延が圧倒的になっている。

配線容量は出力線から接地側,つまり0V側に対して静電容量を持つ。 出力電圧を上げるときには,電源である$V_h$よりp-MOSを経由して, この静電容量に充電する必要がある。 FETのチャネル抵抗(時間とともに変化するので平均的な抵抗)を$R_c$ とすると,充電にはおよそ$\tau=CR_c$ぐらいの時間が必要となる。 また,出力電圧を下げるときにはFETのチャネル抵抗によって放電を 行うが,それにも同じ程度の時間を必要とする。 先程のファンアウトの係数を利用して,ここでも$C=fC_g$と記載すると, $\tau=fC_gR_c=f\tau_0$となる。

いずれの時定数も$R_c$に,それぞれ該当する静電容量を掛けることにより得られるので, 種々の静電容量の総和をゲート容量を基準にして$fC_g$と表せば,

\begin{displaymath}
C=fC_g
\end{displaymath} (11.1)

なので,そのゲート全体の遅延時間は
\begin{displaymath}
\tau=f\tau_0
\end{displaymath} (11.2)

となる。

容量の充放電の際,各FETでは僅かであるが,エネルギー損失が発生する。 この損失は,充放電電流がチャネル抵抗を流れる際に発生するが, 元々容量に溜まっているエネルギー$CV_h^2/2$を放出することになる。 クロック周波数が$f_c$のとき,クロックのたびごとに出力論理が 反転するものとすると,その平均電力は

\begin{displaymath}
P_0=f_cCV_h^2/2
\end{displaymath} (11.3)

で与えられることになる。 再び$C=fC_g$とし,このゲートの出力の反転確率を$p$としよう。 すると,このゲートでの電力消費は
\begin{displaymath}
P=pfP_0
\end{displaymath} (11.4)

となる。 ただし, $P_0=f_cC_gV_h^2/2$である。

ゲートの動作時間と消費電力が得られたので,次に, これらがFETのサイズにどう依存するかを調べよう。 簡単にサイズと書いたが,FETには縦も横も高さもある。 通常スケール則という場合には,縦横高さすべてを同じ比$1/k$に縮小することを意味する。 さらに,単位長当たりの電場が一定に維持されるよう, かける電圧も同じ比$1/k$に縮小することにする。

FETの内因性遅延$\tau_0$は, 電荷のチャネルを通過する時間,つまり走行時間で与えられる。 したがって次式が成立する。

\begin{displaymath}
\tau_0=C_gR_c=\frac{L}{v}=\frac{L^2}{\mu V_{ds}}
\end{displaymath} (11.5)

速度は電場の強度に比例するがその比例係数を$\mu $とした。 また$V_{ds}$は主電極間の電位差である。 $L$$V_{ds}$$1/k$になると,走行時間も$1/k$に比例して短くなり, 結局 $\tau_0\propto1/k$が成立する。 つまりはゲートごとの動作時間も $\tau\propto1/k$となり, 高速で動作するようになるのである。 これは大変に朗報である。 加工技術を上げて微細化すればするだけ, 回路は高速で動作できるようになるのである。

続いて消費電力を検討しよう。 消費電力の式の中に$C_g$が現れるが, このサイズ依存性を検討しておく必要がある。 一般に容量は面積に比例し,電極間の間の距離に反比例するから, 結局$C_g\propto1/k$となる。 これに$V_h^2$が掛かること,さらに$f_c$$k$倍で速くなることから, $P\propto1/k^2$となる。 つまり単体のFETの消費電力はサイズとともに急速に減少する。 チップ単位面積当たりの消費電力は,集積度が$k^2$で上がるため, FETのサイズに依存せず,一定となる。 これも朗報である。 消費電力は発熱に対応するが,これがサイズに依存せずほぼ一定であるということは, 集積化の障害要因にならないことを示している。

以上が2000年ごろまでのトレンドであり,FETのサイズを減らすことにより高集積, 高速になるだけで,発熱は変わらないというスケール則が成立したため, 可能な限り,サイズを減らす努力をしてきたのである。

2000年を越えるころから,このスケール則に影が差してきた。 それは,FETの出力電圧が小さくなり過ぎると, 温度による揺らぎの影響が出てくることである。 このため,$V_h$は約1V程度から下げることが困難となってきたのである。 つまり,サイズだけ$1/k$になるが, 電圧は一定というスケール則を考えねばならなくなってきたのである。

これはチャネルにかかる電場を強くし, 結果として充放電時間は$1/k^2$に比例して短くなり,高速化は果たせるものの, FET1個当たりの消費電力は$k$に比例し, 単位面積当たりの発熱は$k^3$で増大することとなったのである。 もちろん,いきなり$k^3$に比例し始めたわけではないが, それでも発熱はかなり深刻な問題となってきたのである。

問題1
電圧一定のときのスケール則を確認せよ。

この発熱の増大に対処するには,放熱をよくするか, 集積度を抑えるしかなくなる。 かつてはICをそのまま置いていたのが,大きな放熱板を必要とするようになり, 現在では水冷も本気で考えられている。 集積度を抑えることも少しずつ始まっている。 あるいは,部分ごとに小まめに電源を落とすなどの, 細かい省エネ設計なども採用されつつある。


next up previous contents index
Next: 汎用コンピュータと専用コンピュータ Up: コンピュータの将来 Previous: コンピュータの将来   Contents   Index
Yoichi OKABE 2008-03-29