PCI is an acronym for the Peripheral Component Interface, which might sound technical but it is certainly an apt description. Peripheral components in computer systems usually describe add-on boards that perform specific functions that do not come with the main system board. One of the key characteristics of the PCI bus is its native support for Plug and Play technology that allows a computer to query new add on cards to discover their ID and match that ID against a log in the operating system to determine which drivers should be installed in order for the PCI add on card to work effectively. Many older busses lacked this plug and play technology, a fact that made home upgrades far more difficult for even savvy computer users.
The PCI bus grew from a 33 MHz 32-bit bus to a much larger variant called PCI-X which eventually ran at speeds of up to 133 MHz on a 64-bit bus. The speed refers to how many electrical oscillations could be used each second to transmit data while the bus width refers to how much data could be transferred with each oscillation. Both PCI and PCI-X were parallel interfaces which meant that data was transferred in a loop from a chip that connected the PCI/PCI-X bus to the CPU to each component in turn then finally back to the ‘bridge’ chip that connected the PCI/PCI-X bus to the CPU. As a result, all PCI and PCI-X cards share a cumulative amount of data access.
The benefit of the PCI bus to the average consumer was amazing. For the first time there was a Plug and Play interface for add-on cards that allowed consumers with a computer from any manufacturer to buy an add-on card with little worries about compatibility. Prior to the advent of the PCI bus, most large companies sold hardware with customized slots or add-on modules that could only be used with their PCs. The result was a serious limitation on the customizability of any PC.
There are some problems that can occur on the PCI bus, though most are related to improperly configured hardware and/or drivers for the hardware. Simply put, the PCI bus has a finite number of resources to distribute in terms of memory addresses and frequencies for communications. Whenever multiple devices attempt to use the same memory addresses and/or frequency range a conflict will occur. Sometimes a physical jumper or DIP switch can address the issue while other times driver settings may need to be altered.
Another limitation to the PCI bus that can occasionally cause problems is the fact that there is only so much data that can be transferred over any given period of time. This means that a system with multiple PCI cards that require a lot of bandwidth (data access) may end up slowing each other down to a point that at least one component might fail or even cause instability. This is not necessarily a failure of the PCI bus itself but rather a common problem to all parallel interfaces. Newer PCI-based interconnects such as PCI Express use serial technology to ensure that each and every connector has a pre-determined amount of bandwidth available at all times.