|
Chapter 7. System PCI performance features
Most PC systems are performance tuned for CPU and display
performance benchmarks. The systems are optimized for CPU
accesses to memory and video buffers (both slave devices).
This leaves PCI Master devices like the Auto LANStreamer PCI
susceptible to being locked out of memory.
The PCISETUP programs provided with this adapter adjust the
CPU to PCI access buffering to eliminate the CPU contention that
can cause a PCI Master adapter to get locked out of memory.
Instructions for installing the PCISETUP program under DOS
and OS/2 are in the Installation and Testing Instructions book
(P/N 13H8865) on page 49.
Windows, and Windows for Workgroups environments should
install the PCISETUP.EXE program as instructed for the DOS
environment. These directions are repeated in the
\README.WFW file on the Windows NT Driver Diskette for anyone
installing the NDIS 3.0 drivers.
Windows NT environments should install the PCISETUP.SYS
program. Instructions are provided in the \README.NT
file on the Windows NT Driver Diskette.
It is not necessary to use PCISETUP on more recent systems
that are designed and tuned as network servers.
Do not use PCISETUP on IBM 8640-OPT (IBM PC Server, Pentium).
PCISETUP Version 1.2 Technical Details
--------------------------------------
The PCISETUP program is provided in three forms:
DOS, Windows, Windows for Workgroups
- \PCISETUP.EXE on the Driver Diskette
- \WFW\PCISETUP.EXE on the Windows NT Driver Diskette
- \PCISETUP.EXE on the Diagnostic Diskette
OS/2 - \PCISETUP.OS2 on the Driver Diskette
Windows NT
- \NT\PCISETUP.SYS on the Windows NT Driver Diskette
The program looks for specific chips based on their assigned
Vendor ID and Device ID. Based on which chip(s) are found,
corresponding modifications are made to specific bits within
that chip's PCI Configuration registers, or within The Auto
LANStreamer PCI's Configuration registers.
Search for and if found alter
------------ ------------------
8086 O4A3 x offset 53 bit 1 = 0
offset 54 bit 0 = 0 if offset 53 bit 0 = 1
8086 O483 x offset 53 bit 1 = 0
offset 54 bit 0 = 0 if offset 53 bit 0 = 1
1045 C822 <2 Disable IBM Auto LANStreamer's 'Fast Back-to-Back'
- offset 5 bit 1 = 0
KEY: All values are in hexadecimal
'x' - Any revision level will be a match
'<2' - Revision 0 and revision 1 Only
Latency Timer:
-------------
The PCI Master Latency Timer sets the limit for how long a
PCI Master device can transfer data on the PCI bus. This has
a small effect on overall adapter and system performance.
On systems that automatically set the Latency Timer value, no
change should be necessary. On systems that require manual
configuration, we suggest that the Latency Timer be set to at
least 64 (decimal), or '40'h (hexadecimal). This is a
reasonable setting for all systems.
PCI Extended Commands:
---------------------
The Auto LANStreamer utilizes PCI data transfer commands
designed for high efficiency. 'Memory Read Line', 'Memory
Read Multiple', and 'Memory Write and Invalidate' are each used
as appropriate for maximum PCI bus throughput. On systems which
do not yet implement these commands, they are executed as though
they were basic read or write commands.
'Fast Back to Back' accesses allow this adapter to perform
multiple data transactions without pausing in between each one.
PCI Bus Speed:
-------------
PC system processors range from 33Mhz to 100Mhz, with numerous
SX, DX, DX2, DX4, Pentium®, P5, P54C, P54M,... designations.
But, PCI bus performance is based on four main parameters:
1. PCI bus frequency
- 25Mhz, 30Mhz, or 33Mhz
The processor speed may be 1X, 2X, or 3X the PCI bus speed.
(Auto LANStreamer PCI will operate between 16Mhz - 33Mhz.)
2. Time to get data from memory
- 9 to 12 clock cycles, or about 0.4 microseconds
3. 'Wait states' between each subsequent data phase
- 0 to 3 wait states, from 30 nanoseconds to 120 nanoseconds
per 4 byte (32 bit) data transfer.
4. Average data transfer burst length
- 1 to hundreds of data phases
-----------------
Measurements on currently available 32-bit systems utilizing
33Mhz memory (as in most '486 systems) show a sustained data
transfer rate of 25MBytes/sec between memory and the PCI bus.
Note: if the system does not allow burst transfers, the
sustained data transfer rate will be limited to 8MBytes/sec.
Measurements on currently available 64-bit systems utilizing
33Mhz memory (as in most Pentium® systems) show a sustained data
transfer rate of 75 to 85 MBytes/sec between memory and the PCI
bus.
Note: if the system does not allow burst transfers, the
sustained data transfer rate will be limited to 33MBytes/sec.
ISA Device Impact on PCI Performance:
------------------------------------
ISA devices are much less efficient transferring data than PCI
or EISA or Micro Channel devices. A system with the video
and/or the disk controller on the ISA bus will have
less memory bandwidth available for PCI bus devices to use.
In many cases the effect on overall system performance is
negligible. In some cases though, high speed graphics screen
activity, or extensive disk activity can hinder PCI memory
transfers.
In the extreme case, this can cause the Auto LANStreamer to
drop frames being transmitted or received. For this reason, we
recommend that PCI video and PCI disk adapters be used in
systems handling critical LAN traffic, rather than ISA based
adapters.
-----------------
NOTE: IDE disk drive controllers are generally speed limited by
the attached disk drive. A high performance ISA IDE and
a PCI IDE controller will give comparable performance.
Interrupt level:
---------------
Sharing an interrupt between different types of devices could
cause a small decrease in performance. This is due to the
additional time the processor spends in each device's device
driver when an interrupt occurs on any one of the adapters.
Thus, if one of the device drivers is slow in checking its adapter
for interrupts, then all devices sharing that interrupt will be
affected. We recommend that only high performance adapters be
set up to share interrupts.
And, where possible. the Auto LANStreamer adapters should not
share interrupts with other device types (SCSI adapters, IDE
adapters, other types of LAN adapters, etc.).
An interrupt can be shared between Auto LANStreamer PCI adapters.
The device driver is written to handle this case efficiently.
-----------------
Interrupts are handled by the system processor on a priority
basis - Interrupt 0 has the highest priority, and interrupt 15
has the lowest priority. It is recommended that the Auto
LANStreamer PCI adapter be set to the lowest available interrupt
number (sometimes referred to as an IRQ number).
Adapters communicating at high speed (>1Mbits/sec) with other
systems, such as LAN adapters, should have higher priority than
adapters communicating with dedicated devices, such as the disk
controllers (IDE or SCSI).
Please see the LEGAL - Trademark notice.
Feel free - send a for any BUG on this page found - Thank you.