AM79C976 Advanced Micro Devices, AM79C976 Datasheet - Page 292
![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: 292 of 309
- Download datasheet (3Mb)
2. If the controller finishes the data transfers into buffer
For maximum performance, buffer sizes should be ad-
justed depending upon the expected frame size and
the values of the interrupt latency and application call
latency. The best driver code will minimize the CPU uti-
lization while also minimizing the latency from frame
end on the network to the frame sent to application
from driver (frame latency). These objectives are aimed
at increasing throughput on the network while decreas-
ing CPU utilization.
Note: The buffer sizes in the ring may be altered at any
time that the CPU has ownership of the corresponding
descriptor. The best choice for buffer sizes will maxi-
mize the time that the driver is swapped out, while min-
imizing the time from the last byte written by the
Am79C976 controller to the time that the data is
passed from the driver to the application. In the dia-
gram, this corresponds to maximizing S0, while mini-
mizing the time between C9 and S8. (the timeline
happens to show a minimal time from C9 to S8.)
Note: By increasing the size of buffer number 1, we in-
crease the value of S0. However, when we increase the
size of buffer number 1, we also increase the value of
A-7
Descriptor
the controller will write a ZERO to ENP for this buffer
and will write a ZERO to OWN and STP.
number 2 before the driver writes the applications
modified buffer point into the third descriptor, then
the controller will complete the frame in buffer num-
ber 2 and then skip the then unowned third buffer. In
this case, the Am79C976 controller will not have
had the opportunity to RESET the ENP bit in this
descriptor, and it is possible that the software left
this bit as ENP = 1 from the last time through the
ring. Therefore, the software must treat the location
as a don’t care. The rule is, after finding ENP = 1 (or
ERR = 1) in descriptor number 2, the software must
ignore ENP bits until it finds the next STP = 1.
Example 3: Assume that instead of the expected
1060 byte frame, a 100 byte frame arrives, because
there was an error in the network, or because this is
Number
D
etc.
& b.ENP or ERR
1
2
3
4
5
6
OWN
1
1
0
1
1
0
1
Before the Frame Arrives
STP
1
0
0
1
0
0
1
P R E L I M I N A R Y
ENP
X
X
X
X
X
X
X
a
Am79C976
OWN
*Same as note in example 2 above, except that in this
case, it is very unlikely that the driver can respond to
the interrupt and get the pointer from the application
before the Am79C976 controller has completed its poll
of the next descriptors. This means that for almost all
occurrences of this case, the Am79C976 controller will
not find the OWN bit set for this descriptor and, there-
fore, the ENP bit will almost always contain the old
value, since the Am79C976 controller will not have had
an opportunity to modify it.
**Note that even though the Am79C976 controller will
write a ZERO to this ENP location, the software should
treat the location as a don’t care, since after finding the
ENP = 1 in descriptor number 2, the software should ig-
nore ENP bits until it finds the next STP = 1.
S4. If the size of buffer number 1 is too large, then the
driver will not have enough time to perform tasks S2,
S3, S4, S5, and S6. The result is that there will be delay
from the execution of task C9 until the execution of task
S8. A perfectly timed system will have the values for S5
and S7 at a minimum.
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 be
Additional problems occur when trying to define the
correct sizing because the correct size also depends
0
0
0
1
1
0
1
the last frame in a file transmission sequence, or
perhaps because it is an acknowledge frame.
dicted, since a single application may expect differ-
ent message sizes at different times. Therefore, the
buffer sizes chosen will not always maximize
throughput.
somewhat predictable, but when the same driver is
to be shared with multiple applications, there may
not be a common predictable message size.
After the Frame Arrives
STP
1
0
0
1
0
0
1
ENP E
0**
X
X
X
X
0
?
Controller’s current
Comments (After
Discarded buffer
Discarded buffer
Frame Arrival)
Not yet used
Not yet used
Net yet used
Bytes 1-800
location
8/01/00
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: