投機実行
出典: 平成27年度 春期 応用情報技術者試験 午前 問10 (IPA)
CPU における投機実行の説明はどれか。
- ア 依存関係にない複数の命令を,プログラム中での出現順序に関係なく実行する。
- イ パイプラインの空き時間を利用して二つのスレッドを実行し,あたかも二つのプロセッサであるかのように見せる。
- ウ 二つ以上の CPU コアによって複数のスレッドを同時実行する。
- エ 分岐命令の分岐先が決まる前に,あらかじめ予測した分岐先の命令の実行を開始する。
正解と解説を見る
正解: エ
- ア: 依存関係のない命令を出現順序に関係なく実行するのは、アウトオブオーダ実行です。
- イ: パイプラインの空きで 2 つのスレッドを動かし 2 つのプロセッサに見せるのは、ハイパースレッディング (SMT) です。
- ウ: 複数の CPU コアでスレッドを同時実行するのは、マルチコアプロセッサです。
- エ: 分岐先が決まる前に予測した分岐先の命令を実行するので正しい答えです。
ポイント
- 投機実行: 分岐先が決まる前に、予測した分岐先の命令を先に実行 しておく方式です。予測が外れたら結果を捨てます。
- パイプラインを止めずに済むので、性能が上がります。