AM79C976 Advanced Micro Devices, AM79C976 Datasheet - Page 293
![no-image](/images/manufacturer_photos/0/0/14/advanced_micro_devices_sml.jpg)
AM79C976
Manufacturer Part Number
AM79C976
Description
PCnet-PRO 10/100 Mbps PCI Ethernet Controller
Manufacturer
Advanced Micro Devices
Datasheet
1.AM79C976.pdf
(309 pages)
- Current page: 293 of 309
- Download datasheet (3Mb)
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
message size, the driver can implement a self-tuning
mechanism that examines the amount of time spent in
tasks S5 and S7. As such, while the driver is polling for
each descriptor, it could count the number of poll oper-
ations performed 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 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 ad-
justed, buffer sizes for buffer number 2 and buffer num-
ber 3 should also be adjusted.
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 arrives under a certain size limit, the driver
should not adjust the buffer sizes in response to the
short frame.
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
looking for the SRP interrupt as 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.
8/01/00
P R E L I M I N A R Y
Am79C976
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. See Figure A-3.
Note: 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.
Figure A-4 shows the buffer sizing for the two-interrupt
method. Note that the second buffer size will be about
the same for each method.
There is another alternative which is a marriage of the
two previous methods. This third possibility would use
the buffer sizes set by the two-interrupt method, but
would use the polling method of determining frame
end. This will give good frame latency but at the price
of very high CPU utilization. And still, there are even
more compromise positions that use various fixed
buffer sizes and, effectively, the flow of the one-inter-
rupt method. All of these compromises will reduce the
complexity of the one-interrupt method by removing the
heuristic buffer sizing code, but they all become less ef-
ficient than heuristic code would allow.
A-8
Related parts for AM79C976
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![AM27S29DC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Advanced Micro Devices [4,096-Bit (512x8) Bipolar PROM]
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM27S29APC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Advanced Micro Devices [4,096-Bit (512x8) Bipolar PROM]
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM29BL802CB-70RZE](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Advanced Micro Devices [8 Megabit (512 K x 16-Bit) CMOS 3.0 Volt-only Burst Mode Flash Memory]
Manufacturer:
Advanced Micro Devices
Datasheet:
![M41000001Y](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
M41000001YAdvanced Micro Devices [32 Megabit (4 M x 8-Bit/2 M x 16-Bit) CMOS 3.0 Volt-only, Simultaneous Operation Flash Memory and 4 Mbit (512 K x 8-Bit/256 K x 16-Bit) Static RAM]
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM95C94JC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Advanced Burst Error Processor
Manufacturer:
Advanced Micro Devices
![AM7992BPC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Serial interface adapter (SIA)
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM9519ADC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Universal interrupt controller
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM27C256-150DC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
256 kilobit CMOS EPROM
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM9128-10PC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
2048 x 8 static RAM, 100ns
Manufacturer:
Advanced Micro Devices
Datasheet:
![P8284A](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Manufacturer:
Advanced Micro Devices
Datasheet:
![DM81LS98N](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Three-State Octal Buffers
Manufacturer:
Advanced Micro Devices
Datasheet:
![AM2966PC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
AM2966PCOctal Dynamic Memory Drivers with Three-State Outputs
Manufacturer:
Advanced Micro Devices
Datasheet:
![DM81LS97N](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Three-State Octal Buffers
Manufacturer:
Advanced Micro Devices
Datasheet:
![DM81LS96N](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
Three-State Octal Buffers
Manufacturer:
Advanced Micro Devices
Datasheet:
![PAL16L8-7PC](/images/manufacturer_photos/0/0/14/advanced_micro_devices_tmb.jpg)
Part Number:
Description:
TTL programmable array logic, 7ns
Manufacturer:
Advanced Micro Devices
Datasheet: