Cache と Translation LookAside Buffer [TLB] の違いは何ですか?
4 に答える
Cache
メモリの実際の内容を格納します。
TLB
一方、マッピングのみを保存します。TLB
メモリ内のオペランドを検索するプロセスを高速化します。
Cache
これらのオペランドをより高速な物理メモリにコピーすることで、これらのオペランドを読み取るプロセスを高速化します。
ウィキから:
コンピューター サイエンスでは、 キャッシュ(/kæʃ/、kash と発音) は、別の場所に保存されているか、以前に計算された元の値を複製するデータのコレクションです。キャッシュの読み取りコスト。つまり、キャッシュは、頻繁にアクセスされるデータを迅速にアクセスできるように格納できる一時的な記憶域として機能します。データがキャッシュに保存されると、元のデータを再フェッチまたは再計算するのではなく、キャッシュされたコピーにアクセスすることで、将来使用できます。
一方
変換ルックアサイド バッファー(TLB) は、メモリ管理ハードウェアが仮想アドレス変換速度を向上させるために使用する CPU キャッシュです。 これは、プロセッサに導入された最初のキャッシュです。現在のすべてのデスクトップおよびサーバー プロセッサ (x86 など) は、TLB を使用します。TLB には、仮想アドレスを物理アドレスにマップするページ テーブル エントリを含む一定数のスロットがあります。これは通常、コンテンツ アドレス可能メモリ (CAM) であり、検索キーは仮想アドレスであり、検索結果は物理アドレスです。
こちらもご覧ください。
キャッシュは、メモリアクセスをバッファリングするためのものです-メモリへの実際の読み取りと書き込み。TLA バッファは、プロセスのアドレス空間内の仮想アドレスからメモリ内の物理アドレスへのマッピング (メモリ アクセスに伴うサービス操作) をバッファリングします。
TLB は、CPU に関連付けられた特別な種類のキャッシュです。仮想メモリを使用している場合、仮想アドレスから物理アドレスへの変換を高速化するために TLB が必要です。TLB は、page_no、offset、frame_no、および一部の制御ビットのみを格納します。キャッシュは、頻繁に使用されるデータのブロックを格納するためのものです。TLB/page_table から物理アドレスを取得した後、メイン メモリを探すのではなく、キャッシュ内でそのアドレスを探します (図 8.10 ウィリアム ストール 6e)。