命令パイプラインをつかった問題の解説

このQ&Aのポイント
  • プロセッサの命令パイプラインは、5つのステージで構成されており、それぞれのステージは1クロックで完了します。
  • 平均CPIが5である場合、クロック周波数が1GHzのプロセッサでは、1秒間に何個の命令が実行されるかを求めます。
  • CPIは、各命令の平均クロック数を表し、低い値ほどプロセッサの効率が高いことを示します。
回答を見る
  • ベストアンサー

命令パイプラインをつかった問題です。

命令パイプラインをつかった問題です。 あるプロセッサの命令パイプラインは、命令読み出し、命令解読(デコード)、 オペランド読み出し、演算、オペランド書き込みの5つのステージからなり、 各ステージの処理は1クロックで完了する。 このプロセッサにおける平均CPI(Clock Per Instruction)が5であるとすると、 クロック周波数が 1GHzのとき、このプロセッサの 1秒間辺りの平均命令実行数を MIPSあるいはGIPSを単位として答えなさい。 検索してもcpiについてのことが書いてないので(私が理解できずに見過ごしてるかも・・)、cpiについても軽く説明があると嬉しいです!

noname#146886
noname#146886

質問者が選んだベストアンサー

  • ベストアンサー
  • ha65
  • ベストアンサー率100% (1/1)
回答No.2

CPI: clock cycles per instruction・・・1命令処理するのにかかるクロック数。 回答は CPIの定義からすれば 200MIPS となります。 平均命令実行時間 = 1x10^-9[sec] x 5[cycles] = 5x10^-9[sec] 平均命令実行数 = 1/(5x10^-9) = 200x10^6 = 200[MIPS] しかしこれだと設問のパイプラインの記述を使うところがない。パイプラインという言葉を出しながら使わないというひっかけでしょう。 問題中の「平均CPI」を「非パイプライン処理時のCPI」と捉えれば 1GIPS という答えもあり得ますが、その場合パイプラインの効率が考慮されてなく問題として不完全だと思います。

noname#146886
質問者

お礼

とてもわかりやすい回答です! パイプラインをどこで活用すればいいかわからなかったので・・ ひっかけだったんですね 本当にありがとうございます^ ^

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

googleでキーワードを[Clock Per Instruction]で「日本語のページ」を検索したら、いくつもヒットしました。 答えは40MIPSあるいは0.04GIPSですかね?

noname#146886
質問者

お礼

調査不足でしたね、ごめんなさい 回答ありがとうございます^ ^

