平成28年度 秋期 基本情報技術者試験 午前 問10
テクノロジ/コンピュータ構成要素CPUにおける投機実行の説明はどれか。
出典:平成28年度 秋期 基本情報技術者試験 午前 問10
- ア依存関係にない複数の命令を,プログラム中での出現順序に関係なく実行する。
- イパイプラインの空き時間を利用して二つのスレッドを実行し,あたかも二つのプロセッサであるかのように見せる。
- ウ二つ以上のCPUコアによって複数のスレッドを同時実行する。
- エ分岐命令の分岐先が決まる前に,予測した分岐先の命令の実行を開始する。
正解:エ
解説
投機実行とは,分岐命令の条件が確定する前に,あらかじめ予測した分岐先の命令を先行して実行しておく技法です。予測が正しければ実行結果をそのまま利用でき,パイプラインの停止(分岐ハザード)による性能低下を防ぐことができます。予測が外れた場合は,先行して実行した結果を破棄してやり直します。
選択肢ごとの解説
- ア誤り。プログラム上の順序に関係なく依存関係のない命令を並べ替えて実行するのは,アウトオブオーダー実行の説明です。
- イ誤り。パイプラインの空き時間を利用して二つのスレッドを実行し,二つのプロセッサのように見せるのは,同時マルチスレッディング(SMT)の説明です。
- ウ誤り。複数のCPUコアで複数のスレッドを同時に実行するのは,マルチコアプロセッサによる並列処理の説明です。
- エ正しい。分岐先が確定する前に,予測した分岐先の命令の実行をあらかじめ開始しておくのが投機実行です。