A method for transferring data between non-contiguous buffers in a memory
and an I/O device via a system I/O bus uses a descriptor queue stored in
memory. Each descriptor points to a buffer and includes the length of the
buffer. The I/O device is provided with the base address of the queue, the
length of the queue and a current address which at initialization is the
same as the base address. When data is to be transferred a device driver
located in the processor sends the number of available descriptors
(DescrEnq) to the I/O device which accesses the descriptors individually
or in burst mode to gain access to the data buffers identified by the
descriptors.
Um método para transferir dados entre amortecedores non-contíguos em uma memória e um dispositivo de I/O através de uma barra-ônibus do sistema I/O usa uma fila do descriptor armazenada na memória. Cada descriptor aponta a um amortecedor e inclui o comprimento do amortecedor. O dispositivo de I/O é fornecido com o endereço baixo da fila, o comprimento da fila e um endereço atual que na iniciação seja o mesmo que o endereço baixo. Quando os dados devem ser transferidos um excitador de dispositivo situado no processador emite o número de descriptors disponíveis (DescrEnq) ao dispositivo de I/O que alcança os descriptors individualmente ou na modalidade de estouro para ganhar o acesso aos amortecedores dos dados identificados pelos descriptors.