待機状態とは、外部メモリや応答が遅い他のデバイス にアクセスするときにコンピュータプロセッサで発生する遅延です。
コンピュータのマイクロプロセッサは、一般的に、CPU が読み書きするデータを保持するコンピュータの他のサブシステムよりもはるかに高速に動作します。これらのサブシステムの中で最も高速なメモリでさえ、CPU が処理できる速度でデータを供給することはできません。2011 年の例では、Intel Core 2やAMD Athlon 64 X2などの一般的な PC プロセッサは数GHzのクロックで動作します。つまり、1クロック サイクルは 1ナノ秒未満(最新のデスクトップ CPU では通常約 0.3 ns ~ 0.5 ns) ですが、メイン メモリのレイテンシは約 15 ~ 30 ns です。一部の第 2 レベルのCPU キャッシュは、プロセッサ コアよりも低速で動作します。
プロセッサが外部メモリにアクセスする必要がある場合、プロセッサは要求された情報のアドレスをアドレス バスに配置し始めます。その後、応答を待機する必要があります。応答は、数十サイクル、場合によっては数百サイクル後に返されることがあります。待機に費やされる各サイクルは、待機状態と呼ばれます。
待機状態はプロセッサのパフォーマンスを無駄にするだけです。最新の設計では、CPU キャッシュ、命令パイプライン、命令プリフェッチ、分岐予測、同時マルチスレッドなど、さまざまな技術を使用して待機状態を排除または隠そうとします。単一の技術では 100% 成功することはありませんが、組み合わせることで問題を大幅に軽減できます。
エネルギー節約
待機状態は、CPU に他に作業がない場合に、待機状態中にメイン プロセッサ クロックを遅くしたり、一時的に停止したりすることで、プロセッサのエネルギー消費を削減するために使用できます。データを待機するタイトなループで無駄に回転する代わりに、この方法でクロック速度を散発的に低下させることで、プロセッサ コアの温度を下げ、ポータブル コンピューティング デバイスのバッテリ寿命を延ばすことができます。
IBM メインフレームにおける別の意味
IBM メインフレームでは、待機状態という用語は別の意味で使用されています。待機状態とは、CPU が停止していることを指します。これは、何らかの重大なエラー状態 (オペレーティング システムからIPLまでの回復不能なエラーなど) が原因である可能性があります。待機状態は、PSW のビット14 が1 に設定されることで示され、PSW の他のビットは待機の理由を示す待機状態コードを提供します。z /Architectureモードでは、待機状態コードはビット 116-127 にあります。[1]
参照
参考文献
- ^ 「IBM Knowledge Center」www.ibm.com 2016年12月9日2017年4月14日閲覧。
