• ベストアンサー

プロセッサの性能を2倍に向上させても

プロセッサの実効性能だけを2倍に向上させても、コンピュータ全体の処理性能は2倍に向上しないことをキャッシュメモリを含めたメモリ階層の仕組みと関係つけて説明せよ。 という問題なのですが キャッシュコヒーレンシが関わっているのかなと考えているのですが、わかりません。 教えて頂きたいです。

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

  • ベストアンサー
回答No.3

「コンピュータ全体の処理性能は2倍に向上しないこと」を証明するだけですよね。 簡単な式で考えてみます。 1次キャッシュのみ。1次キャッシュのアクセス時間は無視。 実行するCPU命令数:n(個) その内のメモリ読み出し命令数:m(%) メモリ読み出しサイクル数:a(クロック) キャッシュヒット率:b(%) 本来このCPUが処理できる能力:c(個/クロック) とすると、 実際にかかるクロック数Xは X=メモリ読出しない命令クロック数(並列化出来る)   +メモリ読み出しにかかる命令クロック数(並列化出来ない)  =(n/c)*((100-m)/100)+n*(m/100)*((100-b)/100)*a となります。 例えば、 実行するCPU命令数:1000(個) その内のメモリ読み出し:40(%) メモリ読み出しに必要なクロック数:200(クロック) キャッシュヒット率:99(%) 本来このCPUが処理できる能力:1(個/クロック) とすると、 X=(1000/1)*((100-40)/100)+1000*(40/100)*((100-99)/100)*200  =600+400*0.01*200  =600+800  =1400クロックかかる計算になります。 最良のケースでは、1000個の命令が1000クロックで処理出来ますが、 上記の条件では、1400クロックもかかる計算になります。 実CPU性能を上げてもメモリ読み出しの性能は上がりません。 メモリアクセスの部分はメモリコントローラーに依存するので高速化出来ないこととして考えています。 ここで、CPU性能を倍の2(個/クロック)に上げてみると、 X=(1000/2)*((100-40)/100)+1000*(40/100)*((100-99)/100)*200  =300+400*0.01*200  =300+800  =1100クロックかかる計算になります。 つまり、CPU性能だけを2倍にしても、1100/1400=0.78程度にしかなりません。 また実際には、 1次キャッシュといえどアクセス時間がかかります。 また、容量(キャッシュヒット率)とアクセス時間は一般にトレードオフです。 容量を大きくすればアクセス時間は大きくなります。 intel core iだと、32KBの大きさで2クロックくらいです。 ヒット率は公開されていませんが96%から98%ではないでしょうか。 単純にお金だけではありません。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

以下参考に http://www.atmarkit.co.jp/fpc/rensai/zunouhoudan003/cachemiss.html http://news.mynavi.jp/column/architecture/016/index.html ちなみにこの出題ではコヒーレンシは関係ないでしょう。

hadid_zah
質問者

補足

ご回答ありがとうございます。 キャッシュ容量を2倍にすると、CPUの性能は約30%向上する」という30%の定理が知られている。これは理論的な裏付けではなく、経験的な統計値によ る「だいたいこんな感じ」という説。だが基本的にキャッシュ容量が増えるほどCPU性能は高くなる。しかし技術的な問題から1次キャッシュの容量には制限 がある。また2次キャッシュの容量を増やすことはCPUのチップ面積を増夫させ、コスト増に直結する。いまでも2次キャッシュの回路はCPUチップ上の半 分近くを占めておリ、その容量を8MB、16MBと増やすことは難しい。逆に、2次キャッシュの容量を減らせば、性能は低下するが安価なCPUを作ること ができる。 この解答では不十分でしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

単純にメインメモリの帯域まで倍にはならないから…では? キャッシュに乗っている分に関しては相応の速度でアクセスできるでしょうが、キャッシュから外れた分やメモリに書き込みした分は実メモリへのアクセスが発生します。 プロセッサ内で動作しているキャッシュメモリよりメインメモリの方が格段に遅いでしょうから、そこで頭打ち状態になるかと思われます。 # ストレージになるとさらに遅いですしねぇ……。 階層構造で…というのならプロセッサ内のレジスタが一番上にあって、1次キャッシュ、n次キャッシュと続いてメインメモリとなるでしょう。 一般的に下に行くに従って容量は増えていきますけど。 # 容量が増える代わりに速度が遅くなる。

hadid_zah
質問者

お礼

ありがとうございます。

hadid_zah
質問者

補足

