インテルのみ表示可能 — GUID: iga1409331632098
Ixiasoft
インテルのみ表示可能 — GUID: iga1409331632098
Ixiasoft
3.2.2.1. 仮想アドレッシング
MMU は、ハードウェア変換索引バッファー (TLB) によるアドレス変換の高速化を含んでいます。オペレーティング・システムは、メモリー内にページテーブル ( または同等のデータ構造 ) を作成し、保持する役割を担っています。ハードウェア TLB は、ページテーブルでソフトウェア管理キャッシュとして機能します。MMU は、ハードウェア・テーブル・ウォークといった、ページテーブル上の動作を実行しません。したがって、オペレーティング・システムは、任意の適切な方法でページテーブルを自由に実装できます。
20 ビットの仮想ページナンバー (VPN) と 12 ビットのページオフセットがあります。
ビットフィールド | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
仮想ページナンバー | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
仮想ページナンバー | ページオフセット |
入力として、TLB は VPN とプロセス識別子を取ります ( 一意性を保証するため )。出力として、TLB は対応する物理フレームナンバー (PFN) を提供します。
異なるプロセスは同じ仮想アドレス空間を使用できます。プロセス識別子は、仮想アドレスと連結され、別々のプロセスで同一の仮想アドレスを区別します。Nios II MMU は VPN を PFN に変換して PFN をページオフセットと連結させることで物理アドレスを決定します。ページオフセットのビットは変換されません。
メモリー保護
Nios II MMU は、ページごとに読み出し、書き込み、および実行許可を維持します。TLB は、VPN の変換時に許可情報を提供します。オペレーティング・システムは各プロセスが各特定のページのデータの読み出し、書き込み、または実行命令が可能かどうかを制御できます。MMU は、デフォルトで各データページへのアクセスをキャッシュ可能またはキャッシュ不能にするかどうかも制御します。
命令が TLB マッピングがないページ、または適切な許可がないページにアクセスしようとするたびに、MMU は例外を生成します。Nios II プロセッサーの厳密な例外により、システム・ソフトウェアは TLB を更新し、必要に応じて命令を再実行できます。