_______________________________________________________________
Which is better, ISA/EISA/VLB/PCI/etc?
Here is a quick overview of the various bus architectures available
for the PC and some of the strengths and weaknesses of each. Some
terms are described in more detail at the bottom.
XT bus:
8 data bits, 20 address bits
4.77 MHz
Comments: Obsolete, very similar to ISA bus, many XT cards will
work in ISA slots.
ISA bus: Industry Standard Architecture bus (aka. AT bus)
8/16 data bits, 24 address bits (16Meg addressable)
8-8.33MHz, asynchronous
5.55M/s burst
bus master support
edge triggered TTL interrupts (IRQs) - no sharing
low cost
Comments: ideal for low to mid bandwidth cards, though lack of
IRQs can quickly become annoying.
MCA bus: Micro Channel Architecture bus
16/32 data bit, 32 address bits
80M/s burst, synchronous
full bus master capability
good bus arbitration
auto configurable
IBM proprietary (not ISA/EISA/VLB compatible)
Comments: Since MCA was proprietary, EISA was formed to compete with
it. EISA gained much more acceptance; MCA is all but dead.
EISA bus: Enhanced Industry Standard Architecture bus
32 data bits, 32 address bits
8-8.33MHz, synchronous
32M/s burst (sustained)
full bus master capability
good bus arbitration
auto configurable
sharable IRQs, DMA channels
backward compatible with ISA
some acceptance outside of the PC architecture
high cost
Comments: EISA is great for high bandwidth bus mastering cards
such as SCSI host adaptors, but its high cost limits
its usefulness for other types of cards.
P-EISA: Pragmatic EISA (also Super-ISA)
(see the description of the HiNT chipset elsewhere in this FAQ)
VLB: VESA Local Bus
32 data bits, 32 address bits
25-40MHz, asynchronous
130M/s burst (sustained is closer to 32M/s)
bus master capability
will coexist with ISA/EISA
slot limited to 2 or 3 cards typical
backward compatible with ISA
moderate cost
Comments: VLB is great for video cards, but its lack of a good bus
arbiter limits its usefulness for bus mastering cards and
its moderate cost limits its usefulness for low to mid
bandwidth cards. Since it can coexist with EISA/ISA, a
combination of all three types of cards usually works best.
PCI: Peripheral Component Interconnect local bus
32 data bits (64 bit option), 32 address bits (64 bit option)
up to 33MHz, synchronous
132M/s burst (sustained) (264M/s with 64 bit option)
full bus master capability
good bus arbitration
slot limited to 3 or 4 cards typical
auto configurable
will coexist with ISA/EISA/MCA as well as another PCI bus
strong acceptance outside of the PC architecture
moderate cost
Comments: The newest of the buses, combining the speed of VLB with
the advanced arbitration of EISA. Great for both video
cards and bus mastering SCSI/network cards.
-------------------------------
What is bus mastering and how do I know if I have it?
Bus mastering is the ability of an expansion (ISA/EISA/VLB/MCA/etc)
card to directly read and write to main memory. This allows the CPU
do delegate I/O work out to the cards, freeing it to do other things.
For all of the above busses, bus mastering capability is assumed.
Unless specifically stated otherwise, you should assume each slot has
this capability. For cards, this is not assumed. If you want a bus
mastering card, you should specifically request it and expect to pay
more. Note that some cards (RLL/MFM/IDE/com) are not available in bus
mastering versions.
Can I put an ISA cards in EISA slots?
Yes, you can put ISA cards in EISA slots, the EISA bus was
specifically designed to be 100% ISA compatible. ISA cards will not
directly effect the performance of EISA cards; a well balanced system
will have both. Note, however, that the total bandwidth of the bus
will be split between all cards, so there is a strong advantage to
using EISA cards for the high bandwidth devices (disk/video).
How should I configure ISA/VLB cards in the EISA config utility?
Only EISA cards matter in the ECU; ISA and VLB entries are only place
markers. While this is a good way to keep track of IRQ, DMA and BIOS
conflictions, ISA and VLB need not be placed in the configuration at
all, nor should it be assumed that the settings for them match the
actual card settings. If you wish to add them, you can use the
"Generic ISA Card" configuration file for either. Do not expect card
vendors to supply them.
What is the difference between EISA Standard and Enhanced modes?
Many EISA cards support both Standard (ISA) and Enhanced (EISA) modes.
In Standard mode, the card will appear to be an ISA card to the OS; it
will generate edge triggered interrupts and only accept ISA addressing
(for bus mastering cards), for instance. An important thing to note
is that the card may still do EISA specific things like 32-bit data
bus mastering and EISA configuration setup as this functionality is
hidden from the OS.
Is there any point in putting more than 16M in an ISA machine?
Sure. Even inferior operating systems can use it for something.
The question is how much performance it buys. In ISA, the DMA
channels and bus-mastering IO cards can only address the first 16 MB.
Therefore the device drivers have to copy data up and down or just
not use the space. I am told the Linux SCSI drivers know how to
do this. I don't know about OS/2 or MSWindows.