インテルのi486のは、 L1キャッシュの8キロバイトを持っています。インテルNehalemのは 32キロバイトL1命令キャッシュとコア当たり32キロバイトのL1データキャッシュを有します。
L1キャッシュの量は、クロックレートが増加した速度でほとんど増加していません。
何故なの?
インテルのi486のは、 L1キャッシュの8キロバイトを持っています。インテルNehalemのは 32キロバイトL1命令キャッシュとコア当たり32キロバイトのL1データキャッシュを有します。
L1キャッシュの量は、クロックレートが増加した速度でほとんど増加していません。
何故なの?
回答:
30KのWikipediaテキストは、大きすぎるキャッシュが最適でない理由の説明ほど有用ではありません。キャッシュが大きくなりすぎると、キャッシュ内のアイテムを見つけるまでの待ち時間(キャッシュミスの要因)が、メインメモリ内のアイテムを検索する待ち時間に近づき始めます。CPU設計者が目指す割合はわかりませんが、80-20のガイドラインに似ていると思います。80%の確率でキャッシュ内の最も一般的なデータを検索し、残りの20それを見つけるためにメインメモリに行かなければならない時間の割合。(またはCPU設計者が意図した比率は何でもかまいません。)
編集:80%/ 20%に近いとは思わないので、Xと1-Xを置き換えます。:)
1つの要因は、待ち時間を短縮するために、TLB変換が完了する前にL1フェッチが開始されることです。十分に小さいキャッシュと十分に高い方法を使用すると、キャッシュのインデックスビットは仮想アドレスと物理アドレスで同じになります。これにより、物理的にタグ付けされた仮想インデックス付きキャッシュを使用して、メモリの一貫性を維持するコストがおそらく削減されます。
キャッシュサイズは多くの要因の影響を受けます。
電気信号の速度(光の速度ではない場合、同じ大きさでなければなりません):
経済的コスト(異なるキャッシュレベルの回路は異なる場合があり、特定のキャッシュサイズは価値がない場合があります)
L1キャッシュサイズが64kb後に変更されなかった場合、それはもはや価値がなかったためです。また、キャッシュについてより大きな「文化」があり、多くのプログラマーが「キャッシュフレンドリー」コードを記述し、かつ/またはprefetech命令を使用してレイテンシーを削減していることにも注意してください。
(数メガバイトの)配列内のランダムな場所にアクセスする簡単なプログラムを一度作成してみました:ランダム読み取りごとにページ全体がRAMからキャッシュに移動されたため、そのプログラムはほとんどフリーズしました。プログラムはすべての帯域幅を使い果たし、OSのリソースはほとんど残っていませんでした。
キャッシュが大きくなればなるほど、アクセスが遅くなると述べるだけで簡単に要約できると思います。キャッシュはRAMへの低速バス通信を減らすように設計されているため、キャッシュを大きくしても効果はありません。
プロセッサの速度は急速に増加しているため、同じサイズのキャッシュは、それに対応するために、より高速に実行する必要があります。したがって、キャッシュは(速度の点では)大幅に改善される可能性がありますが、ストレージの点では改善されません。
(私はソフトウェアの専門家ですので、これがひどく間違っていないことを願っています)
L1キャッシュから:
レベル1キャッシュ、またはプライマリキャッシュはCPU上にあり、32バイトのブロックで編成された命令とデータの一時的な保存に使用されます。一次キャッシュは、ストレージの最も高速な形式です。プロセッサの実行ユニットへのゼロ待機状態(遅延) インターフェイスを備えたチップに組み込まれているため、サイズが制限されます。
SRAMはビットごとに2つのトランジスタを使用し、回路に電力が供給されている限り、外部支援なしでデータを保持できます。これは、データの内容を保持するために毎秒何度も更新する必要があるダイナミックRAM(DRAM)とは対照的です。
1997年の初めに発売されたIntelのP55 MMXプロセッサは、レベル1キャッシュのサイズが32 KBに増加したことで注目に値しました。その年の後半に発売されたAMD K6およびCyrix M2チップは、64KBのレベル1キャッシュを提供することにより、さらに資金を増やしました。64Kbは標準のL1キャッシュサイズのままですが、さまざまなマルチコアプロセッサが異なる方法で使用する場合があります。
編集:この答えは2009年からのものであり、CPUは過去10年間で大きく進化したことに注意してください。この投稿にたどり着いた場合、ここですべての答えを真剣に受け止めないでください。
実際、L1キャッシュサイズは、最新のコンピューターの速度の最大のボトルネックです。哀れなほど小さいL1キャッシュサイズは、価格のスイートスポットかもしれませんが、パフォーマンスではありません。L1キャッシュは、RAMアクセスの400倍低速とは異なり、GHzの周波数でアクセスでき、プロセッサの動作と同じです。現在の2次元設計に実装するのは高価で困難ですが、技術的に実行可能であり、最初に成功した企業は、コンピューターを何百倍も高速で動作させ、多くの主要なイノベーションを生み出すでしょう現在、高価でプログラムが困難なASIC / FPGA構成を介してのみアクセス可能です。これらの問題のいくつかは、現在数十年にわたるプロプライエタリ/ IPの問題と企業の貪欲に関係しています。エンジニアの小柄で効果のない幹部だけが内部の仕組みにアクセスでき、ほとんどの場合、費用対効果の高い難読化された保護主義者のナンセンスを絞り出すための行進命令が与えられます。過度に民営化された研究は、常にそのような技術的停滞または抑制をもたらします(航空宇宙および自動車で大手メーカーが見たように、すぐに医薬品になる予定です)。(企業の上司や株主ではなく)発明者や一般の人々に利益をもたらすオープンソースでより賢明な特許と企業秘密の規制は、ここで大いに役立つでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野でさらに前進するでしょう。そして、費用対効果の高い難読化された保護主義者のナンセンスを絞る行進命令を主に与えられている人。過度に民営化された研究は、常にそのような技術的停滞または抑制をもたらします(航空宇宙および自動車で大手メーカーが見たように、すぐに医薬品になる予定です)。(企業の上司や株主ではなく)発明者や一般の人々に利益をもたらすオープンソースでより賢明な特許と企業秘密の規制は、ここで大いに役立つでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野でさらに前進するでしょう。そして、費用対効果の高い難読化された保護主義者のナンセンスを絞る行進命令を主に与えられている人。過度に民営化された研究は、常にそのような技術的停滞または抑制をもたらします(航空宇宙および自動車で大手メーカーが見たように、すぐに医薬品になる予定です)。(企業の上司や株主ではなく)発明者や一般の人々に利益をもたらすオープンソースでより賢明な特許と企業秘密の規制は、ここで大いに役立つでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野でさらに前進するでしょう。過度に民営化された研究は、常にそのような技術的停滞または抑制をもたらします(航空宇宙および自動車で大手メーカーが見たように、すぐに医薬品になる予定です)。(企業の上司や株主ではなく)発明者や一般の人々に利益をもたらすオープンソースでより賢明な特許と企業秘密の規制は、ここで大いに役立つでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野で、私たちはさらに先を行くでしょう。過度に民営化された研究は、常にそのような技術的停滞または抑制をもたらします(航空宇宙および自動車で大手メーカーが見たように、すぐに医薬品になる予定です)。(企業の上司や株主ではなく)発明者や一般の人々に利益をもたらすオープンソースでより賢明な特許と企業秘密の規制は、ここで大いに役立つでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野で、私たちはさらに先を行くでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野で、私たちはさらに先を行くでしょう。はるかに大きなL1キャッシュを作成することは、開発者にとって非常に簡単なはずであり、これは数十年前に開発されるべきでした。もしあれば、コンピューターとそれらを使用する多くの科学分野で、私たちはさらに先を行くでしょう。