問題 No.3050
CPUのパイプライン処理において、プログラムの実行順序をそのまま維持せず、後続の依存関係のない独立した命令を先に実行することで、ハザードによる待ち時間を削減して処理効率を高める実行方式を指す用語はどれか。
【正解の解説】
アウトオブオーダー実行
これは定食屋の調理で、時間がかかる煮込みを待つ間に、すぐにできるサラダの盛り付けを先に済ませるようなものです。プログラムの順番にこだわりすぎず、今できる仕事をパズルのように組み替えてCPUを遊ばせないようにする、非常に賢い仕組みです。
スポンサーリンク
【その他の選択肢の解説】
スーパースカラ実行
アウトオブオーダー実行が「命令の順番を並び替える工夫」であるのに対し、スーパースカラは「料理人を何人も雇って同時に複数の料理を作る体制」を指します。どちらもCPUを速くするための技術ですが、アプローチが根本的に異なるので注意しましょう。
マルチスレッディング
マルチスレッディングは、シェフが1人で複数の注文のフライパンを同時に動かすような状況です。命令の順序をパズルのように組み替えるアウトオブオーダー実行とは異なり、OSやCPUが複数のタスクを高速に切り替えて効率よく見せる仕組みを指しています。
分岐予測機構
分岐予測は「右の道に行くか左の道に行くか」をヤマ勘で当てに行く技術であり、依存関係のない命令を後から探して順番を入れ替えるアウトオブオーダー実行とは目的やアプローチが異なります。どちらもパイプラインの効率を高めるための技術ですが、役割は全く別物です。