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

教科書に書いてあるMOSトランジスタの飽和電流は、MOSトランジスタのスレッショルド電圧をVtと書くと、

  • 数式

Idsat=(β/2)*(Vdd-Vt)^2となり、単純化してIdsatの一定電流でCLの負荷容量を1/2 Vddまで充電すると、必要な時間は、

  • 数式

t=CLVdd/(2Idsat)=CL*Vdd/β(Vdd-Vt)^2となる。ここでVtがVddより十分小さいとして無視すると、

  • 数式

t=CL/(β*Vdd)となり、充電時間、つまり回路のスイッチ時間は電源電圧の逆比例することになる。そして回路のスイッチ時間はクロック周期に比例し、クロック周波数とは逆比例するので、結果としてクロック周波数は電源電圧Vddに比例することになる。

しかし、これは非常に単純化したケースで、最近の微細化されたMOSトランジスタではIdsatは(Vdd-Vt)の2乗ではなく1.5乗程度に比例するとか、Idsatの一定電流で充電されるとか、VtはVddより十分小さく無視できる、といった仮定は単純化しすぎている、という要素があり、細かく見るともっと複雑な関係になる。

例えばIntelのPentium Mプロセサで言うと、ノーマル版は1.32V程度の電源電圧で2.13GHzクロックであるのに対して、LVは1.12Vで1.5GHz、ULVは0.94Vで1.2GHzとなっている。これは規格なので実力と一致しているかどうかは不明であるが、一応これが実力とすると電源電圧比例よりも急速にクロック周波数が低下している。これがVtが無視できないことによる影響と考えるとVtは0.28V程度になり、まあ、妥当な値である。ということで、現実にはVtがVddに比べて10%~20%程度の値であるので無視できず、電源電圧を下げると電圧比例より急速に動作できる最大クロック周波数が低下する傾向にあると言える。

但し、これはあるVtのトランジスタを使ったCPUチップにおいて電源電圧を可変した場合の関係であり、半導体プロセスを変更して、低電圧での動作用にVtを下げたトランジスタ設計を行なう場合には、クロック周波数はVdd比例に近づけることが出来る。

以上のように、クロック周波数がどうなるかは半導体プロセスの設計や回路設計に依存するが、前回述べたように一定の仕事あたりの総消費電力はクロック周波数には依存せず、電源電圧だけに依存するので、バッテリライフを伸ばすにはクロックの低下を許容して動作電圧を下げる方が有利である。しかし、あまりクロックを下げると性能的に見劣りするので、処理負荷が大きいときには電力を喰わせてクロックを上げ、キーイン待ちのような状態では電源電圧を下げて電力を抑えるという設計が採られることになる。