平成23年度 秋期 午前 問9
コンピュータ構成要素
パイプラインに関する問題
CPU のパイプライン処理を有効に機能させるプログラミング方法はどれか。
- アCASE 文を多くする。
- イ関数の個数をできるだけ多くする。
- ウ分岐命令を少なくする。
- エメモリアクセス命令を少なくする。
答えと解説を見る
✓ これが正解ウ分岐命令を少なくする。
解説
先読みが外れる場面を減らすのが要です。
パイプラインは、一つの命令を読む、解読する、実行する、書き戻すといった段に分け、前の命令が途中の段にいる間に次の命令の処理を始める仕組みです。段がすべて埋まっていれば、見かけ上は一区切りごとに一つの命令が仕上がります。この効率を支えているのは、次に処理する命令があらかじめ分かっているという前提です。プロセッサは命令を並び順に先読みして流し込みますが、進む先が途中まで決まらない命令があると、この前提が崩れます。条件によって行き先が変わる分岐命令がその代表です。条件の計算が終わるまでどちらへ進むか決まらないため、先読みして流し込んだ中身が外れることがあります。外れたぶんは捨てて詰め直すことになり、そのあいだ段が空きます。この流れの途切れはハザードと呼ばれ、装置の取り合いや前の命令の結果待ちも同じ仲間です。したがって、書き方の工夫としては行き先が割れる場面が少なくなるように組むことが効きます。実際のプロセッサには進む先を予測して先へ進めておく手当てもありますが、予測が外れたら流し込んだぶんを捨てるという点は変わりません。
ほかの選択肢はなぜ違うのか
- アCASE 文を多くする。:条件によって行き先が幾つにも割れる書き方を増やすことになります。先読みが外れる場面をかえって多くするので、途切れを減らしたいという向きとは逆の操作です。
- イ関数の個数をできるだけ多くする。:呼び出しと復帰は、どちらも実行の位置を並び順から離れた場所へ移す動きです。数を増やせば移動の回数が増え、重ねて流していた仕事が細かく寸断されます。
- エメモリアクセス命令を少なくする。:記憶装置を読み書きする回数を減らす工夫で、処理時間そのものには効きます。ただし効き目が現れるのは記憶装置との速度差のほうで、設問が問うている段の重ね方とは別の仕組みの改善です。
この問題の用語
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成23年度 秋期 応用情報技術者試験 午前 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)