マイクロプロセッサの高速化手法とは?

このQ&Aのポイント
  • マイクロプロセッサの高速化手法としては、パイプライン、スーパーパイプライン、スーパースカラ、VLIW、マルチプロセッサが挙げられます。
  • マイクロプロセッサPが命令を0.25秒で実行できるのは、これらの高速化手法が適用されているからです。
  • 具体的な手法の詳細や特徴については、各手法ごとに説明がありますので、それぞれの手法について調査してみてください。
回答を見る
  • ベストアンサー

マイクロプロセッサの高速化手法

動作周波数が100MHzのマイクロプロセッサPが、50,000,000命令を実行するベンチマークテストを行ったところ、これらの命令を0.25秒で実行することができた。 マイクロプロセッサPがこのようなCPI値になるのは、どのような高速化手法が適用されているからか、その手法名を述べ、どのような手法が説明せよ。 という問題ですが (1)パイプライン (2)スーパーパイプライン (3)スーパースカラ (4)VLIW (5)マルチプロセッサ のどれかかと考えているのですがどれが答えとして最適かわかりません。 ご教示お願い致します。 またMIP値が200MIP CPI値が0.5 と計算してなりましたが合っていますでしょうか?加えてご確認お願い致します。

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

  • ベストアンサー
  • SPROCKETER
  • ベストアンサー率26% (2023/7553)
回答No.2

 情報処理技術者試験の問題でしょうが、比較的簡単な問題です。  動作周波数が100MHzで、50メガ命令を0.25秒で実行しているわけですから、1秒間に200メガ命令を実行している計算になります。100MHzで200メガ命令を実行するには、1クロックで1命令を実行出来ても足りませんから、シングルステップのプロセッサでは達成出来ません。  従って、(5)マルチプロセッサが正解だろうと思われます。4コアプロセッサで完全に同時並列処理が出来れば、2クロックで4命令を実行しても、100MHzで200メガ命令が実行出来る計算になります。コア数は決まっていませんから、100コアで実行すれば、10倍ぐらいの速度になりますから、事実上、マルチプロセッサ以外に高速化出来る方法は無いと考えられます。  他の方法は、パイプライン、スーパーパイプライン、スーパースカラーは命令待ちの遅延時間を短縮する方法ですし、VLIWは命令依存性があるプログラムを作らずに、無駄を省略する為の方法です。どちらも1クロック単位の命令実行速度そのものは向上しません。

参考URL:
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0
hadid_zah
質問者

お礼

ありがとうございます!納得しました。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

MIP値ではなくMIPS値です。 http://eow.alc.co.jp/search?q=MIPS > MIP値が200MIP > CPI値が0.5 > と計算してなりましたが合っていますでしょうか? はい,正しいです。 >どれかかと考えているのですがどれが答えとして最適かわかりません。 ハザードのない理想的なパイプライン処理を想定するなら 1 CPIに近づく。 計算結果が 0.5 CPIだというのなら, パイプラインが2本あるか((3)スーパースカラ), マイクロプロセッサが2つある((5)マルチプロセッサ)状況が予想できる。

関連するQ&A

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

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

  • マイクロプロセッサの授業なんですが、、

    マイクロプロセッサの授業の課題で分からないので助けて下さい! M1 と M2 の 二つの別のマシンの性能を評価したい 。両マシンに関して下記の測定結果が得られている。 プログラム1のM1上での実行時間は10秒、M2のそれは5秒。プログラム1のM1上で実行された命令回数は200*10^6、 M2のそれは160*10^6。 マシン M1 のクロック周波数は 200 MHz、マシン M2 のクロック周波数は 300 MHz であるとする。これらのデータを使用して、両方のマシンにおけるプログラム 1 の命令当たりのクロック・サイクル数 (CPI) を求めよ。 また、クロック周波数では M2 は M1 の 1.5 倍の性能であるが、プログラム 1 の実行時間で判断すると M2 は M1 の 2 倍の性能である。この違いは何に依るか。 クロック・サイクル数 (CPI)はどうにか求まったんですが、(M1は2.5ですよね?) 違いとやらはさっぱりです、、助けて下さい!

  • 情報工学 ハードウェアの問題について

    以下の問題を解く手順を教えて頂きたいです。 パイプラインの深さをD,パイプラインピッチをP秒とすると,I個の命令をパイプラインで実行するのに要する時間を表す式は(I+D-1)×Pであることは分かりましたが、パイプラインフラッシュを考慮しなければならない、となると分かりません。 また、パイプラインフラッシュが発生すると、パイプライン中の実行途中の命令が無効化されるということは、段数に比例して再実行しなければならない命令が増えるということでしょうか?

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

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

  • 応用情報の問題です。

    応用情報の問題です。 パイプラインの深さをD 、パイプラインのピッチをP 秒とすると、I 個の命令をパイプサインで実行するのに要する時間を表す式はどれか。 ここで、パイプラインの各ステージは1ピッチで処理されるものとし、パイプラインハザードについては、考慮しなくてよい。  ア  (I +D )×P  イ  (I +D -1)×P  ウ  (I ×D )+P  エ  (I ×D -1)+P 正解は「イ」なのですが、「パイプラインの深さD」と「命令数I」の違いを教えて いただきたいです。 よろしくお願いします。

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

    基本情報技術者試験の午前過去問が分からなくて困っています。 以下にその問題を示します。宜しくお願いします。 表の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やクロック周波数などの用語は理解しているつもりなのですが。 宜しくお願いします。

  • 仮想記憶方式に関する問

    プログラムにおける2つの並列実行単位(タスク)が動作する論理記憶空間を同一にした場合と、分離した場合のメリットとデメリットを説明せよ。 という問題です。 スーパースカラ方式(多重並列命令制御の中でも、複数の命令を同時処理する方式)とVLIW(1つの大きな命令を作り出して実行する方式)の比較ということでしょうか? ご教示お願い致します。

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

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

  • クロック、クロック周期、CPIについての問題

    クロック、CPIだの本当にわからなくてどうにもなりません。 どなたかご教授下さい。 問題) クロック周波数2GHZのCPUで、一つの命令が2クロックで実行できるとき、1命令の実行に必要な時間は何ナノか? 解説) 1クロックは、1/2,000,000,000秒だから、1命令は2クロックなので、 1/2,000,000,000*2=1ナノ 答え:ナノ とあるのですが、全く理解できません。 1命令2クロックで、1クロックの発生周期(時間)って 2クロック分だと、1/2,000,000,000+1/2,000,000,000=1/4,000,000,000になり、 1/4,000,000,000*2=2ナノになるのでは?? 私の考えるイメージ図を添付します。

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

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