am79c961 Advanced Micro Devices, am79c961 Datasheet - Page 168

no-image

am79c961

Manufacturer Part Number
am79c961
Description
Pcnettm-isa Jumperless 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
3)
Buffer Size Tuning
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 la-
tency. The best driver code will minimize the CPU utili-
zation while also minimizing the latency from frame end
on the network to frame sent to application from driver
(frame latency). These objectives are aimed at increas-
ing throughput on the network while decreasing CPU
utilization.
Note that the buffer sizes in the ring may be altered at
any time that the CPU has ownership of the correspond-
ing descriptor. The best choice for buffer sizes will
maximize the time that the driver is swapped out, while
minimizing the time from the last byte written by the
PCnet-ISA
from the driver to the application. In the diagram, this
corresponds to maximizing S0, while minimizing the
time between C9 and S8. (The timeline happens to
show a minimal time from C9 to S8.)
Note that by increasing the size of buffer number 1, we
increase the value of S0. However, when we increase
the size of buffer number 1, we also increase the value
of 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
1-642
*** Note that even though the PCnet-ISA
** Same as note in case 2 above, except that in this case, it is very unlikely that the driver can respond to the interrupt and get the
* ENP or ERR
pointer from the application before the PCnet-ISA
for almost all occurrences of this case, the PCnet-ISA
the ENP bit will almost always contain the old value, since the PCnet-ISA
it.
as a don’t care, since after finding the ENP=1 in descriptor number 2, the software should ignore ENP bits until it finds the next
STP=1.
Descriptor
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 the
last frame in a file transmission sequence, or per-
haps because it is an acknowledge frame.
AMD
Number
etc.
1
2
3
4
5
6
+
controller to the time that the data is passed
OWN
1
1
0
1
1
0
1
Frame Arrived
Before the
STP
1
0
0
1
0
0
1
+
controller will write a ZERO to this ENP location, the software should treat the location
ENP*
X
X
X
X
X
X
X
+
controller has completed its poll of the next descriptors. This means that
+
controller will not find the OWN bit set for this descriptor and therefore,
Am79C961
OWN
0
0
0
1
1
0
1
Frame Has Arrived
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)
2)
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
message size, the driver can implement a self tuning
After the
Message sizes cannot always be accurately pre-
dicted, since a single application may expect differ-
ent message sizes at different times, therefore, the
buffer sizes chosen will not always maximize
throughput.
Within a single application, message sizes might
be somewhat predicatable, but when the same
driver is to be shared with multiple applications,
there may not be a common predictable message
size.
STP
+
1
0
0
1
0
0
1
controller will not have had an opportunity to modify
ENP*
0***
?**
X
X
X
X
1
(After Frame Arrival)
Bytes 1–100
Discarded buffer
Discarded buffer
Controller’s current
location
Not yet used
Not yet used
Not yet used
Comments

Related parts for am79c961