キャッシュバスとは

キャッシュバスは、コンピュータープロセッサがキャッシュメモリと通信するために使用する専用の高速バスです。 バックサイドバスとも呼ばれ、システムバスよりもはるかに高速で動作します。 キャッシュバスは、プロセッサコアをキャッシュに直接接続します。 プロセッサバスとは独立して実行され、より広く制限の少ないパスでデータを転送します。 キャッシュバスは、最新のプロセッサのほとんどで使用され、頻繁にアクセスされるデータの読み取りまたは変更に必要な時間を短縮します。

1980年代には、キャッシュメモリは通常、プロセッサチップ自体ではなく、マザーボードに配置されていました。 キャッシュは、通常のシステムメモリと同様に、プロセッサバス経由でアクセスされました。 多くの場合、キャッシュメモリの量は非常に少なく、オプションのシステムパフォーマンス強化としてのみ提供されていました。

1990年代初期にプロセッサの速度と効率が向上するにつれて、プロセッサバスがボトルネックになりました。 高速キャッシュメモリには、はるかに低速なシステムメモリと入出力操作が完了するのを待たずにプロセッサと対話する方法が必要でした。 1990年代半ば、ほとんどの新しいプロセッサはデュアルバスアーキテクチャを採用してこの問題を解決しました。 キャッシュに直接アクセスするために、高速キャッシュバスが作成されました。 このバスは他の用途には使用されません。他のすべてのデータ転送は、フロントサイドバスとも呼ばれる低速のプロセッサバスを利用します。 プロセッサは両方のバスを同時に使用できるため、パフォーマンスが大幅に向上します。

初期のデュアルバス設計では、マザーボードにあるキャッシュメモリを頻繁に使用していました。 生産歩留まりの問題により、大量のオンチップキャッシュはまだ費用対効果が高くありませんでした。 後の設計では、歩留まりが向上するにつれて、内部キャッシュと外部キャッシュが混在することがよくありました。 最近のプロセッサは通常、大量の内部キャッシュを使用します。 多くの場合、8キロバイト(KB)しか持たない古いデザインと比較して、8メガバイト(MB)以上が含まれます。 キャッシュ全体がオンチップである最新のデザインでは、キャッシュパスは非常に広いデータパス(一部のプロセッサでは512ビット)で非常に短くなる場合があります。 バスは通常、プロセッサ自体と同じ速度で実行されます。 最終結果として、キャッシュコンテンツを非常に迅速に読み取りまたは変更できます。

マルチコアプロセッサの各コアは、独自のキャッシュを持つか、1つの大きな共通キャッシュを共有します。 どちらの場合も、キャッシュバスは各コアを適切なキャッシュメモリに接続します。 各プロセッサコアに独自の個別のキャッシュがある場合、一貫性の問題が発生する可能性があります。 たとえば、1つのコアがキャッシュ内のデータを更新すると、他のキャッシュ内のそのデータの他のコピーが古くなったり、「古くなったり」します。 このタイプの問題を解決できる1つの方法は、コア間バスとも呼ばれる特別なタイプのキャッシュバスを使用することです。 このバスはすべてのキャッシュをリンクするため、各キャッシュは他のキャッシュの動作を監視できます。共有データを更新すると、他のキャッシュはすぐに新しいコンテンツを反映できます。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?