平成22年度 春期 午前Ⅱ 問2
プロセッサ
パイプラインに関する問題
すべての命令が5サイクルで完了するように設計された,パイプライン制御のコンピュータがある。20命令を実行するには何サイクル必要となるか。ここで,すべての命令は途中で停止することなく実行でき,1ステージは1サイクルで動作を完了するものとする。
- ア20
- イ21
- ウ24
- エ25
答えと解説を見る
✓ これが正解ウ24
解説
最初の命令に5サイクル、残り19命令は1サイクルずつで24です。
5ステージのパイプラインでは、最初の命令が全ステージを通り終えるまでに5サイクルかかります。その後は、1サイクルごとに次の命令が1つずつ完了していきます。残りの命令は20−1=19個なので、全体のサイクル数は5+19=24です。一般に、ステージ数をk、命令数をnとすると、乱れのないパイプラインの所要サイクル数はk+(n−1)で求まります。1命令ずつ順に処理すれば5×20=100サイクルかかるところを、24サイクルで処理できるのがパイプラインの効果です。式k+n−1を覚えておくと、すぐ計算できます。
ほかの選択肢はなぜ違うのか
- ア20:20サイクルは命令数そのものです。1サイクルに1命令ずつ完了するのはパイプラインが埋まった後の話で、最初の命令が最後のステージに届くまでの立ち上がりの4サイクルが数えられていません。
- イ21:21サイクルは、命令数20に1を足した値です。最初の命令が5ステージを通り抜けるまでの時間を正しく数えると、命令数に足すべきなのは4サイクルなので、これでは3サイクル足りません。
- エ25:25サイクルは、ステージ数5と命令数20をそのまま足した値です。最初の命令の完了が5サイクル目で、そこから残り19命令が続くので、和から1を引いた24が正しい値です。
出典:平成22年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)