CPUの消費電力はクロックに(ほぼ)比例する

  • このエントリーをはてなブックマークに追加

CPUのデータシートを見たことがあれば、「低消費電力モード」だとか「低速モード」だとか「低速オシレータ」とかそんな言葉を見たことがあると思います。

そういったものを見ていると、

 

「CPUは速度を遅くすると電気を消費しないんだ」

 

と分かってくると思います。

でも、なんでクロックが遅いと電気を食わないのでしょうか。

CPUを抵抗成分だと仮定すると、電圧が一定ならばクロックがどうだろうと電流は同じはずです。

 

ということは、CPUは電源から見て抵抗ではないのです。

 

実は、CPUというのは、というかデジタル回路というのは、ロジックが遷移するときにだけ電気を食います。

High→Low

Low→High

のときに電気を消費するわけです。

レベルが変化しなければ電気は理想的にはゼロ、実際にも微々たるものです。

 

何故かと言うと、CPUがCMOSというFET回路の塊だからです。

大昔のIC・CPUはトランジスタで出来ていました。

トランジスタというのはONにするためには常に電流が流れていないといけません。

もし電流が流れなければOFFになってしまいます。

CPUの中には大量のデジタル信号があり、当然のONのトランジスタも多いわけですから、合計では莫大な電流を常時消費するわけです。

しかし、FET回路は電圧駆動です。

電圧をかければ電流がほぼ流れずON/OFFできます。

つまり、CPUの中でONのFETが多くても別に電流が流れないわけです。

理想ではなく、現実でもほとんと電流が流れません。

つまり、止まっている状態ではほとんど電気を食わないのです。

しかし、回路には寄生容量があります。コンデンサがあちこちについているのです。

なので、ロジックが変化するときにはそのコンデンサを充電・放電する必要があり、それが電流を消費するのです。

CMOS回路自体の消費電流は微々たるものだが、寄生容量が電気を食うということです。

 

そして、クロックが速ければロジックの変化が大きい=充放電回数が多い=消費電流が多い。という関係が成り立つわけです。

 

以上、小田切でした。

  • このエントリーをはてなブックマークに追加

Warning: extract() expects parameter 1 to be array, string given in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 314

Warning: Illegal string offset 'title' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 318

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 318

Warning: Illegal string offset 'content' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 320

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 320

Warning: Illegal string offset 'button_text' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 322

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 322

Warning: Illegal string offset 'button_url' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 323

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 323

Warning: Illegal string offset 'button_cvtag' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 324

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 324

Warning: Illegal string offset 'image' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 332

SNSでもご購読できます。