平成27年度 秋期 午前 問8
コンピュータ構成要素
パイプラインに関する問題
CPU のパイプライン処理を有効に機能させるプログラミング方法はどれか。ここで,CPU は命令の読込みとデータのアクセスを分離したアーキテクチャとする。
- アCASE 文を多くする。
- イ関数の個数をできるだけ多くする。
- ウ分岐命令を少なくする。
- エメモリアクセス命令を少なくする。
答えと解説を見る
✓ これが正解ウ分岐命令を少なくする。
解説
分岐が減るほどパイプラインは途切れません。
パイプラインは、いま動いている命令が終わるのを待たずに、次の命令、その次の命令を少しずつ重ねて流し込む仕組みです。工場の流れ作業と同じで、途中で流れが止まらないほど速く仕事が片づきます。この流れを乱す要因はハザードと呼ばれ、装置の取り合い、前の命令の結果待ち、そして進む先が確定しないことの三つが知られています。プログラムの書き方で効くのは三つ目です。進む先が二手に割れると、CPU はどちらへ行くかが決まるまで先読みした中身を使えず、読み違えていた場合は流し込んだものを捨てて詰め直すことになります。したがって、行き先が割れる場面が少ないほど流れは途切れず、パイプラインは本来の速さを出せます。分岐命令を減らす書き方が答えになるのはこのためです。なお設問は、命令の読込みとデータのアクセスを分離した構成だと断っています。この一文は、装置の取り合いという別種のハザードをあらかじめ消しておくために置かれたもので、読み飛ばすと選ぶ肢が一つ増えてしまいます。
ほかの選択肢はなぜ違うのか
- アCASE 文を多くする。:条件によって行き先を多方向へ振り分ける書き方を増やすことになります。先読みが外れる場面がかえって多くなるので、速さを求める向きとは逆の操作です。
- イ関数の個数をできるだけ多くする。:呼出しと戻りは、どちらも実行の位置を別の場所へ移す動きです。数を増やせば移動の回数が増え、重ねて流していた仕事が細かく寸断されます。
- エメモリアクセス命令を少なくする。:設問が断る構成では、命令を取り込む道とデータを読み書きする道が独立しています。互いに奪い合わないので、この種の命令が多くても待たされる要因にはならず、減らしても決め手になりません。
この問題の用語
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成27年度 秋期 応用情報技術者試験 午前 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)