コンピュータ構成要素

基本情報技術者試験パイプラインの性能」の問題

テクノロジ系コンピュータ構成要素計算問題難易度:hard
4段のパイプラインを持つCPUで1000命令を実行する。各段1クロックでハザードはないとき、同じ処理を段を重ねない逐次実行(1命令4クロック)で行った場合に対する高速化率(逐次の所要クロック÷パイプラインの所要クロック)はおよそ何倍か。
1倍
2倍
おおよそ1.3倍
約4倍
正解
約4倍

逐次実行のクロック数=段数×命令数=4×1000=4000。パイプラインの所要クロック=k+n-1=4+1000-1=1003。高速化率=4000÷1003≒3.99で約4倍となり正しい。

?選択肢ごとの解説

ア ×1倍はパイプライン化しても速くならないとした誤りで、段の重なりによる短縮(4000→約1003)を無視している。
イ ×2倍は段数4の半分しか速くならないと見積もった誤りで、立ち上がりの影響を過大に評価している。
ウ ×おおよそ1.3倍は逐次とパイプラインのクロック数を取り違える、たとえば分子分母を近い値どうしにした誤りである。
エ ○逐次実行のクロック数=段数×命令数=4×1000=4000。パイプラインの所要クロック=k+n-1=4+1000-1=1003。高速化率=4000÷1003≒3.99で約4倍となり正しい。

くわしく

パイプラインの理想高速化率は命令数nが十分大きいとき段数kに近づく。これは逐次のk×nに対しパイプラインがk+n-1≒nとなり、比がk×n÷n=kに収束するためである。本問はn=1000がk=4に比べ十分大きく、ほぼ段数倍の高速化となる。

本番での押さえどころ

試験のコツ

高速化率の上限は段数k。命令数が段数より十分多ければ『ほぼ段数倍』と即断できる。

覚え方

パイプラインは『段数だけ並列が効く』=理想で段数倍速い。命令が多いほど立ち上がりが薄まり段数倍に近づく、と覚える。

よくある誤り

パイプラインのクロックをk×nのままにする、または立ち上がりk-1を二重に数えて高速化率を小さく見積もる誤りが多い。

コンピュータ構成要素の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0154

【基本情報技術者試験】パイプラインの性能の問題 — 解答・解説|ukamiru 過去問