基本情報技術者試験「パイプラインの性能」の問題
5段のパイプラインを持つCPUで、各段は1クロックで完了し、ハザードによる乱れはないものとする。100個の命令をすべて実行し終えるのに必要なクロック数はいくつか。
アちょうど100クロック
イ500
ウ104クロック
エ105クロック
正解
ウ.104クロック
k段パイプラインでn命令を流すと、最初の命令が5クロックで完成し以後は1クロックごとに1命令完成する。所要クロック=k+n-1=5+100-1=104となり正しい。
?選択肢ごとの解説
ア ×100クロックはパイプラインを満たすまでの立ち上がり(k-1=4クロック)を無視し、命令数nだけで数えた誤りである。
イ ×500クロックはパイプライン化していない逐次実行(k×n=5×100)の値で、段の重なりによる短縮を考慮していない。
ウ ○k段パイプラインでn命令を流すと、最初の命令が5クロックで完成し以後は1クロックごとに1命令完成する。所要クロック=k+n-1=5+100-1=104となり正しい。
エ ×105クロックはk+nと立ち上がり段数を1多く数えた誤りで、正しくはk+n-1である(-1を忘れている)。
✎くわしく
パイプラインは各段が異なる命令を同時に処理することでスループットを高める。最初の命令完成までにk-1クロックの立ち上がりがあり、その後はn命令が1クロックごとに完成する。総クロックk+n-1は『立ち上がり(k-1)+本流(n)』と分解できる。
✓本番での押さえどころ
試験のコツ
公式『k+n-1』を丸暗記する。kは段数、nは命令数。逐次実行のk×nと混同しないこと。
覚え方
最初の1個だけ満タンまでk段、あとは1クロックで1個ずつ=k-1+n=k+n-1、と分けて覚える。
よくある誤り
末尾の-1を忘れてk+nとする、または立ち上がりを無視してnのみ、逆に逐次のk×nと混同する誤りが頻出する。
コンピュータ構成要素の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0149