다음을 통해 공유


SerCx2 I/O 트랜잭션

SerCx2는 직렬 컨트롤러 드라이버에 대한 읽기(IRP_MJ_READ) 및 쓰기(IRP_MJ_WRITE) 요청의 처리를 간소화합니다. 읽기 또는 쓰기 요청에 대한 응답으로 SerCx2는 직렬 컨트롤러 드라이버에 하나 이상의 I/O 트랜잭션을 실행합니다. 드라이버의 관점에서 각 트랜잭션은 간단하고 완전한 I/O 작업입니다.

섹션 내용

항목 Description

SerCx2 I/O 트랜잭션 개요

SerCx2는 하나 이상의 I/O 트랜잭션을 직렬 컨트롤러 드라이버에 발급하여 클라이언트의 읽기 또는 쓰기 요청을 처리합니다. 이 드라이버는 각 트랜잭션을 요청의 직렬 컨트롤러와 데이터 버퍼 간에 데이터를 전송하는 자체 포함 I/O 작업으로 처리합니다.

SerCx2 PIO-Receive 트랜잭션

SerCx2를 사용하려면 모든 직렬 컨트롤러 드라이버가 프로그래밍된 I/O(PIO)를 사용하는 수신 트랜잭션에 대한 지원을 구현해야 합니다. PIO 수신 트랜잭션을 시작하기 위해 SerCx2는 드라이버의 EvtSerCx2PioReceiveReadBuffer 이벤트 콜백 함수를 호출하고 읽기 버퍼를 매개 변수로 제공합니다.

SerCx2 PIO-Transmit 트랜잭션

SerCx2를 사용하려면 모든 직렬 컨트롤러 드라이버가 프로그래밍된 I/O(PIO)를 사용하는 전송 트랜잭션에 대한 지원을 구현해야 합니다. PIO 전송 트랜잭션을 시작하기 위해 SerCx2는 드라이버의 EvtSerCx2PioTransmitWriteBuffer 이벤트 콜백 함수를 호출하고 쓰기 버퍼를 매개 변수로 제공합니다.

SerCx2 System-DMA-Receive 트랜잭션

일부 직렬 컨트롤러 드라이버는 시스템 DMA 컨트롤러를 사용하는 수신 트랜잭션에 대한 지원을 구현합니다. 이러한 지원은 선택 사항이지만 긴 데이터 전송에 프로그래밍된 I/O(I/O)를 사용해야 하는 기본 프로세서를 완화하여 성능을 향상시킬 수 있습니다.

SerCx2 System-DMA-Transmit 트랜잭션

일부 직렬 컨트롤러 드라이버는 시스템 DMA 컨트롤러를 사용하는 전송 트랜잭션에 대한 지원을 구현합니다. 이러한 지원은 선택 사항이지만 긴 데이터 전송에 프로그래밍된 I/O(I/O)를 사용해야 하는 기본 프로세서를 완화하여 성능을 향상시킬 수 있습니다.

SerCx2 Custom-Receive 트랜잭션

일부 직렬 컨트롤러 하드웨어는 직렬 컨트롤러에서 데이터를 읽기 위해 PIO 또는 시스템 DMA 이외의 데이터 전송 메커니즘을 구현할 수 있습니다. 직렬 컨트롤러 드라이버는 사용자 지정 수신 트랜잭션을 지원하여 SerCx2에서 이 데이터 전송 메커니즘을 사용할 수 있도록 할 수 있습니다.

SerCx2 Custom-Transmit 트랜잭션

일부 직렬 컨트롤러 하드웨어는 직렬 컨트롤러에 데이터를 쓰기 위한 PIO 또는 시스템 DMA 이외의 데이터 전송 메커니즘을 구현할 수 있습니다. 직렬 컨트롤러 드라이버는 사용자 지정 전송 트랜잭션을 지원하여 SerCx2에서 이 데이터 전송 메커니즘을 사용할 수 있도록 할 수 있습니다.