令和3年度 秋期 午前 問15
システム構成要素
パイプラインに関する問題
1 件のデータを処理する際に,読取りには 40 ミリ秒,CPU 処理には 30 ミリ秒,書込みには 50 ミリ秒掛かるプログラムがある。このプログラムで,n 件目の書込みと並行して n+1 件目の CPU 処理と n+2 件目の読取りを実行すると,1 分当たりの最大データ処理件数は幾つか。ここで,OS のオーバヘッドは考慮しないものとする。
- ア500
- イ666
- ウ750
- エ1,200
答えと解説を見る
✓ これが正解エ1,200
解説
最も時間のかかる工程の速さで全体が決まる形です。
設問は、三つの工程を持つ処理を、一件目の書込みと次の件の演算と次の次の件の読取りを同時に走らせるやり方で、一分あたりに何件まで処理できるかを四つの数値の中から選ばせています。ですから見分けの軸は、パイプラインの流れ作業として重ねたときの全体の間隔は、三つの工程のうち最も長くかかる一つの時間だけで決まる、という考え方に沿って数値を求めているかどうか、という一点だけです。速い工程は遅い工程の合図を待つ時間ができるので、全体の速さには足し算でなく最大値だけが効きます。単位を分にそろえて割り算をすれば数値が出ます。
ほかの選択肢はなぜ違うのか
- ア500:三つの工程の時間を単純に足し合わせた合計で一分を割った数値です。工程を重ねずに一件ずつ順に流した場合の値にあたり、同時並行で走らせる設問の条件を反映しておらず、速さを大幅に低く見積もっています。
- イ666:三つのうち二つの工程だけを重ね、残る一つを別に足し合わせた形の時間で一分を割った数値です。並行の効き方を途中までしか適用しておらず、全体の間隔を最大の一つだけで決める考え方から少し外れた数値になっています。
- ウ750:読取りだけを重ねたものとみなし、CPU 処理の 30 ミリ秒と書込みの 50 ミリ秒を足した 80 ミリ秒で一分を割った数値です。全体の間隔は最も長い書込みの 50 ミリ秒だけで決まるので、80 ミリ秒では間隔を長く見積もりすぎており、件数は上限の 1,200 に届きません。
出典:令和3年度 秋期 応用情報技術者試験 午前 問15
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)