ご回答ありがとうございます。 キャッシュ容量を2倍にすると、CPUの性能は約30%向上する」という30%の定理が知られている。これは理論的な裏付けではなく、経験的な統計値によ る「だいたいこんな感じ」という説。だが基本的にキャッシュ容量が増えるほどCPU性能は高くなる。しかし技術的な問題から1次キャッシュの容量には制限 がある。また2次キャッシュの容量を増やすことはCPUのチップ面積を増夫させ、コスト増に直結する。いまでも2次キャッシュの回路はCPUチップ上の半 分近くを占めておリ、その容量を8MB、16MBと増やすことは難しい。逆に、2次キャッシュの容量を減らせば、性能は低下するが安価なCPUを作ること ができる。 という解答はどうでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プロセッサの実効性能だけを2倍に向上させても

    プロセッサの実効性能だけを2倍に向上させても、コンピュータ全体の処理性能は2倍に向上しないことをキャッシュメモリを含めたメモリ階層の仕組みと関係つけて説明せよ。 という問題でまた新たに解答を考え直してみました。 メモリデバイスには、速度や記憶容量の違いなど様々な種類がありますが、高速性と大容量は両立しない。ゆえにプロセッサの実行性能、つまり高速性と大容量を二倍にしてもそれは両立できず結果的にコンピュータの処理性能は二倍にはならない。このため、主記憶には高速・小容量なメモリと低速・大容量なメモリを組合わせて、メモリアーキテクチャを設計する。 この構成方式を記憶階層と呼ぶ。 記憶階層では、参照の局所性と呼ばれる性質をうまく利用している。 メモリ内で、あるアドレスがアクセスされたとき、次にアクセスされるのは、その近辺のアドレスである可能性が高く、それを参照の局所性と呼ぶ。 ご確認お願い致します。

  • cpuの性能

    コンピューター関係のことに詳しい方、教えてください。         コンピューターの中央処理装置、cpuの性能がいまいちいいのか悪いのかが分かりません。以下の中央処理装置、cpuはどんな性能でしょうか。  intel core i5-2430m cpu プロセッサー 2.40ghz お願いします。

  • PC性能を向上させたいのですが

    性能を向上させるには何をどうすれば良いのか、商品がありすぎて迷っています。 3DゲームをしたいのですがPCがしょぼいので起動すらできませんでした。 CPU Intel Celeron D プロセッサ335(2.80 GHz) メモリ 512MB DDR-SDRAM ビデオ S3 Graphics ProSavage8 (onBoard) 数年前に購入した牛丼パソコン大盛です。 まず始めに何から手をつければ良いのでしょうか? 出来るだけ出費を抑えたいと考えております。 その他必要事項等ありましたらお答えします。 よろしくおねがいします。

  • どちらが性能上?

    ・Pentium4 1.7GHz (Willametteコア FSB400MHz) + メモリ512MB ・Pentium4 2.0AGHz (Northwoodコア FSB400MHz) + メモリ256MB ではどちらが性能が高いでしょうか? キャッシュの2倍とメモリの2倍がどのように性能に反映するのか今一わかりません。web閲覧や動画編集が主な目的です。

  • シングルコアとデュアルコアのXeonプロセッサーの性能比について

    シングルコアとデュアルコアのXeonプロセッサーの性能比についてです。 測定するソフトやOS環境、I/Oの環境などにより違うでしょうし、何よりも全く同じ周波数とキャッシュプロセッサー条件で、シングルvsデュアルの比較だけをするのは無理でしょうからいろいろな条件を付けるべきことはわかっているのですが、『デュアルにするとシングルのときの一般的に何倍のパフォーマンスが期待できるか』の問いに無難に回答するにはなんと言えばよいのでしょうか。どこかのベンチマークサイトを紹介すれば良いのでしょうか。

  • デュアルプロセッサについて

    私はデュアルプロセッサに対応しているノートパソコンをかったのですが 512MBのCPUひとつしか付属していません あまりパソコンの中身について詳しくないのですが。 調べたところデュアルプロセッサは同じ要領のCPUを二つ付属させるのが普通なそうです。 増設するCPUについて調べたところ現在2GBのメモリ、1GBのメモリも売っているんです。 価格的にも2GBのメモリを買って増設を考えているのですが 512MBのメモリ、2GBのメモリでデュアルプロセッサを機能させると処理速度はどうなるでしょうか?やはり2つのメモリの要領に違いがあると問題があるでしょうか? 教えてください。 ------- あと答えれたらこれもお願いします 1GB*2、または2GB+512MB どちらのほうが処理が早いでしょうか?

  • サウンド性能

    競争がない業界ですが,サウンドチップの性能は向上しているのですか? creativeの独占状態みたいな感じですけど. 以前,creativeが24倍の演算性能を持ったものを 出していたような気がしますが. そこまでの性能はあるもんなんでしょうか? 体感できないのが性能が向上していない ように感じる原因かもしれませんけど. 特にオンボードに関してはどうなんでしょうか? ノイズ対策がなされていないみたいなので性能 以前の問題なんでしょうけど.

  • プロセッサの命令実行時間

    基本情報処理のプロセッサの命令実行時間について質問です 1件のトランザクションについて80万ステップの命令実行を必要とするシステムがある。 プロセッサの性能が 200 MIPS で,プロセッサの使用率が 80 %のときのトランザクションの 処理能力(件/秒)は幾らか。 答は200なのですが、これがよくわかりません。 回答には、200 x 0.8とありますが、なぜこの式が成り立つのかまずわかりません。 200MIPSのプロセッサ性能のシステム?のうち80%が使用されているということでしょうか? そしてその次に80万のトランザクションであれば、160百万 ÷ 80万で200件となります。 これもなぜこの二つの数字を割るのかわかりません。 根本的に理由がわかっていないと、このような似た問題が解けないので、どなたか小学生でもわかるくらいかなり簡単に説明できる方いらっしゃいますか

  • PCが32ビットになると性能はどれくらい上がる?

    最近32ビットのプロセッサーが出たり、32ビット版のWindowsも出るとか言われます。 でも32ビットになると、どの程度良くなるんでしょう? 16ビットと32ビット処理との違いが根本的に分ってないんですが。 (^_^; プロセッサーもOSもソフトも32ビットになれば、処理能力が倍になるって事なんでしょうか? それとHDDやカード類が同じでも性能は倍になる? ドライバソフトも32ビットにしなければ、いけないんですか? 知ってる方いらっしゃいましたら教えてください。

  • メモリ階層が有効である理由

    大学の授業のほうで先生が「メモリ階層が有効である」と言っていました。この意味がよくわかりません。 プロセッサ⇔キャッシュ⇔メモリ⇔補助記憶 のように階層が下に行くたびに順に速度が遅くなってることが関係しているのでしょうか? どなたか教えてください!