InfiniBand または同様の PCIe デバイスと高速な Intel Core CPU があり、たとえば 8 バイトのユーザー データを IB リンク経由で送信したいとします。また、デバイス ドライバーやその他のカーネルがないことも言います。これを単純に保ち、ハードウェアに直接書き込むだけです。最後に、IB ハードウェアは以前にコンテキストに対して適切に構成されているため、何かが行われるのを待っているとします。
Q: ローカル CPU がデータの場所とデータの送信を開始する必要があることをハードウェアに伝えるには、何 CPU サイクルかかりますか?
詳細情報: CPU ローカル サービス (コプロセッサの使用など) と比較した PCIe 通信サービスの使用コストの見積もりを取得したいと考えています。私が期待しているのは、PCIe バス上のレジスタに多数の書き込みが行われることです。たとえば、パケットのアドレスと長さの設定、およびステータスや制御レジスタの読み取りと書き込みが行われる可能性があります。これらのそれぞれに数百の CPU サイクルがかかると予想されるため、全体的なセットアップには 1000 から 2000 の CPU サイクルがかかると予想されます。私は正しいでしょうか?
私は大まかな答えを探しているだけです...