Previous Table of Contents Next


Choosing The Best I/O Expansion Bus

As with processor platforms, there are several flavors of I/O buses to choose from and each has specific capabilities. The primary concern here is which bus will perform best for a particular purpose. Consider, for example, how well the bus will perform for a video adapter, network adapter, or disk controller. These are the most common performance-oriented peripherals. These are the adapters that must function at their peak. Adapters that are not performance intensive include sound cards, internal modems, parallel port adapters, mouse adapters, and even joystick adapters.


TIP:  Most Intel-based computers have an advanced BIOS setup option to increase the speed at which the ISA I/O expansion bus operates. Increasing this bus speed above the default of 8MHz can improve the performance of the adapter. Many of today’s computer peripherals are rated for 12.5MHz operation, although some will operate at higher speeds. Most computers with a PCI bus tie the speed of the PCI bus to the CPU clock speed. This can cause problems if the CPU utilizes a 75MHz clock speed, as the PCI bus will then usually operate at 37.5MHz. Unlike many ISA adapters, almost all PCI adapters are rated for a 33MHz bus speed. Increasing the bus speed in this manner can cause instability problems.

If you decide to increase the speed at which your I/O expansion bus operates, be sure to perform a reliability test before placing the unit in service. Not all adapters will operate reliably above 8MHz for the ISA bus or 33MHz for the PCI bus. When you perform this test, at a minimum, be sure to test for full functionality of your disk controller, network adapter, video adapter, and communication port. Otherwise, you are liable to place your souped-up server in operation only to have it fail when you least expect it.


When you decide to find a computer system to use for your server, you will have many different expansion buses to choose from. The expansion buses currently available include the following:

  ISA (Industry Standard Architecture)—This is the original expansion bus that was introduced on the IBM (XT) Personal Computer (PC). The original PC used an 8-bit I/O bus, which the IBM AT computer later extended to 16 bits. Although the ISA standard includes both the 8-bit and 16-bit I/O buses, most of today’s peripherals are 16-bit and offer excellent value. Where performance is not a concern, choose adapters that use the ISA bus when making your purchasing plans. This bus, for example, should be used for your 8-bit and 16-bit expansion cards. While you can use an 8-bit adapter in a 16-bit slot, it is better to place it in an 8-bit slot to provide for future expansion. This bus is a good choice for sound cards, internal modems, and other nonperformance-oriented peripherals. Try to avoid using this expansion bus for your network, disk controller, and video cards unless you have no other option.


The ISA expansion bus is only able to directly access the first 16MB of system RAM. If you use a bus master controller (such as a SCSI or EIDE) disk controller and if your system has more than 16MB of RAM, all disk access will have to be double buffered. This means that the data will first have to be copied to a buffer in the first 16MB of your system RAM and then copied above this memory range to the application’s data buffer. This will decrease overall system performance. While this may not be a significant performance hit on most systems, it can be very noticeable on some systems, depending on the system architecture.
  EISA (Enhanced Industry Standard Architecture)—This expansion bus is an extension of the ISA bus. It stretches the I/O bus from 16 bits to a full 32 bits and offers software configuration of peripherals through a configuration disk. The EISA expansion slot can utilize EISA adapters as well as ISA adapters because it uses a layered connection mechanism. The ISA adapter only fits halfway down this connection, thereby enabling a connection to the standard ISA expansion pins. An EISA adapter, on the other hand, fits all the way down and can reach the additional I/O bus connectors. This expansion bus is a good choice for network adapters, video adapters, and disk controllers. It performs well in most conditions and offers the ability to have several bus master adapters installed concurrently.


Note:  A bus master adapter is an adapter that has its own built-in processor. In most cases, the adapter also has its own Direct Memory Access (DMA) controller. The concept behind a bus master adapter is that it can use its own processor and DMA controller to pass data back and forth between the adapter and system memory. This allows the processor on the motherboard to continue to process data requests instead of spending time passing data between system memory and the adapter. You can think of bus mastering as a poor-man’s multiprocessor platform, if you like.

One thing I can tell you from my personal experience is that many people talk about PCI and VLB as the buses to use on the desktop. These same people tend to forget about performance-oriented servers. These computers can make excellent use of the EISA bus to add additional network adapters, SCSI adapters, and even high-speed multiple-port communications boards, such as those from DigiBoard, to add additional functionality while maintaining performance. My personal recommendation for an I/O bus is to find a PCI/EISA bus combination if you can. This offers you the highest levels of performance and compatibility while providing long-term growth potential.


  MCA (Microchannel Architecture)—IBM introduced this I/O expansion bus as a replacement to the ISA expansion bus. It was designed for the new PS/2 line of computers. While it offers increased performance, compared to the ISA bus, it is completely incompatible with the ISA bus. This incompatibility leads to increased adapter costs and a limited number of available peripherals for consumers to purchase. This bus is a dead-end in my opinion and should be avoided for any new purchases.
  VLB (Video Local Bus)—In order to increase the performance of video adapters, a method was created to access an adapter at memory bus speeds by tying it directly to the system memory bus. This increased video performance considerably, but limited the expansion bus to a maximum of three VLB adapters. The current implementation is still a 32-bit wide data bus, but I expect this to be extended to 64-bits. This is an excellent choice for your primary video adapter. While it can be used for multiple purposes, such as a video adapter, disk controller, and network adapter, it is not the best choice for multiple adapters. Each time you add a peripheral to this expansion bus, all peripherals on the bus contend for access to the bus and performance decreases. Use this bus over an ISA bus.
  PCI (Peripheral Component Interconnect)—This expansion bus was designed to overcome the limitations of the ISA, EISA, MCA, and VLB expansion buses. It was designed to offer true plug-and-play functionality by automatically configuring the installed adapters (no software configuration program needed). It outperforms all other buses in data transfer rates, and offers more than three expansion slots. It is an excellent choice for multiple adapters such as your video card, SCSI (or IDE disk controller) adapters, and network adapters. Most computers only have three PCI expansion slots, although some of today’s super-servers have up to six. If you only have three PCI expansion slots, then you may be severely limited in your future expansion options. If PCI is your choice as a primary I/O bus, try and find one that is paired with an EISA expansion bus. This will give you the ability to use the PCI bus for your video adapter, disk controller, and primary network adapter. You can then use the EISA bus for secondary disk controllers and network adapters.


Previous Table of Contents Next