Claims
- 1. A controller for transferring data between a host system and external devices the host system having memory with data buffers, a descriptor queue and a receive status queue, the controller comprising:a first register that maintains a number of descriptors that are currently available in the descriptor queue for use in a direct memory access (DMA) transfer; a second register that maintains an address of the location of the first descriptor of the currently available descriptors in the descriptor queue; a buffer for temporarily storing currently available descriptors that are obtained from the descriptor queue; and hardware circuitry that controls obtaining the currently available descriptors from the descriptor queue for temporary storage in the buffer, the circuitry retrieving as many currently available descriptors as possible to fill the buffer, based on the number in the first register and the address in the second register.
- 2. The controller of claim 1 wherein the hardware circuitry includes a state machine.
- 3. The controller of claim 2 wherein the state machine decrements the number of said first register by a value equal to the number of descriptors removed from said descriptor queue by the state machine.
- 4. The controller of claim 1 further including:a status base register that holds a base address whereat a status queue is located in memory; a status count register that holds a count representative of the number of entries in the status queue; and a status current register holding an address indicating a current position in said status register whereat processing is being done.
CROSS REFERENCES TO RELATED PARENT APPLICATION
This patent application is a Divisional of patent application Ser. No. 08/847,034, filed May 1, 1997, U.S. Pat. No. 6,049,842.
US Referenced Citations (6)