This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
ハードウェアスカウトは、通常はアイドル状態であるプロセッサ実行リソースを使用して、キャッシュミス時にプリフェッチを実行する技術です。スレッドがキャッシュミスによって停止すると、プロセッサパイプラインはレジスタファイルのチェックポイントを作成し、ランアヘッドモードに切り替えて、メモリを待機しているスレッドからの命令発行を継続します。ランアヘッドモードの実行スレッドはスカウトスレッドと呼ばれます。データがメモリから戻ると、プロセッサはチェックポイントからレジスタファイルの内容を復元し、通常の実行モードに戻ります。
ランアヘッドモード中の計算はプロセッサによって破棄されますが、スカウティングによってメモリレベル並列性(MLP)が向上するため、速度が向上します。キャッシュ階層に追加されたキャッシュラインは、プロセッサが通常モードに戻った際に再び使用されることがよくあります。
ロックプロセッサースカウト
サンのRockプロセッサ(後に開発中止)は、一種のハードウェアスカウトを採用していました。しかし、キャッシュミスに依存しないランアヘッドモードの計算は、即座にリタイアされる可能性がありました。これにより、プリフェッチと従来の命令レベルの並列処理の両方が可能になりました。
スカウティング vs. SMT
スカウティングと同時マルチスレッド(SMT)はどちらも、メモリウォールに対処するためにハードウェアスレッドを使用します。スカウティングでは、スカウトスレッドはパイプラインストールを引き起こした命令と同じ命令ストリームから命令を実行します。SMTの場合、SMTスレッドは別のコンテキストで命令を実行します。
したがって、SMT はプロセッサのスループットを向上させ、スカウティングはキャッシュ ミスの数を減らすことでパフォーマンスを向上させます。
参照
参考文献
- キャッシュミス時に命令を事前実行することでデータキャッシュのパフォーマンスを向上
- 命令ストリームを動的に前処理することでプロセッサのパフォーマンスを向上
- 高性能スループットコンピューティング
- ランアヘッド実行: アウトオブオーダープロセッサの非常に大きな命令ウィンドウの代替
- サン:ロックが何を調理しているのか嗅ぎ分けられるか?