アーキテクトされたTLBとアーキテクトされたページテーブルの違いは何ですか?
1 に答える
TLBは、キャッシュやレジスタ ファイルと同様のハードウェア構造です。これはプロセッサ内にあります。ページテーブルは、メインメモリ内の構造です。ウィキペディアでは、設計された TLB を「ソフトウェア管理の TLB」と呼び、設計されたページ テーブルを「ハードウェア管理の TLB」と呼んでいます。
どちらが設計されているかの違いは、仮想メモリの実装にのみ重要です。設計された TLB の場合、オペレーティング システムは TLB を直接操作する必要があります。TLB の容量は限られているため、オペレーティング システムは、プロセスごとにページ テーブルに似た内部構造を持つ可能性があります。設計された TLB の欠点は、ソフトウェアによって新しいエントリを導入するためのコストが高いことです。もう 1 つの理由は、TLB エントリの数が異なるプロセッサ世代間で固定されていることです。このアプローチの例はMIPSです。
設計されたページ テーブルを持つプロセッサには、TLB も含まれる可能性があります。ただし、ページ テーブルのみを参照するソフトウェアに対しては透過的です。これにより、TLB のリフィルが安価になり、プロセッサの世代ごとに異なる TLB (より大きなマルチレベルなど) を使用できるようになります。欠点は、プロセッサがページ テーブルの更新を透過的に検出する必要があり、ページ テーブル ウォークを実行するためのロジックが必要なため、複雑さが増すことです。このアプローチの例はx86です。