am79c961a Advanced Micro Devices, am79c961a Datasheet - Page 194

no-image

am79c961a

Manufacturer Part Number
am79c961a
Description
Pcnet?-isa Ii Jumperless, Full Duplex Single-chip Ethernet Controller For Isa
Manufacturer
Advanced Micro Devices
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
am79c961aKC
Manufacturer:
AMD
Quantity:
220
Part Number:
am79c961aKC
Manufacturer:
LT
Quantity:
47
Part Number:
am79c961aKC
Manufacturer:
AMD
Quantity:
1 000
Part Number:
am79c961aKC
Manufacturer:
AMD
Quantity:
20 000
Company:
Part Number:
am79c961aKC/W
Quantity:
15
Part Number:
am79c961aKIW
Manufacturer:
AMD
Quantity:
20 000
Part Number:
am79c961aVC
Manufacturer:
AMD
Quantity:
1 831
Part Number:
am79c961aVC/W
Manufacturer:
RENES
Quantity:
2 147
LAPP Enable Software Requirements
Software needs to set up a receive ring with descriptors
formed into groups of 3. The first descriptor of each
group should have OWN = 1 and STP = 1, the second
descriptor of each group should have OWN = 1 and
STP = 0. The third descriptor of each group should
have OWN = 0 and STP = 0. The size of the first buffer
(as indicated in the first descriptor), should be at least
equal to the largest expected header size; However,
for maximum efficiency of CPU utilization, the first
buffer size should be larger than the header size. It
should be equal to the expected number of message
bytes, minus the time needed for Interrupt latency and
minus the application call latency, minus the time
needed for the driver to write to the third descriptor,
minus the time needed for the driver to copy data from
buffer #1 to the application buffer space, and minus the
time needed for the driver to copy data from buffer #2
to the application buffer space. Note that the time
needed for the copies performed by the driver depends
upon the sizes of the 2nd and 3rd buffers, and that the
sizes of the second and third buffers need to be set ac-
cording to the time needed for the data copy opera-
tions! This means that an iterative self-adjusting
mechanism needs to be placed into the software to de-
termine the correct buffer sizing for optimal operation.
Fixed values for buffer sizes may be used; In such a
case, the LAPP method will still provide a significant
performance increase, but the performance increase
will not be maximized.
The following diagram illustrates this setup for a re-
ceive ring size of 9:
194
Descriptor
Descriptor
Descriptor
Descriptor
Descriptor
Descriptor
Descriptor
Descriptor
Descriptor
#1
#2
#3
#4
#5
#6
#7
#8
#9
OWN = 1 STP = 1
SIZE = A-(S1+S2+S3+S4+S6)
OWN = 1 STP = 0
SIZE = S1+S2+S3+S4
OWN = 0 STP = 0
SIZE = S6
OWN = 1 STP = 1
SIZE = A-(S1+S2+S3+S4+S6)
OWN = 1 STP = 0
SIZE = S1+S2+S3+S4
OWN = 0 STP = 0
SIZE = S6
OWN = 1 STP = 1
SIZE = A-(S1+S2+S3+S4+S6)
OWN = 1 STP = 0
SIZE = S1+S2+S3+S4
OWN = 0 STP = 0
SIZE = S6
Figure 2. LAPP 3 Buffer Grouping
Am79C961A
LAPP Enable Rules for Parsing of
Descriptors
When using the LAPP method, software must use a
modified form of descriptor parsing as follows:
Software will examine OWN and STP to determine
where a RCV frame begins. RCV frames will only
begin in buffers that have OWN = 0 and STP = 1.
Software shall assume that a frame continues until it
finds either ENP = 1 or ERR= 1.
Software must discard all descriptors with OWN = 0
and STP = 0 and move to the next descriptor when
searching for the beginning of a new frame; ENP and
ERR should be ignored by software during this search.
Software cannot change an STP value in the receive
descriptor ring after the initial setup of the ring is
complete, even if software has ownership of the STP
descriptor unless the previous STP descriptor in the
ring is also OWNED by the software.
When LAPPEN = 1, then hardware will use a modified
form of descriptor parsing as follows:
The controller will examine OWN and STP to deter-
mine where to begin placing a RCV frame. A new RCV
frame will only begin in a buffer that has OWN = 1 and
STP = 1.
The controller will always obey the OWN bit for deter-
mining whether or not it may use the next buffer for a
chain.
The controller will always mark the end of a frame with
either ENP = 1 or ERR= 1.
Note that the times needed for tasks S1,
S2, S3, S4, and S6 should be divided by
0.8 microseconds to yield an equivalent
number of network byte times before
subtracting these quantities from the
expected message size A.
A = Expected message size in bytes
S1 = Interrupt latency
S2 = Application call latency
S3 = Time needed for driver to write
S4 = Time needed for driver to copy
S6 = Time needed for driver to copy
to third descriptor
data from buffer #1 to
application buffer space
data from buffer #2 to
application buffer space
19364B-88

Related parts for am79c961a