web-dev-qa-db-ja.com

インテルは「引退」とはどういう意味ですか?

Intel Manual には、「誤って予測された分岐命令が廃止されました」などの説明があるパフォーマンスイベントが多数記載されています。この文脈でretiredは正確にはどういう意味ですか?

インテルの パフォーマンス分析ガイド をすでに見てきたことに注意してください。これは、7ページの図を参照して、「リタイア」は非常に正確な意味(8ページ)を持っていると述べていますが、 Retirement / Writebackの意味を正確に理解するための背景知識。そのプロセスは正確には何であり、それは何を含みますか?

24
merlin2011

コンテキストでは、「リタイア」とは次のことを意味します。命令( microoperation 、μop)は「リタイアユニット」を離れます。これは、 Out-of-order CPUパイプラインで命令が最終的に実行され、その結果が正しく、 architectural state で順番に実行されているかのように表示されることを意味します。パフォーマンスのコンテキストでは、これは実際に実行された命令の数を計算するためにチェックする必要がある数です(有用な出力を使用)。コンテキストが省エネである場合、OOOパイプライン(「ISSUED」カウンターまたは「EXECUTED」カウンター)で実行を開始した命令の数を確認し、その数をリタイアした操作の数と比較できます。大きな違いは、CPUが多くの無駄な作業を行い、過剰な電力を使用していることを示しています。

リタイアメントユニットの簡単な説明は次のとおりです。 http://users.utcluj.ro/~baruch/book_ssce/SSCE-Intel-Pipeline.pdf

5.4.7.4。リタイアメントユニット

リタイアメントユニットは、投機的に実行されたマイクロオペレーションの結果をユーザーに表示されるレジスタに書き込み、マイクロオペレーションをリオーダーバッファから削除します。リタイアメントステーションと同様に、リタイアメントユニットは、リオーダーバッファ内のマイクロオペレーションのステータスを継続的にチェックし、実行され、命令プール内の他のマイクロオペレーションとの依存関係がなくなったものを探します。次に、完了したマイクロオペレーションを元のプログラム順序で廃止します。

リタイアメントユニットは、クロックサイクルごとに3つのマイクロオペレーションをリタイアできます(/ <-これは古くなっている可能性があります/)。マイクロオペレーションを終了すると、結果がプロセッサのレジスタファイルやメモリに書き込まれます。結果が書き込まれた後、マイクロオペレーションはリオーダーバッファから削除されます。

ユニットの詳細については、こちらをご覧ください(Agner Fogによる) http://www.agner.org/optimize/microarchitecture.pdf 章CPUの廃棄

31
osgx