DSP/BIOS Link とは

DSP / BIOSリンクまたはDSPLINKは、マルチプロセッサシステムでメッセージとデータを渡すためのIPC(インタープロセッサ通信)方式です。 Texas InstrumentsのDaVinci DSPファミリの場合、このスキームでは、ARMクライアントとDSPサーバ間でメッセージとデータを渡すことができます。 DSPLINKを使用すると、RPCと呼ばれるソフトウェア抽象化のレイヤーを実装できます。この抽象化レイヤーを使用すると、DSPのリモート機能をARMアプリケーションコード内のローカル関数呼び出しとして表示できます。コーデックエンジンIPC通信レイヤは、DSP / BIOS LINKの上に構築されたRPCコールスキームを使用して実装されます。
DSP / BIOS LINKは、共有メモリとARMからDSPへの内部割り込みを使用して実装され、その逆も同様です。
IPCの共有メモリプロトコルは、次のように実装されています。
 ARMとDSPは、ARMからDSPにメッセージが送信される所定のメモリアドレスにプログラムされています。もう1つはDSPからARMに送信されるメッセージです。一方のプロセッサは、所定のアドレスにメッセージを書き込んだ後、新しいメッセージが利用可能であることを他のプロセッサに知らせるために割り込みを送信することによって、他方のプロセッサにメッセージを送信する。データバッファを転送するときは、両方のプロセッサがアクセス可能な共有メモリにバッファが存在するため、特定のバッファへのポインタのみを渡す必要があります。 DSPにMMUまたは仮想アドレス指定の概念がないため、ARMバッファアドレスはDSPに提示されるときに物理アドレスに変換される必要があります。メッセージを受け取ったプロセッサがメッセージを読み取ると、それはメッセージメモリが現在別のメッセージで書き換え可能であることを示すために共有メモリ内のフラグをマークする。
多くのDaVinciベースのデバイスに含まれるDSPは、一般に、TIのDSP / BIOS RTOSを実行します。デバイスに複数の異機種コア(DM644xなど)が含まれている場合、DSP / BIOSリンクドライバはARMプロセッサとDSPの両方で動作し、両者間の通信を提供します。