TLB 【Translation Lookaside Buffer】 トランスレーションルックアサイドバッファ
概要
TLB(Translation Lookaside Buffer)とは、仮想記憶を用いるコンピュータ上で、メモリの仮想アドレスと物理アドレスの対応関係を一時的に保存しておくキャッシュメモリ。CPU(マイクロプロセッサ/MPU)内部に実装されている。仮想記憶はメモリ領域に物理的なアドレス(番地)とは別に仮想的なアドレスを割り当て、各プログラムからは仮想アドレスを用いてアクセスできるようにする技術で、CPU内部のMMU(Memory Management Unit)が仮想メモリと物理メモリの対応関係を管理する。
通常、どの仮想アドレスがどの物理アドレスに対応するかは「ページテーブル」と呼ばれる対応表で管理されるが、これはメインメモリ上に置かれるため、メモリアクセスの要求があるたびにテーブルを参照するとプログラムの実行速度の制約となる。
このため、テーブル内の一部の情報を高速に読み書きできるTLB内に複製しておき、普段はこれを用いて変換処理を行う。TLB内に存在しないアドレスが参照された場合はメモリ上のテーブルを読みに行く。
参照された情報はTLBに記録されるが、TLBの記憶容量には限りがあるため、いっぱいになると一定の基準により記録済みの情報を削除して記録用の領域を確保する。最も古く参照されたものから削除する「LRU」(Least Recently Used)アルゴリズムが用いられることが多い。
(2020.9.2更新)