DM9102A
Single Chip Fast Ethernet NIC controller
Final
Version: DM9102A-DS-F03
August 28, 2000
49
Functional Description
System Buffer Management
1.Overview
The data buffers for reception and transmission of data
resides in the host memory. They are directed by the
descriptor list that is located in another region of the host
memory. All actions for the buffer management are operated
by the DM9102A in conjunction with the driver. The data
structures and processing algorithms are described in the
following text.
2. Data Structure and Descriptor List
There are two types of buffers that reside in the host
memory, the transmit buffer and the receive buffer. The
buffers are composed of many distributed regions in the
host memory. They are linked together and controlled by the
descriptor lists that reside in another region of the host
memory. The content of each descriptor includes pointer to
the buffer, count of the buffer, command and status for the
packet to be transmitted or received. Each descriptor list
starts from the address setting of CR3 (receive descriptor
base address) and CR4 (transmit descriptor base address).
The descriptor list is Chain structure.
3. Buffer Management -- Chain Structure Method
As the Chain structure depicted below, each descriptor
contains two pointers, one point to a single buffer and the
other to the next descriptor chained. The first descriptor is
chained to the last descriptor under host driver’s control.
With this structure, a descriptor can be allocated anywhere
in host memory and is chained to the next descriptor.
Buffer 1
Buffer 1
Descriptor 1
Descriptor N
Packet N
control
buffer address 1
status
own
not valid
next descriptor address
buffer 1 length
4. Descriptor List: Buffer Descriptor Format
(a). Receive Descriptor Format
Each receive descriptor has four double-word entries and
may be read or written by the host or the DM9102A. The
descriptor format is shown below with a detailed functional
description.