am79c970 Advanced Micro Devices, am79c970 Datasheet - Page 162

no-image

am79c970

Manufacturer Part Number
am79c970
Description
Pcnettm-pci Single-chip Ethernet Controller For Pci Local Bus
Manufacturer
Advanced Micro Devices
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
am79c970ACK
Manufacturer:
AMD
Quantity:
271
Part Number:
am79c970AKC
Manufacturer:
AMtek
Quantity:
11
Part Number:
am79c970AKC
Manufacturer:
AMD
Quantity:
20 000
Part Number:
am79c970AKC/W
Manufacturer:
AMD
Quantity:
226
Part Number:
am79c970AKC/W
Manufacturer:
AMD
Quantity:
20 000
Part Number:
am79c970AKCW
Manufacturer:
AMD
Quantity:
6 557
Part Number:
am79c970AVC
Manufacturer:
AMD
Quantity:
60
Part Number:
am79c970AVC
Manufacturer:
ST
0
Part Number:
am79c970AVC
Manufacturer:
AMD
Quantity:
20 000
Part Number:
am79c970KC
Manufacturer:
AMD
Quantity:
263
An average increase in performance can be achieved if
the general guidelines of buffer sizes in figure 2 is fol-
lowed. However, as was noted earlier, the correct sizing
for buffers will depend upon the expected message size.
There are two problems with relating expected message
size with the correct buffer sizing:
1. Message sizes cannot always be accurately pre-
2. Within a single application, message sizes might
Additional problems occur when trying to define the cor-
rect sizing because the correct size also depends upon
the interrupt latency, which may vary from system to
system, depending upon both the hardware and the
software installed in each system.
In order to deal with the unpredictable nature of the mes-
sage size, the driver can implement a self tuning mecha-
nism that examines the amount of time spent in tasks S5
and S7 as such: while the driver is polling for each de-
scriptor, it could count the number of poll operations per-
formed and then adjust the number 1 buffer size to a
larger value, by adding “t” bytes to the buffer count, if the
number of poll operations was greater than “x”. If fewer
than “x” poll operations were needed for each of S5 and
S7, then the software should adjust the buffer size to a
smaller value by, subtracting “y” bytes from the buffer
count. Experiments with such a tuning mechanism must
be performed to determine the best values for “X” and
“y”.
Note whenever the size of buffer number 1 is adjusted,
buffer sizes for buffer number 2 and buffer 3 should also
be adjusted.
dicted, since a single application may expect differ-
ent message sizes at different times, therefore, the
buffer sizes chosen will not always maximize
throughput.
be somewhat predictable, but when the same
driver is to be shared with multiple applications,
there may not be a common predictable message
size.
Am79C970
In some systems, the typical mix of receive frames on a
network for a client application consists mostly of large
data frames, with very few small frames. In this case, for
maximum efficiency of buffer sizing, when a frame ar-
rives under a certain size limit, the driver should not ad-
just the buffer sizes in response to the short frame.
An Alternative LAPP Flow – the TWO Interrupt
Method
An alternative to the above suggested flow is to use two
interrupts, one at the start of the receive frame and the
other at the end of the receive frame, instead of just look-
ing for the SRP interrupt as was described above. This
alternative attempts to reduce the amount of time that
the software wastes while polling for descriptor own bits.
This time would then be available for other CPU tasks. It
also minimizes the amount of time the CPU needs for
data copying. This savings can be applied to other CPU
tasks.
The time from the end of frame arrival on the wire to de-
livery of the frame to the application is labeled as frame
latency. For the one-interrupt method, frame latency is
minimized, while CPU utilization increases. For the two-
interrupt method, frame latency becomes greater, while
CPU utilization decreases.
Note that some of the CPU time that can be applied to
non-Ethernet tasks is used for task switching in the
CPU. One task switch is required to swap a non-Ether-
net task into the CPU (after S7A) and a second task
switch is needed to swap the Ethernet driver back in
again (at S8A). If the time needed to perform these task
switches exceeds the time saved by not polling descrip-
tors, then there is a net loss in performance with this
method. Therefore, the LAPP method implemented
should be carefully chosen.
AMD
1-1029

Related parts for am79c970