Ref: 17310019
Title: EtherLink 16: Standard and Turbo Modes of Operation
date: 2/1/91

Copyright 3Com Corporation, 1991.  All rights reserved.

To use the EtherLink 16 in standard or turbo mode, follow the steps below.

Note:  You must use the diagnostics and drivers on Software Diskette rev 2
(6998-02).  It is available from the Ask3Com Forum in the Drivers/Diags
library, file 3C507.ZIP.

1.  After installing the adapter in your computer, execute 3C507.EXE from
the DOS prompt.

2.  Select "Set Configuration" to store your selections in the EEPROM of the
EtherLink 16.

3.  The EtherLink 16 adapter software allows the adapter to operate in two
modes when attached to a 16-bit ISA bus.  Select the mode supported for
operation with your computer:

A.  Standard Mode--This is a default adapter setting.   16-bit device
operation occurs during memory transfers to provide high performance.  8-bit
device operation is performed only while the adapter is not active.
Compatibility with many AT compatible computers is assured under this mode.
Some computers require this mode of operation with the EtherLink 16:

    IBM PS/2 Model 30/286
    Intel computer models recently released including the 386/25
    Unisys computers based on recent Intel motherboards
    Computers using the VTI 8000 chip set

B.  Turbo Mode--Most AT-compatible personal computers support this mode,
which provides full 16-bit operation in ISA buses.  Select this mode for
optimum performance.

4.  Use the driver software provided on the EtherLink 16 Software
Diskette rev 2.   These drivers are required to allow the EtherLink 16 to
operate in standard and turbo mode under Netware, 3+Share, 3+Open, LAN Manager
and other NDIS-compliant network operating systems.

For further information regarding adapter configuration, refer to Ask3Com
article 17310017 (EtherLink 16:  A High Performance Adapter) and the
EtherLink 16 Installation and Configuration Guide, as well as the README
files included on the Software Diskette.



IMPLEMENTATION OF STANDARD AND TURBO MODE ON THE ETHERLINK 16 ADAPTER

For your information, the following section describes how the EtherLink 16
standard and turbo modes have been implemented.


EtherLink 16 Host Speed Compatibility

The EtherLink 16 is a high performance memory-mapped ISA bus Ethernet
adapter.  From the host CPU's perspective, the adapter memory looks like a
16, 32, 48, or 64 KB section of memory starting at a configurable base
address.  The base address resides in the reserved memory area between 768 KB
and 864 KB.  The memory window may also be configured as a 64 KB window
located between 15 and 15.5 MB base memory.  The memory address is decoded by
the adapter using the unlatched address (LA) and system address (SA) buses.
The LA spans bits 17-23 of the address bus, giving a page size of 128 KB
bytes.  To decode the actual memory address within that 128 KB page, the
adapter uses the SA bus.  When the EL16 decodes an address within its
configured memory space, it asserts the -MEMCS16 line, telling the CPU that
the adapter is responding to the memory request as a 16-bit adapter.

In some machines, such as the IBM PS/2 30 286 or other machines that use the
VTI 8000 chip set, the time to decode the memory address and assert -MEMCS16
is not sufficient to meet the machine's bus timing requirements.  This failure
is usually observed as a data corruption.  However, this problem can be
solved by reconfiguring the hardware.  The required hardware configuration
change is to set the system address decode (SAD) bit (which is bit 6 of the
EL16's RAM configuration register) to one during the EL16 configuration
phase.  If the unlatched address decode (LAD) bit (which is bit 4 of the
control register) is left at its default value of zero, the adapter now
responds only as an 8-bit device, even if it is attached to a 16-bit ISA bus.

Operating the adapter in 8-bit (SAD) mode has a negative impact on
performance.  Since the CPU is transferring data to and from the adapter in
bytes instead of words, the CPU time needed for the copy is doubled.  However,
the adapter can still be configured to do 16-bit data transfers by changing
the hardware configuration and executing a specific software sequence to
insure data integrity.  While in SAD mode, the EL16 can be set to 16-bit mode
by setting the LAD bit to one.  When LAD and SAD are both set, the EL16
decodes addresses off only the LA bus--meaning the EL16 specified by the
LA bus, even though it is outside the actual EL16 memory window.  To ensure
data integrity, the following software programming sequence must be used when
both LAD and SAD are set:

   1.  Disable CPU interrupts.
   2.  Set the LAD bit to enable 16-bit transfers.
   3.  Move the data using REP MOV words.
   4.  Clear the LAD bit to disable 16-bit transfers.
   5.  Enable CPU interrupts.

The CPU disable/enable sequence is needed to make sure no other software
makes a memory access to the 128 KB page that the EL16 is decoding as a valid
address.  Using the method allows the transfer of data with almost no loss of
performance.  However, interrupt latency will increase due to the interrupt
disable/enable sequence.

To ensure consistency across all drivers, the SAD enable option is set to the
EEPROM configuration data.  Bit 6 of word 1 of the EEPROM data contains the
state of the SAD bit.  If this bit is set to zero, SAD mode is disabled.  If
this bit is set to one, SAD mode operation is enabled by the driver.  All
3Com-developed drivers support 16-bit data transfer mode in both SAD (normal)
and non-SAD (turbo) operation.  The EEPROM default configuration from the
factory has SAD mode operation enabled.  This bit may be changed by the user
by running the diagnostic and configuration program, 3C507.EXE.

