変換プロセスの仮想アドレスから物理アドレスへ

1.arm32のいずれかとの問題

  • 32レベル2の支持アームMMUページテーブル、L1、L2および(LAPEここでは考慮しない)は、以下の機能をサポートしています
    • VA - PA、レベル2の変換テーブルまで
    • 32ビット物理アドレスのサポート
    • これは、次のメモリサイズをサポートしています
      • セグメントの1Mまたは16M
      • 4Kまたはページの64K

 

2. 1ページ・テーブル・マッピング

  • ページテーブルマッピングプロセス
    • 1Mセクションを使用して図L1マッピング
    • TTBA [31:14] L1は、グループアドレスを表します
    • ページ・テーブル・エントリは4つのバイトを占め、VA [31:20] << 2は、ページオフセット表内の仮想アドレスを表します。
    • TTBA [31:14] |(VA [31:20] << 2)仮想アドレスのページテーブルエントリのアドレスを表し、
    • PAによるSUMMARY L1のページテーブルエントリ[31:20] | mmu_flags | [1:0]、テーブルの種類、最終的に2ビット
    • PA [31:20] | VA [19:0]が得られるPA-ステージマッピング

  • TTBAから来ますか?
    • 図整列アドレス16キロバイトから分かるCP15 C2に蓄積されTTBA、
    • TTRB0 TTBAとTTRB1、カーネル空間に対応する、請求TTRB0対応するユーザ空間、TTRB1によって決定されるアドレス
  • L1は、VAに対応してどのように?
    • 各ページテーブルエントリは、ページテーブルが4バイト、低い2ビットは0b00となる、VA [31:20] << 2オフセットされます
    • 各ページテーブルエントリは4Gスペースの代わりに、1M、4Kページ・テーブル・エントリ・プロセスのスペースを示し、

 

  • ページテーブルエントリの内容を定義するには?
    • [1:0] 2は下位ページ・テーブル・タイプを表します
      • 0b00と----無効
      • ---- 0B01ページマッピング、[31:10]が2つのページテーブルのベースアドレスを示し、2つのページテーブルは、1Kを整列しました
      • 0b10と----セグメントマッピング(1M / 16M)

 

 

 

 3. 2つのページテーブルマッピング

  • 二つのページ・テーブル・マッピングの手順
    • 4Kページマッピングを使用して、1MセクションマップL1、L2を用いて、図
    • 一部L1と完全に一致する前に
    • L2 L1エントリは、ベースアドレスを取得することができます
    • VA [19:12] << 2つのアドレスページテーブルL2を得るためのオフセットとして
    • L2ページテーブルエントリ[31:12] PA [31:12]に対応(PA [31:12] | VA [11:0])変換PA後に得られました

 

 

  •  L2は、VAに対応してどのように?
    • VA [夜7時12分] << 2 2つのオフセットページテーブルエントリを取得します
    • 1M部256に対応するページテーブルエントリ、各ページ4K

 

  •  どのように2ページテーブルの項目を定義しましたか?
    • 下位2ビット[1:0]が使用されるタブ型領域
      • 0b00と----無効
      • 0B01 ----大きなページ、64キロバイトのページ
      • 0b1x ----小さなページ、4KBのページ

 

おすすめ

転載: www.cnblogs.com/ant-man/p/11585529.html