現在、ソフトウェア開発技術者試験の勉強をしているものです。
お忙しいところ、誠に申し訳ございませんが、
以下の問題の考え方について、アドバイス頂けないでしょうか?
頭を悩ましているのは、以下の問題です。
一つの命令を構成する各処理を
表に示す時間で行うプロセッサがある。
各処理を、それぞれパイプラインの1ステージに
割り当てる5段パイプライン構成のプロセッサの
命令処理速度は、パイプライン化していない
プロセッサに比べて何倍になるか?
<処理名>:<最大処理時間(単位:ナノ秒)>
命令フェッチ:100
命令デコード:50
オペランド読出し:100
演算処理:80
演算結果書込み:100
答えは、4.3倍だったのですが、どうも解答に納得できません。
例えば、2命令を実行した場合を考えた時、
<通常>
□□□□□□□□□□□□□□□
430(100+50+100+80+100)×2=860ナノ秒
<パイプライン>
□□□□□
□□□□□
1処理あたり最大100ナノ秒なので、
2命令実行するのに600ナノ秒かかる。
つまり、860÷600≒1.4倍だと思いました。
解答の考え方は、
パイプラインでの処理能力を500ナノ秒の間に、
5命令実行可能だと解釈しています。
□□□□□
■□□□□
■■□□□
■■■□□
■■■■□
※■:前の命令のステージを表す。
たぶん、納得できないのはここの解釈だと思うのですが…。
No.2ベストアンサー
- 回答日時:
NO.1さんの回答で納得できない場合の為に補足しておくと、
□□□□□
■□□□□
■■□□□
■■■□□
■■■■□
が
■□□□□
■■□□□
■■■□□
■■■■□
■■■■■
になる為には「何ナノ秒」必要か考えてみましょう。
あと、上記のようにパイプラインのステージが一歩進むたびに命令の実行が1個ずつ完了する事が理解(というか納得)出来るでしょうか?
(5個あるうちのどれか1つが必ず命令実行完了となる)
パイプラインを生産ラインと考えれば、xxナノ秒毎に生産(実行)完了した命令が一個ずつアウトプットされているという風に理解しやすくなるかな。
No.1
- 回答日時:
パイプライン処理の場合は、命令処理の各工程を流れ作業のように行うことで、複数の命令処理を効率よく実行できます。
非パイプライン処理では命令処理ごとに各工程を順番に実行します。前の命令処理が全ての工程を完了しないと、次の命令処理を開始することができません。
パイプライン処理では、まず、命令処理1の「読込」を行います。命令処理1の「読込」が終わり「解読」が始まると、命令処理2の「読込」を行います。命令処理1の「解読」、命令処理2の「読込」が終わると、それぞれ次の工程にすすみます。命令処理1は「実行」を行い、命令処理2は「解読」を行います。一方、新しい命令処理3の「読込」をはじめます。同様に、命令処理の各工程を次から次へと絶え間なく行います。
つまり、非パイプライン処理では100+50+100+80+100=430かかるところを、パイプライン処理では各処理のなかで一番長い処理時間の100で済むことになりますので、430÷100=4.3 となるのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 (パイプライン処理)基本情報技術者の演習問題について 1 2023/03/11 17:47
- その他(プログラミング・Web制作) パイプラインに詳しい方 5 2022/07/04 16:47
- その他(コンピューター・テクノロジー) クロック周波数が4GHzのCPUは,4クロック1命令処理できると仮定した場合,1秒間に何回の処理が可 2 2023/01/11 18:59
- システム CPUの問題について 2 2022/07/09 12:04
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- その他(自然科学) 論文のまとめに関して(小論文)添削お願いします。 6 2023/07/16 14:24
- 発達障害・ダウン症・自閉症 中学の時にIQ82の境界知能と診断されました。 今の私も、やはり境界知能でしょうか? そしてこれは、 3 2023/02/19 00:37
- 弁護士・行政書士・司法書士・社会保険労務士 行政書士試験の行政法についての質問になります。 行政法の行政手続法についての質問になります。 問 意 1 2023/08/09 13:35
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- その他(開発・運用・管理) bashで15分前と現在のエポックタイムの時間を取得したい 2 2023/02/01 19:10
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
命令網羅率の計算問題です
-
組み込みCプログラムで実数型
-
MIPS アセンブリ言語
-
私は
-
なぜ、i++なのか?(ものすごく...
-
arduino
-
VBAでのコントロール操作
-
アセンブリ言語で。
-
EXCELでの16進数取り出し、上...
-
【有効数字について】 授業で、...
-
1Mバイトって何バイト?
-
文字の容量(サイズ)についての...
-
K KB MB について詳し...
-
基本情報技術者試験問題
-
32bit = 4GB(バイト)?
-
12万の5%はいくらですか?
-
CSV データのバイト数を調べる...
-
携帯電話の略語であるMBって英...
-
1メガ、1ギガはナンバイトですか?
-
エクセルでビット1をカウント J...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
組み込みCプログラムで実数型
-
MIPS と クロック周波数の換算方法
-
プログラム言語FortranとCの違...
-
arduino
-
VBAでのコントロール操作
-
アセンブリ言語で。
-
パイプライン処理の処理能力に...
-
VB.net2010 割り込みの共通化
-
応用情報技術者試験問題の解き...
-
任天堂64の64 CPUの仕...
-
COM1(RS232C)とUSB仮想COMポー...
-
命令網羅率の計算問題です
-
VBSとVBA
-
なぜ、i++なのか?(ものすごく...
-
Intel の CPU
-
MIPSとか
-
ステート数とは
-
RPG画面系システムについて
-
H8Sで割り込み発生時の飛び先ア...
-
シーケンスプログラムについて...
おすすめ情報