キャッシュバスとは何ですか?
キャッシュバスは、コンピュータープロセッサがキャッシュメモリと通信するために使用する専用の高速バスです。裏側バスとも呼ばれ、システムバスよりもはるかに速い速度で動作します。キャッシュバスは、プロセッサコアをキャッシュに直接接続します。プロセッサバスとは独立して実行され、より広く、あまり制限されていないパスを横切ってデータを転送します。キャッシュバスは、ほとんどの最新のプロセッサで使用され、頻繁にアクセスされるデータの読み取りまたは変更に必要な時間を短縮します。
1980年代には、キャッシュメモリは通常、プロセッサチップ自体ではなくマザーボードにありました。通常のシステムメモリと同じように、キャッシュはプロセッサバスにアクセスされました。キャッシュメモリの量は非常に小さく、オプションのシステムパフォーマンスの向上としてのみ提供されました。
1990年代初頭にプロセッサの速度と効率が増加するにつれて、プロセッサバスはボトルネックになりました。高速キャッシュメモリは、システムメモをはるかに遅くすることなくプロセッサと対話する方法が必要でしたRYおよび入力/出力操作を終了します。 1990年代半ば、ほとんどの新しいプロセッサは、この問題を解決するためにデュアルバスアーキテクチャを採用しました。キャッシュに直接アクセスするために、高速キャッシュバスが作成されました。このバスは他のものには使用されていません。他のすべてのデータ転送は、フロントサイドバスとも呼ばれる遅いプロセッサバスを利用しています。プロセッサは両方のバスを同時に使用できるため、パフォーマンスが大幅に向上します。
初期のデュアルバスデザインは、マザーボードにあるキャッシュメモリを頻繁に使用しています。大量のオンチップキャッシュは、生産収量の問題により、まだ費用対効果が高くありませんでした。後の設計では、収量が改善されると、内部と外部キャッシュの混合物が組み込まれていることがよくありました。最新のプロセッサは通常、大量の内部キャッシュを利用します。多くの場合、8キロバイト(KB)しかなかった古いデザインと比較して、8メガバイト(MB)以上が含まれます。 CAC全体が現代のデザインで彼はオンチップで、キャッシュバスは非常に短いデータパスで、一部のプロセッサでは512ビットで非常に短くなります。バスは通常、プロセッサ自体と同じ速度で走行します。最終的な結果は、キャッシュコンテンツを非常に迅速に読み取ることができることです。
マルチコアプロセッサの各コアには、独自のキャッシュがあるか、1つの大きな共通キャッシュを共有する場合があります。どちらの場合も、キャッシュバスが各コアを適切なキャッシュメモリに接続します。各プロセッサコアに独自のキャッシュがある場合、コヒーレンシーの問題が発生する可能性があります。たとえば、1つのコアがキャッシュ内のデータを更新すると、他のキャッシュのそのデータの他のコピーが古くなったり「古くなっています」。このタイプの問題を解決できる1つの方法は、特別なタイプのキャッシュバスを使用することです。このバスはすべてのキャッシュを結び付けて、それぞれが他のキャッシュがしていることを監視できるようにします。1つが共有データを更新すると、他のデータがすぐに新しいコンテンツを反映できます。