動作中のプロセッサがより多くの電力を消費するのはなぜですか?


16

私がコーディングを始めた頃の霧に戻って、少なくとも私が知っている限りでは、プロセッサーはすべて一定量の電力を使用していました。プロセッサが「アイドル」であるということはありませんでした。

最近では、プロセッサが非常にビジーでない場合に、主にクロックレートを動的に下げることにより、電力使用量を削減するためのあらゆる種類のテクノロジがあります。

私の質問は、低いクロックレートで実行すると消費電力が少なくなるのはなぜですか?

プロセッサの私の心像は、バイナリ1を表す基準電圧(5Vなど)と0を表す0Vです。したがって、さまざまな論理ゲートがこの電圧を切断して、一定の5Vがチップ全体に印加されると考える傾向があります。 「オフ」の場合、一定量の電力が使用されていることを意味します。これらのゲートがオンおよびオフになる速度は、使用される電力とは関係がないようです。

私はこれが絶望的に​​素朴な絵であることは間違いありませんが、私は電気技師ではありません。誰かが周波数スケーリングで実際に何が起こっているのか、それがどのように電力を節約するのかを説明できますか?プロセッサが状態に応じて多かれ少なかれ電力を使用する他の方法はありますか?例えば、より多くのゲートが開いている場合、より多くの電力を使用しますか?

モバイル/低電力プロセッサは、デスクトップのいとことどう違うのですか?それらは単純なもの(トランジスタが少ない?)ですか、それとも他の基本的な設計の違いはありますか?


8
あなたが間違っている、プロセッサは時間の経過とともに同じ量の電力を使用したことはなく、常に可変でした。物事を大幅に簡素化すると、単一のフリップフロップ値の切り替えにのみ電力が費やされると想定できます。したがって、1秒間に実行される計算が多いほど、内部レジスタの値が変更されるほど、消費される電力が増えます。

2
私の電子機器を正しく覚えていれば、「浪費された」エネルギー(別名「熱」)のほとんどは漏れ(流れが起こらないはずの(少量の)電流の流れ)です。それが起こるより多くのあなたがしているとき。)より高い電圧aとbを使用。)より高い周波数でスイッチング。最近のCPUのほとんどは、低電力状態で電圧周波数の両方を低減します(それらの1つだけを低減しても、それはまだ利得です)。

3
@ SK-logic:多くの歴史的なプロセッサーはECLロジックを使用しており、クロックレートに関係なくほぼ同じ量の電力を消費します。シーモアクレイは、CDC 8600、Cray-1、Cray X-MP、Cray Y-MP、Cray T90をECLを使用するように設計しました。ウィキペディアのECLロジックの記事には、他の企業のリストがいくつかあります。これらのマシンは決して存在しなかったと言っているのですか、それともプロセッサとしてカウントしないと言っているのですか?
-David

プロセッサは、停止命令を使用して電力を節約します。オペレーティングシステムカーネルは、タイマーを設定してプロセッサを起動し、その命令を実行してプロセッサをスリープ状態にできます。
オスカースコグ

回答:


24

これらのゲートがオンおよびオフになる速度は、使用される電力とは関係がないようです。

これはあなたが間違っているところです。基本的に、各ゲートは非常に小さな静電容量を持つコンデンサです。電圧を「接続」および「切断」することでオンとオフを切り替えると、信じられないほど小さな電荷がゲートに出入りします。

そして、移動する電荷は電流であり、電力を使用します。毎秒数十億回切り替えられる数十億のゲートからのこれらの小さな電流はすべて、かなりの量になります。


それがメモリで起こっていることです-DRAMメモリ。プロセッサからのメモリ(キャッシュ)は、コンデンサを実装していないSRAMを使用しています...

7
@ m3th0dman:コンデンサーを意図した要素については話していない。CPU内のすべてのトランジスタ、すべての要素には静電容量があります。

7

SK-logicのコメントが指摘しているように、ほとんどの電力は定常状態ではなく、フリップフロップの切り替えに実際に費やされています。

動的に削減するために、IIRCで実行できる主なものが2つあります。

  1. チップの全領域がクロックされていない場合、潜在的にそれらの領域の電源を完全にオフにすることができます

  2. クロックツリー自体は、主にシステムの最も高速なスイッチング部分であるため、システムで最大の電力消費の1つです。そのため、クロックツリー自体の電力を削減することは重要です。


クロックツリーとは何ですか?
akaltar 16

2
@akaltarクロックと同期する必要があるプロセッサのすべての要素にクロック信号を配信するすべての行の合計。
マイケルボルグワード

6

電子回路で消費される電力には2つの要素があります。

  • 漏れは、周波数定数にほぼ依存せず、技術と動作電圧に依存します。
  • 周波数に依存するスイッチング電力(さまざまな容量、トランジスタ、ワイヤのロードとアンロードによる)

消費電力を削減するために、プロセッサ設計者はいくつかの手法を使用します。

  • 負荷に応じて周波数を変更します(これはスイッチング電源にのみ作用します)
  • 電力を削減したり、必要でないときに回路の一部の電源を切ることもできます

これらの技術により、負荷に応じて、POVの周波数を下げるか、全速力で「スプリント」を実行してから回路のサブセットをカットすることで、消費電力POVを改善できます。


また、周波数を下げると、動作電圧を下げて(トランジスタが少し遅くなるため)リークを減らすことができます。
TEMLIB 16

0

低いクロックレートで実行しても、固定タスクの実行に必要なエネルギーには影響しません。漏れを考慮し、完全にオフにできる場合は、必要なエネルギーも増加する可能性があります。

クロックレートを低くするとエネルギーを節約できるのは、動作電圧を下げることできるからです。電圧を下げると、多くの場合、長い間アクティブのままでいる必要があることを補うのに十分な電力が節約されます。


私はショーンに同意しません。クロックレートを下げると、クロックチェーン全体に含まれるすべての寄生スイッチング損失が減少します。これは、一般的なCPUで大規模です。1GHz以上での私のAtomネットブックのランは、私は500MHzのまでのCPUを絞るならば、それはクーラーを実行し、目に見えて電源からの電力が少ない描画し、それがないタスクに影響を与える-それは完全に2倍の長かかります。
rdtsc 16

2
@rdtsc今は注意が必要です。ショーンは書き込みエネルギーではなく、電源を
パイプ

@rdtscあなたはパワーとエネルギーを混乱させています。最初の順序では、特定のタスクには固定数のクロックサイクルが必要です。2つの異なる動作ポイントで、バッテリーがタスクにどのように応答するかを考えてください。
ショーンフーリハネ

ああ、はい。まだここで最初のコーヒーを飲んでいます。:)私はそれを測定する必要がありますが、現代のCPUには毎秒処理する非常に多くの定期的なイベントがあるので、使用されるエネルギーは実際には低いクロックレートでわずかに多くなると思います。遅いクロックではこれらが多くなり、タスク完了までの時間が長くなります。
rdtsc 16

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.