• 締切済み

計算機工学のプロセッサについて教えて下い

ninoueの回答

  • ninoue
  • ベストアンサー率52% (1288/2437)
回答No.2

回答では命令メモリとデータメモリが同一の主メモリの場合を仮定していました。 それで同一クロックサイクル内で命令フェッチと(データロード 或いは、データストア)は同時実行できず、誤りだと考えて回答していました。 http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/index.html http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/part09/node1.html 図 2: MIPS の命令の実現方式の概念図。 それとは別に上記 MIPSの概念図のように命令メモリとデータメモリが別モジュールで平行動作出来る場合には質問で考えられているように "よってクロックサイクル時間=3.7ns" との回答で正しいです。 ######## しかしMIPS概念図の構成を取った場合には、命令フェッチ動作はCPU演算動作と同時動作可能で、命令実行サイクル時間は命令フェッチ時間と、CPU演算関係動作時間の何れか長い方の時間で決まるように構成出来る筈だと考えられます。 その場合PCはカウンタ(或いは専用の+1(or+4)アダー付)として実現され、命令実行中には次命令フェッチの為に1ステップ進んだ次の命令アドレスを示している形となります。 以上のように考えた場合のクロックサイクル時間は次のようになります。 ・シングルサイクル 実行時間: ロード命令   0.4+0.7+1.1+0.4=2.6ns ストア命令   0.4+0.7+1.1=2.2ns 演算命   0.4+0.7+0.4=1.5ns 分岐命令   0.4+0.8+1.1=2.3ns よってクロックサイクル時間=2.6ns (通常命令フェッチ時間は演算実行とオーバーラップして隠されているが、分岐命令の場合はその代わりに隠されずに2.3nsとなる) なお前の回答で記していたように、レジスタ書込み時間はレジスタアクセス時間に含まれ明示的には現れないと考えると、ロード、演算命令は2.2ns, 1.1nsとなり、一番実行時間が掛るのは分岐命令の2.3ns、クロックサイクル時間は2.3ns とする事も出来る筈です。 ######## http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/part10/ http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/part10/node2.html マルチサイクルのデータパス なおマルチサイクルの場合については、上記の マルチサイクルのデータパス の例を参照下さい。 実行時間はシングルサイクルの場合と略同様で、2-4倍等となる事はありません。 次の*4, *3, *2 等は不要です。 ロード命令   (1.1*4)+(0.4*4)+(0.7*3+0.8)+(1.1*2)+0.4=11.5ns

関連するQ&A

  • コンピュータアーキテクチャ

    教えてください! クロックサイクルが80nsのプロセッサAとクロックサイクルが20nsのBがあり、両プロセッサの各命令実行に、必要なクロックサイクル数は下表に従うものとする。今プロセッサに加算命令を10回、乗算命令を4回、無条件分岐を3回実行させる場合を考える。このときプロセッサをAからBに置き換えた場合の平均的な性能向上率を求めよ。 プロセッサA      クロックサイクル数  加減算命令    5         乗除算命令    8         無条件分岐    6         プロセッサB      クロックサイクル数  加減算命令    2         乗除算命令    5         無条件分岐    20        

  • コンピュータアーキテクチャ

    教えてください! クロックサイクルが60nsのプロセッサAとクロックサイクルが30nsのBがあり、各プロセッサが命令を実行するのに、必要なクロックサイクルおよび、プログラム中での各命令の出現頻度(使用確率)が下表に従うとする。ここで、システムのプロセッサをAからBに置き換えた場合の平均的な性能向上率を求めよ。 プロセッサA      クロックサイクル数 命令の出現頻度 加減算命令    8        60% 乗除算命令    3        10% 無条件分岐    2        30% プロセッサB      クロックサイクル数 命令の出現頻度 加減算命令    2        50% 乗除算命令    6        20% 無条件分岐    4        30%

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

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

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

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

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

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

  • クロック周波数の計算問題について

    クロック周波数に関する問題を解こうとしているのですが、 公式がどうも覚えづらくて仕方ないのですが・・・ 何か良い解き方はないものでしょうか? 【問題】基本情報処理 平成19年 秋  「 1GHzで動作するCPUがある。このCPUは,機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に約何万命令実行できるか。 」 【公式】   (1) 1クロックの時間 = 1÷クロック周波数   (2) 1命令の実行時間 = 1命令の実行に必要なクロック数×1クロックの時間   (3) 1秒間の命令実行回数 = 1÷1命令の実行時間(命令) --------------------------------------------------------------- 【考え】  公式より、   (3)の答えを出したければ (2)が必要であり   (2)の答えを出したければ (1)が必要である。     であるから、先に(1)を求め (2)を求め (3)を最終的に求める。  という風に解いてはいるのですが、教科書を見ながらだと解ける状態ですが、いざ時間を空けると公式を忘れてしまって、この手の問題が解けないことがあり、困っています。   何か逆算みたいで、覚えづらいので一度覚えてもすぐに忘れしまうのですが・・・     この問題をとく方法としては、一旦、解き方の流れを把握して、求め方を覚えるしかないでしょうか? 【ふとした疑問】   この問題をしてふと思ったのですが、クロック周波数の計算事態は、実際にどこでどういう場面で使われるものなのでしょうか? 何だか、ただ問題を解いているようで、ちょっとイメージが浮いている感じがしているのです・・・(汗)   

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

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

  • CISC

    カテゴリが分からないのでここで質問させてもらいます。CISCの算術演算命令のような新しい加算/減算命令を導入した場合「クロック・サイクル時間の延長」という変更が必要となることが一般的と書いてありました。このようにクロック・サイクル時間の延長という変更が必要となる理由って何なのでしょうか?

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

    以下の問題を、わかる範囲で結構ですのでどなたか解いて頂けないでしょうか? これは友人から得た過去の問題なのですが答えは配布されておらず、この問題を出題した先生も今は変わってしまっていて聞くに聞けません。 もうすぐ試験で、テスト勉強の参考にしたいのですが、何卒どうかお力添えをお願い致します。 ある企業が現在のチップ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 に比べてどれだけ高速か.

  • MIPS関連について

    プロセッサのクロックサイクルが40nsで 平均クロックサイクル数が4 のときのプロセッサの平均性能というのはいくらでしょうか? 求めるべき値がなんなのか分からないため導きようがないのです。。。 どなたか教えてくださいお願いします。