0

非常に基本的な質問があります。私が研究しているアーキテクチャは、メモリ マップド コプロセッサ インターフェイスを提供します。この概念を正しく理解していることを誰かが確認できますか:

コプロセッサが接続されている場合、バス システム上の一部のメモリ領域は、コプロセッサとの通信、つまりデータの送信と読み取り、コマンドの実行などのために予約されます。

または、密結合のアプローチがあります。コプロセッサとの通信に使用される別のメカニズムがあり、コプロセッサがホストに近いため、このオーバーヘッドは少ないと思いますか?

この些細な問題へのいくつかの洞察をありがとう;)。

4

1 に答える 1

1

あなたの理解は基本的に正しいと思いますが、予約されているのはアドレス空間の一部であり、おそらくどこにも「実際の」メモリには対応していません。これは、読み書きに使用するのと同じメカニズムを使用する方法にすぎません通常、コプロセッサとの間でデータを読み書きするためのメモリ位置。

メモリ マップされていない方法でコプロセッサを公開する方が効率的であるとは限りません。たとえば、ある種の仮想命令が実装されている可能性がありますが、必ずしもオーバーヘッドが低くなるとは限りません。アーキテクチャと実装の詳細に言及せずに、この種のことについて一般的な声明を出すことは非常に難しいと思います。

CPUに関する限り、コプロセッサ通信はほとんど通常の「デバイスIO」であるため、Memory-Mapped IOに関するウィキペディアの記事では、仮定が正しいことを確認できます。

于 2010-09-08T12:28:17.467 に答える