/ / RAMアドレスとメモリマップアドレスの違い - メモリ管理

どのようにRAMアドレスがメモリマップアドレスと区別されるか - メモリ管理

起動プロセスとメモリ管理を腕で理解しようとしていて、メモリマップアドレスとRAMアドレスに関連する質問がありました。

  • 私が理解していること:

すべてのSocはメモリマップを持ち、サイズは異なりますアドレッシング能力に関しては、例:32ビットプロセッサは2 ^ 32または4GBのアドレッシング能力を持っています。メモリマップには、マップされたさまざまなペリフェラルのアドレスとベクタテーブルe.t.cが含まれます。例:アドレス0x00000000はリセットベクタ、アドレス0x70000000はUARTレジスタなどです。

同様に、DDRコントローラもRAMを制御するためのメモリマップアドレスを持ちます。

  • 私の質問:

RAMのサイズを4GBとした場合、メモリマップ(またはUARTレジスタ)に影響を与えずにRAMのアドレス0x70000000にアクセスするにはどうすればよいですか。

私がそれを誤解したならば、私の理解を訂正してください。

回答:

回答№1は0

簡単な答えは、「アクセスできない」ということです。メモリマップされた周辺機器は、同じアドレスのRAMよりも優先されます。

最も有名な例は実際にはWin32です。ビデオカードはメモリマップされていて利用可能なRAMを3.5GBに減らすことがよくあります。