- ベストアンサー
CPUキャッシュの大容量化の理由とは?
- CPUの1次2次キャッシュが大容量化できない理由は何でしょうか?
- CPUの内部キャッシュはコストがかかると言われているが、なぜまだ大容量化できないのでしょうか?
- CPUの内部キャッシュの容量を増やすことはコストがかかるため、現在の技術では限界があると思われます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>種類が違うってことは知っています。 それでなんで同列に論じられるのかがわからないんですけど… >HDのキャッシュはサムスンあたりのDRAM これ、確かPC133くらいのSDRAMですよ、データ転送レートがようやく1Gbit/秒程度の。(16Bitアクセスのチップ(あるんだっけ?)ならチップ一つで2Gbit出ますけど、それが上限のはず) HDDの速度もインタフェースの速度も(物理機構のせいで発生するギャップという意味で)そんなレベルじゃないからそれで十分。 #キャッシュにDDR SDRAMを使うのはSSDからのはず CPU内部のキャッシュはCPUコアと等速、2GHzとか3GHzで回るRAMが必要。データ転送レートは前世代のi7におけるベンチ結果で150GByte/秒以上、HDDのキャッシュの理論値に比べてさえ1200倍を超える速度です。そんな性能ハングリーなメモリの実装コストは当然容量単価にして何十倍何百倍にもなるわけで。 また、あまりキャッシュを大きくしてもそのキャッシュを管理するコストが馬鹿になりません。256KBのキャッシュには256KB分の内容を管理する手間が、64MBのキャッシュには64MB分の内容を管理する手間がついて回ります。「これこれのコードをよこせ」とCPUから命令が来て、64MB分を探し回ったあげく「キャッシュされてませんでした」と回答するようじゃキャッシュが性能の足を引っ張るという結果に。 そりゃ256KBでキャッシュミスがあっても性能の足を引っ張るには違いありませんけど、256KB分を探す方が64MB分探すより速いですからその分ペナルティも少なくてすみます。 そもそも、64MB分もコードをキャッシュしなきゃならないような巨大プログラムはまだPC業界に現れていませんし、近い未来に主流になることもありえません。 ひとまとめにすると、わざわざ高いコストを払って性能の足を引っ張りかねない大容量キャッシュを積む意味なんて無いってことです。キャッシュの役割はあくまでメインメモリの遅さを隠蔽することが主であって、メインメモリを待つまでの間を持たせることができるだけの容量があればOKってことなんでしょう。
その他の回答 (2)
- u-bot
- ベストアンサー率58% (1736/2988)
とりあえずi7-980Xのダイの写真を見て下さい。 http://journal.mycom.co.jp/photo/special/2010/gulftown/images/Photo02l.jpg 元記事:http://journal.mycom.co.jp/special/2010/gulftown/index.html i7-980XのL3キャッシュの容量は『たった』の12MBですがダイ面積の1/3を占めている事が判ると思います。 メモリの回路構造は単純ですから簡単に面積は減らすことはできません。 これで64MBや512MBも搭載したらダイ面積がどれぐらい大きくなるか判りますよね?
お礼
キャッシュ部分のダイは結構大きいんですね。
- Yodo-gawa
- ベストアンサー率14% (133/943)
キャッシュを単純に大容量化したところで、それが処理能力の向上に繋がらないから。 Pen4の500番台と600番台なんて、その最たる例ではないかな?
お礼
セレロンは確かキャッシュ半分ですよね。 だからといって2倍にすれば、倍になりませんけど 他にも違うところありますが性能が結構違います。
お礼
なるほど、大きすぎてもダメなんですね。 Windowsもメモリ大きすぎると遅くなってしまいますからね。 64MBだとアセンブラで書けば特に暗号解読とかに効果が大きそうです HDなら1GBぐらいのキャッシュあってもいいかなー。 って感じてしまいました。 Windowsのブートとか小さなファイルの書き込みに効果が期待できそうですね。