関連するQ&A

  • パイプライン処理の処理能力について

    現在、ソフトウェア開発技術者試験の勉強をしているものです。 お忙しいところ、誠に申し訳ございませんが、 以下の問題の考え方について、アドバイス頂けないでしょうか? 頭を悩ましているのは、以下の問題です。 一つの命令を構成する各処理を 表に示す時間で行うプロセッサがある。 各処理を、それぞれパイプラインの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命令実行可能だと解釈しています。 □□□□□ ■□□□□ ■■□□□ ■■■□□ ■■■■□ ※■:前の命令のステージを表す。 たぶん、納得できないのはここの解釈だと思うのですが…。

  • MIPS と クロック周波数の換算方法

    プロセッサの処理能力を表すものとして MIPS Million Instruction Per Second クロック周波数 動作のタイミングをとる信号の周波数のこと。         1Hzは1秒間に1回 がありますが、両者には何らかの換算方法のようなものはあるのでしょうか?

  • 命令ミックスの計算

    基本情報技術者の問題にMIPSの計算問題が二問出てきました。1問は1クロック時間、平均命令実行時間、MIPSをすんなり求めました。二問目は3つの命令があり出現比率などが指定してあり平均MIPSを求めるものでした。1問目はMIPSを求める際に10^6で割り、二問目は10^6で割りませんでした。なぜ割らないのでしょうか。 二問目は画像を貼っておきます。

  • パイプラインの5つのフェーズ

    パイプラインのフェーズの割り方で I・D・R・EX・Wに分かれている図があったのですが、 I:Instruction fetch 命令フェッチ D:decode デコード R:? EX:execution 演算実行 W:write back 結果の格納 Rだけが何を指すのかわかりません。 何を指すのでしょうか?

  • 命令の実行時間について

    「命令の実行時間=クロックサイクル時間×CPI」とあります。 で、クロックサイクル時間が「10ナノ」秒で、 「CPI」が「5」の機械語命令は、1つの命令を実行する為に、 「=10ナノ秒/クロックサイクル数×5クロックサイクル数/命令」とあります。 上記の計算式を使えば、 クロックサイクル数が「10ナノ」秒で「CPI」が「5」なので、 1つの命令を実行するのに「50ナノ」秒が必要なのは分かりますが、 上記の式の中にある、「/クロックサイクル数」・「/命令」とは 何を意味しているのでしょうか。 単位分数方式として、下記が記載されていました。 「10(ナノ秒/クロックサイクル数)×5(クロックサイクル数/命令)=50(ナノ秒/命令)」 お手数ですが、分かる方おられましたら、ご教授お願いします。 出来ましたら、詳しく解説して頂けると幸いです。 以上、よろしくお願い致します。

  • パイプライン方式での処理時間の求め方

    応用情報の問題で、わからない所があります。 パイプラインの深さを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で命令内全ステージにかかる時間を求めたつもりです。 それに命令数をかけています。 すみません、よろしくお願いいたします。

  • 基本情報技術者試験の午前過去問が分からなくて困っています。

    基本情報技術者試験の午前過去問が分からなくて困っています。 以下にその問題を示します。宜しくお願いします。 表のCPIと構成比率で、3種類の演算命令が合計1000000命令実行されるプログラムを、クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ秒か? 表。 演算命令     CPI  構成比率(%) 浮動小数点加算  3    20 浮動小数点乗算  5    20 整数演算       2    60 解説では、(3*0.2+5*0.2+2*06)÷10^9*1000000という式になり、 答えは2.8ミリ秒となるらしいです。 なぜ、(3*0.2+5*0.2+2*06)÷10^9*1000000という式がでてくるのか、よくわかりません。一応、CPIやクロック周波数などの用語は理解しているつもりなのですが。 宜しくお願いします。

  • 下記の問いの解き方を教えて下さい。

     基本動作時間(クロック時間)が 3 ナノ秒の処理装置で,命令の実行に必要 なクロック数とその命令の出現比率が表に示す値である場合、この処理装置の性 能は平均約何 MIPS か。 ┌───―───────┬――――――――─────┬──────┐ │  命令の種別    │命令実行に必要なクロック数│ 出現比率 │ ├────―──────┼―――――――――────┼──────┤ │レジスタ間演算    │       4      │  40%  │ ├─────―─────┼──―――――――――――┼──────┤ │メモリ・レジスタ間演算│       8      │  50%  │ ├─────────―─┼──――――――――――─┼──────┤ |無条件分岐      |      10      |  10%  | └─────────―─┴─―――――――――───┴──────┘

  • CPI クロック周期について

    コンピュータの勉強はじめました。CPIは 一命令を実行するさいに必要となる平均のクロック周波数とかいてあり 値が小さいほど演算処理速度が速いとかいてあるのですが  理屈が残念ながら全然わかりません。しろうとが理解できる説明 していただけますでしょうか。

  • 勉強の参考にしたいのですが、困っています

    以下の問題を、わかる範囲で結構ですのでどなたか解いて頂けないでしょうか? これは友人から得た過去の問題なのですが答えは配布されておらず、この問題を出題した先生も今は変わってしまっていて聞くに聞けません。 もうすぐ試験で、テスト勉強の参考にしたいのですが、何卒どうかお力添えをお願い致します。 ある企業が現在のチップAlpha の浮動小数点命令のみ9倍高速に実行するチップBeta を開 発した.あるプログラムをBeta で実行したところ浮動小数点演算に要した時間は全体の1/4 であることが判明した. (a) この応用におけるBeta のAlpha に対する速度向上度を求めよ. (b) Alpha でこの応用を実行するとき,浮動小数点演算に要する時間の比率を求めよ. (2)君の会社が販売しているプロセッサは,250MHz で動作するが浮動小数点ハードウェアを 持たないためFP 命令はソフトウェアでエミュレートしている.このチップであるベンチマー クを実行したところ,実行時間は5.00 秒,平均CPI は1.30 で,各タイプの命令の実行数は次 表になっていた. 命令タイプ             命令数 分岐                 7,750,000 整数演算              3,800,000 ロード/ストア            9,750,000 浮動小数点演算(FP 命令数) 17,500,000 (a) 実行時間のうち,浮動小数点演算をエミュレートしている時間(有効数字3 桁)を求めよ. (b) 浮動小数点命令1 個のエミュレートに要している平均命令数を求めよ. [3]君は新プロセッサの主任設計者である.プロセッサとコンパイラの設計は一応完了し,そのまま 発売するか,更に改良するか判断しなければならない.担当者と議論した結果次の2 種の選択肢が有ることが判明した. A. 現状のままにする.このマシンをFuji と呼ぶ.クロックは1GHz で,シミュレータで次のような 結果が得られた. 命令タイプ  CPI   頻度 A        2     40% B        3     25% C        3     25% D        5     10% B. クロックを高速化する.このマシンをShirane と呼ぶ.クロックは1.2GHz で,シミュレータで次 のような結果が得られた. 命令タイプ    CPI    頻度 A          2     40% B          2     25% C          3     25% D          4     10% (1)それぞれのマシンのCPI を求めよ. (2)それぞれのマシンのネイティブMIPS 値を求めよ. (3)Shirane はFuji に比べてどれだけ高速か. (4)コンパイラチームからコンパイラの改良が可能で,次のように命令数を減らせると言ってきた. Fuji に改良コンパイラを用いたマシンをHodaka とよぶ. 命令タイプ   MA に対する実行命令数の比 A             90% B             90% C             85% D             95% Hodaka のCPI を求めよ. (5)Hodaka はFuji に比べてどれだけ高速か. (6)Shirane に新コンパイラを適用したマシンをYari とよぶ.Yari はFuji に比べてどれだけ高速か.