• ベストアンサー

命令キャッシュとデータキャッシュ

命令キャッシュとデータキャッシュの違いについて教えてください。 命令キャッシュ=データの更新が少ない データキャシュ=データの更新が多い ってとこまではわかったのですが、それ以上はよくわからないのです。 あとなぜ命令キャッシュとデータキャッシュに分ける必要があるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.2

命令とデータの間はアクセスするときにまったく相関がありません。 キャッシュはアクセスするときに相関があるデータを読み書きするときに ヒット率があがるものですから,最初からまったく相関のない 命令とデータを同じキャッシュに入れるということはキャッシュの ヒット率を下げることは明らかです。 したがって分けているということになります。

myamyanmya
質問者

お礼

相関がないから分けて、分けたほうが効率が良いということですね。 わかりやすい説明ありがとうございました。

その他の回答 (2)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

命令キャッシュとデータキャッシュの最大の違いはライトバックの有無です。 ライトバックの必要がない命令キャッシュとデータキャッシュと共用すると、著しく効率が悪くなります。

myamyanmya
質問者

お礼

ありがとうございました。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

主メモリー上の命令エリアとデータエリアを考えて見ましょう。 命令エリアはプログラム実行中参照オンリーで書き換えられることはありません。 データエリアは読み書き両方有ります。 性格の違うものは分けてキャッシュした方がトータルの効率がよくなるのでそうなっています。 昔の計算機は分かれていませんでした。

myamyanmya
質問者

お礼

なんとなくわかりました。 ありがとうございます。

関連するQ&A