回答:
手にあるアイテムは、ポケットにあるアイテムよりも速くアクセスできます。ポケットにあるアイテムは、Digikeyにあるアイテムよりも、食器棚にあるアイテムよりも速くアクセスできます。ここに挙げた連続する各タイプのストレージは、以前のものより大きくなりますが低速です。
だから、両方の長所を手に入れましょう。あなたの手をDigikeyの倉庫のように大きくしましょう!いいえ、それは機能しません。なぜなら、彼らはもはや実際にはもう手ではないからです。彼らはあなたの重さを量る砲弾です。
大容量ストレージのアクセスが遅い理由は、距離です。大きなストレージは、平均してあなたから遠く離れています。これは、物理的なアイテムとRAMに当てはまります。
コンピュータのメモリは、物理的なスペースを占有します。そのため、メモリが大きいほど物理的に大きくなり、そのメモリ内の一部の場所は物理的に離れます。速度制限があるため、遠くにあるものはアクセスに時間がかかります。ポケットやDigikeyの場合、制限速度は腕の速度と高速道路の制限速度です。
RAMの場合、速度制限は、電気信号の伝搬速度、ゲートとドライバーの伝搬遅延、および同期クロックの一般的な使用です。お金が問題ではなく、今日利用可能な最速のRAMテクノロジを好きなだけ買うことができたとしても、そのすべてから利益を得ることができません。必要に応じて、L1キャッシュのA4サイズのシートをレイアウトし、CPUを中央に配置します。CPUがメモリの隅にあるメモリにアクセスする必要がある場合、要求がそこに到達するまでにナノ秒かかり、戻ってくるまでにナノ秒かかります。そしてそれには、ゲートとドライバーを通過するすべての伝搬遅延は含まれていません。これにより、3GHzのCPUが大幅にスローダウンします。
同期論理は非同期論理よりも設計がはるかに簡単なので、RAMの1つの「ブロック」は同じクロックでクロックされます。メモリ全体をL1キャッシュにしたい場合は、メモリ内で最も離れた場所の最悪の場合のタイミングに対処するために、低速クロックでロット全体をクロックする必要があります。これは、離れたメモリロケーションがローカルのロケーションを抑制していることを意味します。したがって、メモリをゾーニングするのが最善の方法です。キャッシュの最も近いセクションと最小のセクションは、最も速いクロックを使用します。次の最も近いセクションと最小のセクションでは、少し遅いクロックを使用します。
そして今、あなたはL1とL2キャッシュとRAMを持っています。
これが次の理由である電力消費につながります。
キャッシュは実際にはかなりの電力を消費します。メモリ自体だけでなく、キャッシュラインとメインメモリの間のマッピングを処理する、メモリを取り巻くすべてのロジック。この追加ロジックのパフォーマンスを向上させると、消費電力が増加する可能性があります。これで、特定のアプリケーション(モバイル、組み込み)について、キャッシュを小さく保つインセンティブがさらに高まります。
参照キャッシュの消費電力と性能の最適化のための設計トレードオフ:Aケーススタディ(チン・ロング蘇とアルヴィン・M. Despain、1995)。
経済的/パフォーマンス/電力消費の要素をすべて除外すると、質問への答えは次のとおりです。それは多くのマイクロアーキテクチャの要素に依存します。
例として、このリファレンスを参照してください。テスト中のすべてのプロセッサの測定されたL1アクセスレイテンシは4クロックサイクルです。プロセッサーの周波数はほぼ同じですが、L1キャッシュのサイズは最大3倍異なります。
上記のテストでいくつかの異なるプロセッサ間でL1への一定のレイテンシが発生する理由は、キャッシュのマイクロアーキテクチャにあります。キャッシュアクセス自体(メモリからのデータの取得)は、単一のクロックサイクルしかかかりません。追加の3サイクルは、アクセスのデコード、データの存在の確認などに費やされます。追加のステージの数は、テスト中のプロセッサ全体で同じであるため、アクセスのレイテンシは同じです。
上記の例にもかかわらず、キャッシュレイテンシはキャッシュのサイズに依存しないという結論に達すべきではありません。誰かが途方もなく大きいL1キャッシュを実装しようとすると、キャッシュの読み取りに必要なすべての操作を実行するロジックも大きくなります。ある時点で、このすべてのロジックによる伝搬遅延は長すぎ、事前に1クロックサイクルだけかかっていた操作を複数のクロックサイクルに分割する必要があります。これにより、レイテンシが増加します。
問題のキャッシュがSRAMに実装されていると仮定すると、キャッシュサイズによって最も影響を受けるモジュールは、行デコーダーとマルチプレクサです。ただし、非常に大きなキャッシュの場合、センスアンプでも影響を受けます。容量が大きいためにビットラインの電圧振幅が小さくなると、「強力な」センスアンプが必要になります。つまり、ロジック速度への最も深刻な影響は、配線相互接続容量によって追加されます。この容量は、SRAMサイズに対する線形依存以上のものです。正確な詳細は実装固有です。
現在、L1キャッシュは、パフォーマンスが最も重要であるため、レイテンシがかなり安定しています。L2キャッシュとL3キャッシュを分析しようとすると、状況が非常に複雑になります。
マルチコアプロセッサを検討すると、状況はさらに複雑になります。キャッシュコヒーレンシを確保するための追加ロジックがあります。これは、キャッシュアクセスのレイテンシに影響を与える追加の要因、つまりすべてのコアのメモリへのアクセスの履歴につながります。
概要
ご覧のとおり、質問は簡単なものではなく、完全に回答することはできません。ただし、経済的でパフォーマンスが望ましいキャッシュを検討する場合、キャッシュのサイズはレイテンシにそれほど影響を与えないと思います。
興味のある読者向け:
このリファレンスは、最新のCPUのパフォーマンス要因の非常に詳細な分析です。そこにはキャッシュ関連の資料がたくさんあります。コンピュータアーキテクチャとマイクロアーキテクチャの原則に関する深い理解が必要です(または、この分野の専門家になるために知っておく必要があるトピックの優れた要約)。
CPUキャッシュテストエンジニアはこちら-コメントのDave Tweedが正しい説明をしています。キャッシュは、CPUの予想価格でパフォーマンスを最大化するサイズになっています。キャッシュは一般にダイスペースの最大の消費者であり、そのサイズは経済(およびパフォーマンス)に大きな違いをもたらします。
IntelのIvy Bridge CPUファミリーのページをご覧ください:http : //ark.intel.com/products/codename/29902/Ivy-Bridge
トップエンドのXeonには30MBのキャッシュが付属し、12コアを持ち、コストは約$ 2700です。3MBのキャッシュを備えたローエンドのi3(i3-3217)は、ラップトップ全体でわずか500ドルです(個別に見つけることはできません)。
Xeonは究極のパフォーマンスを提供しますが、製造とテストのコストも高くなります。i3の方がはるかに安価ですが、トレードオフはダイのサイズが小さくなることであり、その中でキャッシュが最も大きな部分を占めます。