正答4
解説
正解は4です。
CPUの高速化技術のうち、投機実行(speculative execution)の説明を選ぶ問題です。
投機実行は、まだ確定していない処理を予測に基づいて先に実行しておく技術です。
【選択肢別解説】
1:× これはアウトオブオーダ実行の説明です。
依存関係のない命令を、プログラム上の順序に関係なく実行できるものから実行します。
2:× これはSMT(Simultaneous Multi-Threading)の説明です。
パイプラインの空きを使って複数スレッドを実行し、論理的に複数のプロセッサに見せます。
3:× これはマルチコアプロセッサによる並列処理の説明です。
物理的に複数あるコアで、複数のスレッドを同時に実行します。
4:○ 投機実行は、分岐先が確定する前に、予測した分岐先の命令を実行し始めます。
予測が当たればそのまま結果を使い、外れたら結果を破棄して正しい分岐先から実行し直します。
【ポイント】
投機実行は分岐予測と組み合わせて、パイプラインの停止を減らすための技術です。
「分岐先が決まる前に実行」という言葉が見分けるキーワードです。