電源供給系

マイクロプロセサは電気で動くので、当然、電気を供給する必要がある。AC100~240Vの電源から電源ユニットで12V程度のDC電源を作り、それを使ってDC-DCコンバータでプロセサチップに供給する1V程度の電源を作るという構成が一般的である。

そして、DC-DCコンバータからプリント板の配線でプロセサを搭載するソケットまで電源を供給し、ソケット、パッケージ内の配線、チップ内の配線を経由して論理回路に電気が供給される。この電源供給であるが、最近のハイエンドプロセサでは電源電圧はほぼ1.0Vで、電流は数10~100A程度を必要とする。

電源供給系のインピーダンス

しかし、電源電圧が下がると、それに逆比例して論理回路の遅延時間が増加し動作できるクロックが下がってしまうので、通常、論理回路に供給する電源電圧の変動は数%程度しか許容されない。これらの電源供給系の配線は直流抵抗があるし、インダクタンスもある。1Vの電源の5%は50mVであり、100Aの電流で50mVのドロップに抑えるためには、直流抵抗は0.5mΩ以下でなければならない。

より大きな問題は、プロセサの消費電力は動作状態に従って変化し、それに伴って電源電流が変化することである。最近では、消費電力を抑えるためにクロックゲートやパワーゲートなどの手法を使って不要な部分の消費電力をカットする手法が用いられるので、アイドルな状態とビジーな状態の消費電力の差が拡大する傾向にある。電源電流が変化すると、電気磁気学が教えるように電源供給系のインダクタンスにはL×di/dtの電圧が生じる。

電源電流がどのように変化するかはプロセサが実行するプログラムによって千差万別であり、50mV以下の電源電圧変動に抑えるためには、周波数領域で考えると、直流からクロック周波数の10倍の数10GHz程度までの範囲で電源供給系のインピーダンスを0.5mΩ以下に抑える必要がある。

なお、Intelの130W級のプロセサでは8%の電源電圧低下を許容し、0.8mΩの電源供給系を実現する設計となっている。電源電圧低下の許容量を大きくとると電源供給系の設計は楽になるが、電源電圧が下がると回路の動作速度が遅くなるので、その分、高速に動作するトランジスタを開発するか、論理設計でより高速に動作する回路を設計するかが必要となり、半導体プロセスや論理設計者へのしわ寄せが大きくなる。また、NANDやNORなどのCMOSスタティック論理回路ではスイッチ速度が遅くなる程度であるが、SRAMや高速I/O回路などでは、電源電圧に大きなノイズが載ると誤動作してしまう可能性があり、回路設計にも負担が掛り、結果として動作速度が遅くなるとか消費電力が増えるという影響が出る。

図3.1 プロセサへの電源供給系

プロセサの中の論理回路への電源の供給系を模式的に書くと、図3.1のようになる。左端はDC-DCコンバータで、低周波領域では直流電源として振る舞うが周波数が高くなるとインピーダンスが高くなるので、この図ではインダクタンスとして表している。

そしてプリント板のインダクタンスとプリント板に付けられたキャパシタンスがある。さらにプリント板に取り付けられたソケットとそれに繋がるプロセサのパッケージのインダクタンスがあり、パッケージに搭載されたキャパシタンスがある。そこからプロセサチップの電源や入出力端子をパッケージに接続するバンプ(はんだや銅などでチップ上に形成した直径、高さともに50~100μm程度の突起)があり、チップ上の電源配線を通ってプロセサ内部の論理回路やメモリに繋がっている。また、プロセサの論理回路やメモリもキャパシタンスを持っており、このキャパシタンスが右端に書かれている。これらのどのコンポーネントも厳密には抵抗、インダクタンス、キャパシタンスがあるが、この図では電源インピーダンスに及ぼす影響が一番大きい要素だけを書き、抵抗は省略している。

そして、電源供給系としては(4)のプロセサ回路から電源供給系を見込んだところで、直流から数10GHzまでの全周波数帯でミリオーム以下のインピーダンスが実現されている必要がある。右端に書かれたチップ上のキャパシタンスが十分に大きければ話は簡単であるが、チップ上に作ることができるキャパシタンスは極めて限られている。そのため、チップ上のキャパシタンスは非常に高い周波数領域で目的とする低インピーダンスを実現し、このキャパシタンスでは間に合わない周波数領域は(3)から左の部分で低インピーダンスを実現する。さらにパッケージのキャパシタンスで不足の周波数領域は(2)から左のプリント板に取り付けられたキャパシタンスでカバーし、最も低い周波数領域は(1)のDC-DCコンバータでカバーするということになる。