『電力を消費する』ということ
本題に入る前に、電力を消費するということについて考えてみよう。電力の消費を物理的な数式モデルで考えると、図1のようになる。すべての電力の消費をこの数式モデルで表現できるわけではないが、考え方の基本となる。
図1 電力消費の数式モデル |
この数式モデルでは、全体の消費電力は「動的な消費」と「リーク電流による消費」(静的な消費)に分けられ、電圧と周波数が大きくなるほど消費電力(または消費エネルギ)が大きくなることが分かる。特に電圧(VDD)は2乗となるため、極力下げたほうが効果的だと言える。一方で、最近では組み込み機器向けのプロセッサの周波数も数百MHzにも上ることがめずらしくなくなり、周波数の影響も無視することはできなくなってきている。
それでは、システムは電圧と周波数をつねに最小にすればよいのであろうか。確かに、これにより消費電力は低減することができる。しかし、これではせっかくの高速なプロセッサが本来の性能を発揮できなくなってしまう。
低消費電力化のアプローチにはいくつもある。例えばマルチコアプロセッサでは、コアを複数用意して、個々の周波数は低く抑えながらもシステム全体の性能は維持するという考え方を用いている。これにより、単一のコアで高速に実行させるよりも消費電力を低く抑えることができる。
また、単一のプロセッサコアで動的な消費電力を抑えるための方法として、「DVFS」(Dynamic Voltage and Frequency Scaling)を使うという方法がある。これは電圧と周波数を動的に変化させるというものである。
次項では、このDVFSについて述べる。