次の方法で共有


SerCx2 の I/O トランザクション

SerCx2 によって、シリアル コントローラー ドライバーの読み取り (IRP_MJ_READ) 要求と書き込み (IRP_MJ_WRITE) 要求の処理が簡略化されます。 読み取り要求や書き込み要求への応答として、SerCx2 はシリアル コントローラー ドライバーに 1 つ以上の I/O トランザクションを発行します。 ドライバー側から見ると、それぞれのトランザクションはシンプルかつ完全な I/O 操作です。

このセクションの内容

裁判官 説明

SerCx2 の I/O トランザクションの概要

SerCx2 は、1 つ以上の I/O トランザクションをシリアル コントローラー ドライバーに発行することにより、クライアントからの読み取りまたは書き込み要求を処理します。 このドライバーは、各トランザクションを、リクエスト内のシリアル コントローラーとデータ バッファーの間でデータを転送する自己完結型 I/O 操作として処理します。

SerCx2 PIO-受信トランザクション

SerCx2 は、すべてのシリアル コントローラー ドライバーがプログラムされた I/O (PIO) を使用する受信トランザクションのサポートを実装することを必要とします。 PIO 受信トランザクションを開始するために、SerCx2 はドライバーの EvtSerCx2PioReceiveReadBuffer イベント コールバック関数を呼び出し、パラメーターとして読み取りバッファーを提供します。

SerCx2 PIO-送信トランザクション

SerCx2 は、すべてのシリアル コントローラー ドライバーがプログラムされた I/O (PIO) を使用する送信トランザクションのサポートを実装することを必要とします。 PIO 送信トランザクションを開始するために、SerCx2 はドライバーの EvtSerCx2PioTransmitWriteBuffer イベント コールバック関数を呼び出し、パラメーターとして書き込みバッファーを提供します。

SerCx2 システム-DMA-受信トランザクション

一部のシリアル コントローラー ドライバーは、システム DMA コントローラーを使用する受信トランザクションのサポートを実装します。 このようなサポートは省略可能ですが、長いデータ転送のためにプログラムされた I/O (PIO) を使用する必要性からメイン プロセッサを解放することで、パフォーマンスを向上させることができます。

SerCx2 システム-DMA-送信トランザクション

一部のシリアル コントローラー ドライバーは、システム DMA コントローラーを使用する送信トランザクションのサポートを実装しています。 このようなサポートは省略可能ですが、長いデータ転送のためにプログラムされた I/O (PIO) を使用する必要性からメイン プロセッサを解放することで、パフォーマンスを向上させることができます。

SerCx2 カスタム-受信トランザクション

一部のシリアル コントローラー ハードウェアは、シリアル コントローラーからデータを読み込むための PIO またはシステム DMA 以外のデータ転送メカニズムを実装する場合があります。 シリアル コントローラー ドライバーは、カスタム受信トランザクションをサポートして、このデータ転送メカニズムを SerCx2 で使用できるようにすることができます。

SerCx2 カスタム-送信トランザクション

一部のシリアル コントローラー ハードウェアは、シリアル コントローラーにデータを書き込むための PIO またはシステム DMA 以外のデータ転送メカニズムを実装する場合があります。 シリアル コントローラー ドライバーは、カスタム送信トランザクションをサポートして、このデータ転送メカニズムを SerCx2 で使用できるようにすることができます。