メモリ管理ハードウェア モジュール - TLB

        TLB (Translation Lookaside Buffer) は、仮想アドレスから物理アドレスへの変換を高速化する重要なハードウェア ユニットです。

        現在主流のマルチレベル ページ テーブル構造により、MMU は仮想アドレスの変換プロセス中に複数のページ テーブル エントリにアクセスする必要があります。アドレス変換により、複数の物理メモリ アクセスが発生する場合があります。したがって、このアドレス変換プロセスを高速化するために、ハードウェア ユニット TLB が MMU 内に導入されます。簡単に言うと、TLB は単純化され、仮想ページ番号物理ページ番号キーと値のペアをキャッシュするハッシュテーブル (マッピング関係)として理解できます。

        次の図に示すように、MMU は仮想ページ番号をキーとして使用して TLB 内のキャッシュ エントリをクエリします。見つかった場合は、ページ テーブル操作をさらにクエリせずに、対応する物理ページ番号を直接取得できます。このプロセスは次のとおりです。 TLB ヒット。

        以下の図に内部的に示されているように、通常、TLB ハードウェア ユニットも分割アーキテクチャ設計を採用しており、これはプロセッサとハードディスク間のデータ転送中に追加される階層キャッシュと比較できます。L1とL2の2層に分かれており、L1はさらにデータTLBと命令TLBに分かれています。キャッシュされたデータと命令のそれぞれのアドレス変換。L2 はデータと命令を区別せず、CPU 内のハードウェア単位であるため、TLB が非常に小さいため、キャッシュ項目が制限されます。通常、各 CPU コアには数千のキャッシュ エントリがあります。

        注: TLB がミスすると、ハードウェアはページ テーブル ベース アドレスを通じてページ テーブルにクエリを実行し、対応するページ テーブル エントリを見つけます。翻訳結果をTLBに記入します。TLB キャッシュがいっぱいの場合は、置き換えられます。

おすすめ

転載: blog.csdn.net/tanxiezang5399/article/details/122512964