私は現在FPGAを含むシステムを開発しています。私たちは様々ですIPコア支持する人AXIバス。 PLのIPコアと通信(プログラマブルロジック)、PSのアドレス空間にマッピングする必要があります。(処理システム)。例えば広く使われているジンクPSアドレス空間は次のとおりです。(UG585 - セクション4.1:アドレスマッピング)
- 0x0000_0000〜0x7FFF_FFFF:物理メモリにマッピングします。外部DDRまたはオンチップメモリ
- 0x8000_0000~0xBFFF_FFFF:上記のPLにマッピングされます。
- 0xE000_0000〜0xFFFF_FFFF:チップのさまざまなその他のデバイス
ご覧のとおり、アドレス空間の最初の1 GBだけが物理メモリ用に予約されており、残りはPLまたはPSのデバイスによって占められています。したがって、可能であれば、最初の1 GBにのみ仮想化範囲を適用してMMUをスキップし、チップ上のデバイスに迅速にアクセスできるようにすることができます。
私はそのような修正によって、あらゆる種類のプロセスが権限を制御することなくシステムの物理デバイスにアクセスできるようにすることを知っています。だから質問は
- 物理アドレス空間を部分的に仮想化することは可能ですか?
- 可能であれば、これは合理的ですか?