The ISA and PCI Computer Busses
Introduction
The ISA and PCI busses are both found in most modern PC's (at least in Wintel machines). The much older ISA bus remains, in spite of its low bandwidth, because it provides a standard of compatibility and support for the huge base of existing peripheral devices. As processors and memory got faster, the ISA bus became a bottleneck and the need for a faster and more capable buss became apparent. Although there were competitors, the PCI bus emerged as the new standard. The diagram below illustrates the standard architecture of a modern PC.
"In a modern PC, there may be a half dozen different Bus areas. There is certainly a "CPU area" that still contains the CPU, memory, and basic control logic. There is a "High Speed I/O Device" area that is either a VESA Local Bus (VLB) or an PCI Bus. An very low cost home computer may have no high speed devices. A more typical desktop system connects the high speed bus on the mainboard to the display adapter and IDE disk interface chip. Then one or two extra I/O slots may allow adapter cards to connect to the high speed bus. The remaining I/O device slots support standard "ISA" bus cards. Some
computers will also provide sockets for a number of PCMCIA "credit card" adapters commonly found in laptop computers."1
The ISA Bus
"The original PC bus operated at 4.77 MHz (million cycles per second) and was 8 bits wide, meaning it could process 8 bits of data in each cycle. In 1982, it improved to 16 bits at 8 MHz and officially became known as ISA. This bus design is capable of passing along data at a rate of up to 16 MBps (megabytes per second), fast enough even for many of today's applications."2
"The choices made in defining the main characteristics of the ISA bus--its width and speed--can be seen by looking at the processors with which it was paired on early machines. The original ISA bus on the IBM PC was 8 bits wide, reflecting the 8 bit data width of the Intel 8088 processor's system bus, and ran at 4.77 MHz, again, the speed of the first 8088s. In 1984 the IBM AT was introduced using the Intel 80286; at this time the bus was doubled to 16 bits (the 80286's data bus width) and increased to 8 MHz (the maximum speed of the original AT, which came in 6 MHz and 8 MHz versions).
Later, the AT processors of course got faster, and eventually data buses got wider, but by this time the desire for compatibility with existing devices led manufacturers to resist change to the standard, and it has remained pretty much identical since that time. The ISA bus provides reasonable throughput for low-bandwidth devices and virtually assures compatibility with almost every PC on the market.
Many expansion cards, even modern ones, are still only 8-bit cards (you can tell by looking at the edge connector on the card; 8-bit cards use only the first part of the ISA slot, while 16-bit cards use both parts). Generally, these are cards for which the lower performance of the ISA bus is not a concern. However, access to IRQs 9 through 15 is provided through wires in the 16-bit portion of the bus slots. This is why most modems, for example, cannot be set to the higher-number IRQs. IRQs cannot be shared among ISA devices."3
"The most common bus in the PC world, ISA stands for Industry Standard Architecture, and unlike many uses of the word "standard", in this case it actually fits. The ISA bus is still a mainstay in even the newest computers, despite the fact that it is largely unchanged since it was expanded to 16 bits in 1984! The ISA bus eventually became a bottleneck to performance and was augmented with additional high-speed buses, but ISA persists because of the truly enormous base of existing peripherals using the standard. Also, there are still many devices for which the ISA's speed is more than sufficient, and will be for some time to come (standard modems being an example).
(As a side note, after 17 years it appears that ISA may finally be going the way of the dodo. Market leaders Intel and Microsoft want to move the industry away from the use of the ISA bus in new machines. My personal prediction is that they will succeed in this effort, but that it will take at least five years to do it fully. There are few standards in the PC world as pervasive as ISA, and the hundreds of millions of existing ISA cards will ensure that ISA sticks around for some time.)"3
The PCI Bus
"First released in 1992, the Peripheral Component Interface (PCI) has rapidly evolved into a viable replacement for the ISA bus, and is the most commonly used method for adding boards to a PC. It solves many of the problems with older architectures, while at the same time delivering a substantial increase in processing speed. PCI provides a new way of connecting peripherals to both the system memory and the CPU, with the goal of alleviating many problems encountered when installing new cards in an ISA based system (IRQ conflicts, address conflicts, etc.). To ensure the longevity of the bus, not only are systems based on newer PCI specifications backward compatible with those designed to older ones, PCI boards may also be used in a system that also employs other types of devices."4
"PCI originally operated at 33 MHz using a 32-bit-wide path. Revisions to the standard include increasing the speed from 33 MHz to 66 MHz and doubling the bit count to 64. Currently, PCI-X provides for 64-bit transfers at a speed of 133 MHz for an amazing 1-GBps (gigabyte per second) transfer rate!"2
"The PCI bus is part of the Plug and Play standard developed by Intel, with cooperation from Microsoft and many other companies. PCI systems were the first to popularize the use of Plug and Play. The PCI chipset circuitry handles the identification of cards and works with the operating system and BIOS to automatically set resource allocations for compatible peripheral cards."5
"To ensure that every PCI card will function properly in every PCI enabled system, a committee, the PCI Special Interest Group, was formed to set and manage standards for the bus. The most important of these standards is the requirement that all PCI cards implement specific configuration registers.
Implementing PCI control registers is vitally important to ensuring that Plug and Play, one of PCI's most attractive features, works properly. Setting jumpers and switches to configure address and IRQ is not required. The system configures itself by having the PCI BIOS access configuration registers on each add-in board at boot-up time. As these configuration registers tell the system what resources they need, (I/O space, memory space, interrupts, etc.), the system can allocate its resources accordingly, making sure that no two devices conflict."4
"Several pins on the PCI bus are reserved for implementing bus mastering."4
"Bus mastering is the capability of devices on the PCI bus (other than the system chipset, of course) to take control of the bus and perform transfers directly. The PCI bus is the first bus to popularize bus mastering; probably in part because for the first time there are operating systems and software that are really capable of taking advantage of it.
PCI supports full device bus mastering, and provides bus arbitration facilities through the system chipset. PCI's design allows bus mastering of multiple devices on the bus simultaneously, with the arbitration circuitry working to ensure that no device on the bus (including the processor!) locks out any other device. At the same time though, it allows any given device to use the full bus throughput if no other device needs to transfer anything. In a way, the PCI bus acts like a tiny "local area network" inside the computer, in which multiple devices can each talk to each other, sharing a communication channel that is managed by the chipset."5
Conclusion
In this paper I have tried to limit the technical details and focus on the main features of the ISA and PCI busses. To completely cover the details of each bus would require a much longer paper. The ISA bus still exists solely for the purpose of compatibility and will one day disappear. The main features of the PCI bus are its support of the Plug and Play standard and bus mastering. I will finish with one final quote.
"As processor speeds steadily climb in the GHz range, many companies are working feverishly to develop a next-generation bus standard. Many feel that PCI, like ISA before it, is fast approaching the upper limit of what it can do."2