平成28年度 秋期 午前 問10
コンピュータ構成要素
CPUにおける投機実行の説明
CPU における投機実行の説明はどれか。
- ア依存関係にない複数の命令を,プログラム中での出現順序に関係なく実行する。
- イパイプラインの空き時間を利用して二つのスレッドを実行し,あたかも二つのプロセッサであるかのように見せる。
- ウ二つ以上の CPU コアによって複数のスレッドを同時実行する。
- エ分岐命令の分岐先が決まる前に,予測した分岐先の命令の実行を開始する。
答えと解説を見る
✓ これが正解エ分岐命令の分岐先が決まる前に,予測した分岐先の命令の実行を開始する。
解説
分岐先が決まる前に予測して先に実行することです。
処理装置は命令を流れ作業のように少しずつ重ねながら進めます。ところが分岐命令に出会うと、次にどちらへ進むかが確定するまで後続の命令を流し込めず、流れが止まってしまいます。そこで、確定を待たずに進む先を見越し、その先にある命令の実行を先に始めてしまう工夫があります。見越しが当たっていればそのまま結果を使えるので止まらずに済み、外れたときは先に進めた分を捨ててやり直します。設問が問うているのはこの工夫、すなわち投機実行の説明でした。残る三つも処理を速くするための工夫ではありますが、拠りどころが見越しではありません。順序を組み替えるもの、空き時間に別の流れを差し込むもの、実行する装置そのものを増やすもので、いずれも確定していない先へ踏み込む話ではありません。
ほかの選択肢はなぜ違うのか
- ア依存関係にない複数の命令を,プログラム中…:依存関係にない複数の命令を、プログラム中での出現順序に関係なく実行すると述べています。すでに読み込まれている命令の順序を組み替えて空きを埋める工夫であり、まだ決まっていない先を見越してはいません。
- イパイプラインの空き時間を利用して二つのス…:パイプラインの空き時間を利用して二つのスレッドを実行し、あたかも二つのプロセッサであるかのように見せると述べています。空いた時間を別の流れで埋める工夫で、分岐の行き先を見越す話ではありません。
- ウ二つ以上の CPU コアによって複数のス…:二つ以上の CPU コアによって複数のスレッドを同時実行すると述べています。実際に処理を行う装置を増やして同時に走らせる話であり、一つの流れの中で確定前の先へ踏み込む工夫とは別のものです。
出典:平成28年度 秋期 基本情報技術者試験 午前 問10
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)