DVFS(Dynamic Voltage and Frequency Scaling:動的電圧・周波数制御)とは、チップの処理の負荷に応じて、動作の周波数(クロックの速さ)と電源の電圧を、動作しながらこまめに切り替えて、消費電力を下げる技術です。重い処理のときは電圧と周波数を上げて速く動かし、軽い処理や待機のときは下げて電力を節約します。スマートフォンのSoCやPC・サーバーのCPU、GPUで広く使われています。
効果が大きいのは、回路が動くときの電力(動的電力)が、電圧の2乗と周波数に比例するためです(P∝CV²f)。周波数だけを下げても電力は比例して下がるだけですが、周波数を下げると回路に必要な電圧も下げられるため、電圧の2乗の効果で電力が大きく下がります。たとえば電圧を2割下げれば、それだけで動的電力は約36%減ります。
実際のチップでは、あらかじめ決めた電圧と周波数の組み合わせ(動作点)をいくつか用意しておき、OSやチップ内の電力の管理回路が、負荷や温度に応じてどの動作点を使うかを選びます。周波数はPLLで、電圧は電源の制御IC(PMIC)やチップ内の電圧レギュレータで切り替えます。チップごとの特性のばらつきに合わせて電圧を微調整する適応電圧制御(AVS)や、性能の違うコアを使い分ける仕組みと組み合わせて使われます。