キャッシュを使用してシステムのパフォーマンスを向上させるための基礎は、プログラムの局所性の原則です。 CPU はデータを読み取る必要がある場合、まずキャッシュを検索して必要なコンテンツがあるかどうかを確認し、存在する場合はキャッシュから直接読み取ります。 CPU がアクセスする必要があるコンテンツのほとんどがキャッシュ内で見つかる場合 (アクセス ヒットと呼ばれます)、システム パフォーマンスは大幅に向上します。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
キャッシュを使用してシステムのパフォーマンスを向上させるための基礎は、プログラムの局所性の原則です。局所性の原理に基づき、メインメモリ内でアクセス確率の高いコンテンツをキャッシュに格納します。 CPU がデータを読み込む必要がある場合、まずキャッシュを検索して必要なコンテンツがあるかどうかを確認し、存在する場合はキャッシュから直接読み取り、存在しない場合はメイン メモリからデータを読み取ってメモリに送信します。 CPU とキャッシュを同時に使用します。 CPU がアクセスする必要があるコンテンツのほとんどがキャッシュ内で見つかる場合 (アクセス ヒットと呼ばれます)、システム パフォーマンスは大幅に向上します。
システムの平均ストレージ サイクルはヒット率と密接に関係しており、ヒット率がわずかに増加するだけでもパフォーマンスが大幅に向上します。
CPU がメモリアクセス要求を発行すると、まずメモリアドレスをキャッシュコントローラに送り、必要なデータがキャッシュに存在するかどうかを判定し、ヒットした場合には直接キャッシュにアクセスします。このプロセスはキャッシュ アドレス マッピングと呼ばれます。一般的なマッピング方法には、直接マッピング、連想マッピング、グループ連想マッピングなどがあります。
キャッシュメモリでアクセスミスが発生した後、対応するデータをCPUとキャッシュに同時に読み込む必要があります。ただし、キャッシュがデータでいっぱいになった後は、新しいデータによってキャッシュ内の古いデータの一部を削除する必要があります。最も一般的に使用される消去アルゴリズムは、ランダム消去、先入れ先出し (FIFO)、および最も最近使用された消去 (LRU) です。
キャッシュにキャッシュされたデータがメイン メモリの内容と一致していることを保証する必要があるため、キャッシュへの書き込み操作は読み取り操作よりも複雑で、次の方法が一般的に使用されます。
(1)ライトスルー。キャッシュに書き込むとき、データは同時にメイン メモリに書き戻されます。これはライトスルーと呼ばれることもあります。
(2) 返信します。 CPU がキャッシュ内の特定のラインを変更した後、対応するデータはすぐにはメイン メモリ ユニットに書き込まれず、そのラインがキャッシュから削除されたときにデータがメイン メモリに書き戻されます。
(3) 表記。キャッシュ内の各データに有効ビットを設定します。データがキャッシュに入るとき、有効ビットは 1 に設定されます。CPU がデータを変更したいときは、データをメイン メモリに書き込み、同時に有効ビットを 0 にクリアするだけで済みます。キャッシュからデータを読み取りたい場合は、その有効ビットをテストする必要があります。有効ビットが 1 の場合はキャッシュから直接数値をフェッチし、それ以外の場合はメイン メモリから数値をフェッチします。
さらに関連する知識については、FAQ 列をご覧ください。
以上がシステムのパフォーマンスを向上させるためにキャッシュを使用する根拠は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。