Wait state とは

待機状態は、応答が遅い外部メモリまたは他のデバイスにアクセスするときに、コンピュータプロセッサが経験する遅延である。
コンピュータのマイクロプロセッサは、一般に、コンピュータの他のサブシステムよりもはるかに高速に動作し、CPUが読み書きするデータを保持する。これらの中でも最も速いメモリでさえ、CPUが処理できるほど速くデータを供給することはできません。 2011年の例では、Intel Core 2やAMD Athlon 64 X2などの典型的なPCプロセッサは数GHzのクロックで動作します。つまり、1クロックサイクルは1ナノ秒未満です(通常、現代のデスクトップでは0.3 ns〜0.5 ns CPU)であり、メインメモリのレイテンシは約15〜30nsです。一部の第2レベルのCPUキャッシュは、プロセッサコアよりも低速で実行されます。
プロセッサが外部メモリにアクセスする必要がある場合、プロセッサは要求された情報のアドレスをアドレスバス上に置くことを開始する。答えを待たなければなりません。何百回ものサイクルがなければ数十回戻ってくるかもしれません。待機したサイクルのそれぞれを待機状態と呼びます。
ウェイトステートは、プロセッサの性能を完全に浪費します。現代の設計では、CPUキャッシュ、命令パイプライン、命令プリフェッチ、分岐予測、同時マルチスレッディングなどのさまざまな手法を使用して、それらを排除または隠そうとしています。 1つの手法で100%成功することはできませんが、一緒にすることで問題を大幅に軽減できます。