Subject: Re: 3c509 again
To: Missing - presumed fed. <greywolf@autodesk.com>
From: Michael L. VanLoon -- Iowa State University <michaelv@iastate.edu>
List: current-users
Date: 07/01/1994 02:42:11
>last I looked, ISA was 24 bits wide. Not being a kernel engineer,
ISA: 16-bit data; 24-bit address; ~8MHz
VLB: 32-bit data; 32-bit address; ~33MHz
EISA: 32-bit data; 32-bit address; 8.25MHz
PCI: 32/64-bit data; 32-bit address; 25-33MHz
>I'm not sure about when a virtual/physical translation occurs (i.e. does the
Virtual addresses live *only* inside the CPU -- anything external to
the CPU is physical.
>are...), but since everything else (EISA, PCI, VLB) runs at 32 bits,
>ANY kind of SCSI other than ISA SCSI would probably perform better, no?
Yes. But that's only part of it. ISA, as has been stated, has only
24-bit address lines, meaning it can't address more than 16MB of
physical memory. Also, ISA has no concept of arbitrating bus-masters
or burst-mode transfers, so the devices must do that themselves (like
the timing settings you have to give to 1542 cards to keep them from
dominating the bus, but still give "good" performance).
EISA is faster because it's 32-bit data, and because it supports a
very well designed bursting scheme (32-bit transfer for each clock
cycle). ISA requires at least two clock cycles for each 16-bit
transfer in most cases (from what I've been made to understand). The
EISA spec is very specific and complete in pretty much all areas of
design, and a true EISA bus is pretty much going to perform as
consistantly as any other EISA bus. Generally 4-8 times faster than
ISA.
VLB is fast because it's 32-bits wide and four times the speed of the
ISA bus. But, it's a very loosely defined standard, and leaves many
things up the the judgement of the motherboard designer. It has no
real standard for burst-mode behaviour, and some VLB devices don't
even burst (like most ISA devices). Plus, the VLB bus arbitration is
much more loosely designed than EISA, so one VLB device can dominate
the bus and starve other devices (or the CPU) if they're not
configured properly (or are just badly designed). Because of all
this, VLB performance varies greatly from one VLB implementation to
the next. And some devices may just not run on some motherboards.
VLB offers potential throughput roughly 16 times the speed of the ISA
bus, but real-world performance varies from one VLB design to the
next. And, even though a certain VLB design may be fast in raw
transfer speed, it may make the overall machine seem less responsive
because of poor bus arbitration. On the other hand, if you are lucky
enough to have a very well designed VLB, you might reap all the
potential benefits of it.
PCI is another story. It's like an EISA bus on steroids in design
(even though physically it doesn't use the same connectors). It can
run at either 32-bits or 64-bits wide (just like the EISA falls back
to 16-bits and 8-bits if an older card is being accessed). The PCI
spec says a PCI bus may run anywhere from 25MHz to 33MHz. The CPU is
just another device on the PCI bus, so it doesn't matter if it's a
32-bit 486 and you have a 64-bit SCSI controller -- all the buffering
is automatic. The PCI bus is theoretically capable of going eight
times the full speed of an EISA bus, though generally you'd probably
be more likely to see about half that (a lot of the first PCI devices
released were 32-bit). Still, the higher clock rate, and much better
specification of the PCI bus (vs. VLB) means that the PCI bus is going
to be a fast bus for quite some time. The biggest problems with it
right now are a) the older PCI chipsets that had some buggy cache
problems on Pentiums, and b) the autoconfiguration of PCI devices is
still not quite as smart or configurable as it should be. (A) has
been fixed by current PCI chipsets, and newer Pentiums are now
shipping with the fixed chips. (B) may take some time yet. Devices
will probably continue to conflict with each other until either they
get a little smarter with their autoconfig algorithms, or get a little
less fascist and stop forcing you to live with the settings
autoconfiguration gives you and let you set them manually if you want.
But regardless, it will be the bus of the future for quite some time.
This rambling, babbling letter ran on a lot longer than I intended.
;-) Hope it makes some sense to some tormented soul out there.
-----------------------------------------------------------------------------
Michael L. VanLoon Iowa State University Computation Center
michaelv@iastate.edu Project Vincent Systems Staff
Free your mind and your machine -- NetBSD free Un*x for PC/Mac/Amiga/etc.
-----------------------------------------------------------------------------
------------------------------------------------------------------------------