
応用情報の問題で、わからない所があります。
パイプラインの深さをD 、パイプラインのピッチをP 秒とすると、I 個の命令をパイプラインで実行するのに要する時間を表す式はどれか。
ここで、パイプラインの各ステージは1ピッチで処理されるものとし、パイプラインハザードについては、考慮しなくてよい。
ア (I +D )×P イ (I +D -1)×P
ウ (I ×D )+P エ (I ×D -1)+P
正解は「イ」なのですが、お恥ずかしながら全く腑に落ちません。
私の理解とそれによって導き出される式は以下のようになっています。
どこでまちがっているのか、教えていただけませんでしょうか。
◆私の理解
パイプラインの深さをD:命令の中のステージ数はD個
パイプラインのピッチをP 秒:1ピッチP秒かかる
パイプラインの各ステージは1ピッチで処理:各ステージの処理はP秒かかる
I 個の命令:命令がI個ある
◆式
所用時間= I × (D × P)
D×Pで命令内全ステージにかかる時間を求めたつもりです。
それに命令数をかけています。
すみません、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
命令の個数を7、パイプラインの深さを4、パイプラインのピッチを1秒とする。
この場合、1つの命令がパイプラインを通り抜けるには4秒かかる。
そして、それぞれの命令は、1秒づつズレながら順にパイプラインに入っていく。
図にすると、以下のようになる。
深さ4
←──→
□□□□______ 1番目のパイプに入った命令は抜けるまで4秒かかる
_□□□□_____ 2番目の命令が入るのは1ピッチ経過後。つまり1秒後
__□□□□____ 3番目の命令が入るのは2ピッチ経過後。つまり2秒後
___□□□□___ 4番目の命令が入るのは3ピッチ経過後。つまり3秒後
____□□□□__ 5番目の命令が入るのは4ピッチ経過後。つまり4秒後
_____□□□□_ 6番目の命令が入るのは5ピッチ経過後。つまり5秒後
______□□□□ 7番目の命令が入るのは6ピッチ経過後。つまり6秒後
1 2 3 4 5 67 89 10 ←(7+4-1)×1=10
最後の命令がパイプラインに入るのは「命令の個数-1ピッチ後」であり、その命令がパイプラインを通過し終わるのは、パイプラインの深さだけかかる。
つまり、最後の命令がパイプラインを通り抜け終わるのは「命令の個数-1+パイプラインの深さ」に、1ピッチの秒数を掛けた秒数が経過した時である。
「最後の命令がパイプラインを通り抜け終わる秒数」と言うのは「全部の命令を実行するのに要する時間」そのものである。
「(命令の個数-1+パイプラインの深さ)×1ピッチの秒数」を意味する式は「イ (I +D -1)×P」である。
詳しいご解説ありがとうございます。
まだ理解できてません。。。
もう少しそしゃくのための時間が必要なのですが、取り急ぎお礼まで。
ありがとうございます!
No.3
- 回答日時:
因みに。
パイプラインの個数は、パイプラインの深さと同じ個数がある、と言うのが前提。
パイプラインの深さが7であれば、通常、パイプラインは7つあって、パイプラインの個数と同じだけの個数の命令を並行して同時に処理できる。
先ほどの例では、パイプラインは4つあれば良い。
1~4番目の命令は、順に1~4番のパイプラインに入る。
5番目の命令は、1番目の命令を処理し終わって空になった、1番のパイプラインに入る。
6番目の命令は、2番目の命令を処理し終わって空になった、2番のパイプラインに入る。
7番目の命令は、3番目の命令を処理し終わって空になった、3番のパイプラインに入る。
なので、図を正確に書くと、以下のようになる。
深さ4
←──→
□□□□■■■■__ 1と5番目の命令
_□□□□■■■■_ 2と6番目の命令
__□□□□■■■■ 3と7番目の命令
___□□□□___ 4番目の命令
1 2 3 4 5 6 7 8 9 10 ←(7+4-1)×1=10
判りやすいように、1~4番目の命令は□で、5~7番目の命令は■で表記。
因みに、パイプラインの個数が足りないと、途中で「すべてのパイプラインが埋まってしまう」ので、無駄な空き時間が出来てしまう。
例えば、パイプラインの深さが4なのに、パイプラインが3個しか無いと、以下のようになる。
深さ4
←──→
□□□□■■■■◇◇◇◇ 1と4と7番目の命令
_□□□□■■■■___ 2と5番目の命令
__□□□□■■■■__ 3と6番目の命令
1 2 3 4 5 6 7 8 9 101112
上記の場合「4ピッチ目」には、すべてのパイプが埋まっているので、パイプに空きが出来る「5ピッチ目」まで、何も出来ずに待たされてしまう。
同様に、8ピッチ目にも、すべてのパイプが埋まってしまうので、9ピッチ目まで待たされてしまう。
また逆に、パイプラインの深さよりも多い個数のパイプラインがあると、以下のように、パイプラインに無駄が出来てしまう。
深さ4
←──→
□□□□_■■■■_ 1と6番目の命令
_□□□□_■■■■ 2と7番目の命令
__□□□□____ 3番目の命令
___□□□□___ 4番目の命令
____□□□□__ 5番目の命令
上記の場合、1番のパイプが空いても、次の命令がすぐには入って来ないので、1番目の命令と6番目の命令の間に隙間が出来て「何もしてない無駄なサイクル」が出来てしまう。
2番のパイプも、同様に、2番目の命令と7番目の命令の間に隙間が出来てしまう。
No.2
- 回答日時:
図が見づらくなったので、図だけ再投稿。
深さ4
←──→
□□□□______ 1番目の命令
_□□□□_____ 2番目の命令
__□□□□____ 3番目の命令
___□□□□___ 4番目の命令
____□□□□__ 5番目の命令
_____□□□□_ 6番目の命令
______□□□□ 7番目の命令
1 2 3 4 5 6 7 8 9 10 ←(7+4-1)×1=10
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイプラインに詳しい方 5 2022/07/04 16:47
- 情報処理技術者・Microsoft認定資格 (パイプライン処理)基本情報技術者の演習問題について 1 2023/03/11 17:47
- その他(コンピューター・テクノロジー) クロック周波数が4GHzのCPUは,4クロック1命令処理できると仮定した場合,1秒間に何回の処理が可 2 2023/01/11 18:59
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 戦争・テロ・デモ ノルドストリーム爆破事件について、米国・バイデンの仕業だったという暴露記事を発表した 5 2023/02/17 10:21
- その他(悩み相談・人生相談) 「はぁ…」とか言わずに中身教えてくあげればいいのに。 って提案の意味で伝えたら 相手は、命令するなと 2 2022/07/11 15:27
- その他(ニュース・時事問題) 新型コロナ「時短要請」訴訟判決 1 2022/05/19 00:09
- 数学 二項定理と乗法定理の問題について 2 2022/04/25 22:05
- その他(ニュース・社会制度・災害) 死刑執行しないのは、職務怠慢だと思いますが… 14 2022/08/15 15:55
- その他(自然科学) 論文のまとめに関して(小論文)添削お願いします。 6 2023/07/16 14:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
有無、要否、賛否、是非、可否...
-
目上の方に、メールの語尾「以...
-
どちらが正しい?「~して行き...
-
「あらむ」の文法的意味は?
-
ひらがなを数字で表す方法教え...
-
YouTubeに動画を「あげる」の表...
-
佐賀弁だと思うのですが意味を...
-
不等号の使い方について
-
「スタートが切れる」はどうい...
-
真に 誠に どちらが正しい漢字?
-
日本語の意味
-
何と読み、どういう意味でしょ...
-
方と法、、、
-
“ in situ ” とはどういう意味...
-
利用と活用の違いや、「利活用...
-
頃とはどの範囲をさす言葉ですか?
-
適当という言葉の意味がなぜ本...
-
都合○個、 都合○人 という言...
-
テーマパークをまわるのまわる...
-
모햌この意味は何ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
有無、要否、賛否、是非、可否...
-
目上の方に、メールの語尾「以...
-
どちらが正しい?「~して行き...
-
「あらむ」の文法的意味は?
-
YouTubeに動画を「あげる」の表...
-
ひらがなを数字で表す方法教え...
-
不等号の使い方について
-
頃とはどの範囲をさす言葉ですか?
-
「スタートが切れる」はどうい...
-
日本語の意味
-
何と読み、どういう意味でしょ...
-
方と法、、、
-
“ in situ ” とはどういう意味...
-
真に 誠に どちらが正しい漢字?
-
郷に入らずんば郷に従えという...
-
読み方
-
利用と活用の違いや、「利活用...
-
テーマパークをまわるのまわる...
-
「附」と「付」の違いについて
-
次の土曜日とは 今週か?
おすすめ情報