翻訳ルックアサイドバッファとは
コンピュータの中央処理装置(CPU)には、物理メモリを仮想メモリに変換する翻訳ルックアサイドバッファ(TLB)と呼ばれるキャッシュシステムがあります。 これは別のキャッシュシステムです。これは、通常のキャッシュに配置するよりも、CPUがこのキャッシュでメモリアドレスを検索する方が速いためです。 メモリアドレスを格納するために、TLBはページテーブルエントリを使用して、仮想メモリアドレスと物理メモリアドレスのマップを形成します。 変換ルックアサイドバッファが使用される場合、TLBがヒットまたはミスする可能性があります。これは、メモリが見つかったか、不明であることを意味します。 コンピュータには、より多くのメモリアドレス情報を保存するために、いくつかの異なるTLBレベルが付属している場合があります。
物理メモリが仮想メモリに変換されるとき、キャッシュを作成すると、コンピューターが実際のメモリ配置を簡単に見つけることができます。 この情報はメインCPUキャッシュに配置できますが、いくつかの問題があります。 これらのデータを保存するには、いくつかの異なるアクセスレベルを使用する必要があり、プロセス全体の速度が低下します。 変換ルックアサイドバッファはこれらのレベルを調べ、データを開くことができるようにCPUが正しいメモリスポットを見つけるのに役立ちます。
変換ルックアサイドバッファは、仮想メモリの変換領域を分類するページテーブルシステムを使用します。 ドキュメントが保存されたりプログラムが使用されたりする場合など、物理メモリが仮想メモリに変わると、TLBはこの変換を保存します。 TLBは情報自体を保存するのではなく、メモリの場所に保存するため、メモリが効率的になります。
ファイル、またはメモリアーキテクチャ内の何かを見つけるために、CPUはコンピュータを検索します。 CPUの最初のステップは、変換ルックアサイドバッファーを使用して、メモリがキャッシュされているかどうかを確認することです。 これにより、ヒットまたはミスが発生します。 TLBヒットとは、物理メモリがキャッシュされており、すばやく検出できることを意味します。 TLBミスは、物理メモリがキャッシュされていないことを意味し、CPUはメモリを見つけるためにすべてのページテーブルを調べる必要があります。これは、メモリ効率が悪く、余分な時間がかかります。
ほとんどのコンピューターには、いくつかの変換ルックアサイドバッファーレベルが付属しています。 最下位レベルは情報量が最小ですが、最速です。 最初のレベルで保持するには情報が多すぎると、より高いレベルに流出します。 これらのレベルはそれほど高速ではありませんが、CPUが物理メモリアドレスのすべてのページテーブルを検索するよりも高速です。