2

私は PC アーキテクチャを勉強していますが、PCI アドレスの基礎を理解していないと感じています。

PCI には、メモリ、入出力ポート、構成の 3 つのアドレス空間があります。CPU がさまざまなコマンドを使用してメモリとポートを区別できることは知っていますが、PCI ではどうなりますか? バスにはいくつかのコマンドがあります (これらのスペースへの読み取り/書き込み、割り込み処理など)。メモリ空間を読み取るときは物理RAMアドレスにアドレス指定すると思いましたが、いくつかのマニュアルを読んだ後、内部デバイスのメモリにアドレス指定しているようです。

  1. メモリ マッピングを使用する理由 一部のプログラムが一部の PCI デバイスにマップされた RAM アドレスに書き込むと、実際にはデバイス メモリに書き込むということですか? 標準 IO ポート書き込みを使用しないのはなぜですか?
  2. 必要に応じて実メモリにアクセスする方法は? たとえば、デバイスが RAM にデータを保存したい場合、この要求は「メモリ空間」アクセスとどのように区別されるのでしょうか?
4

2 に答える 2