PCI (Peripheral Component Interconnect) is a computer bus used for attaching peripheral devices to a computer motherboard. It is the most popular local I/O bus used in today. PCI provides a shared data path between the CPU and peripheral controllers in every computer models, from laptops to mainframes. Developed by the Intel Corporation, PCI first appeared in computers in 1993 and co-existed with the ISA bus for several years. It soon displaced the ISA and VESA local bus and became the standard expansion bus used in PCs. Today, most computers have only PCI slots and one AGP slot for a display adapter.
PCI supports both 32-bit and 64-bit data paths and can run at clock speeds of 33MHz or 66MHz. When implemented at 32 bits and 33 MHz, PCI yields a throughput rate of 133 MBps. PCI also has the ability to support bus mastering. The PCI specification covers the physical size of the bus, including wire spacing, bus timing, electrical characteristics, and protocols. The specification can be purchased from the PCISIG also known as the PCI Special Interest Group.
PCI devices are plug and play devices, meaning they load automatically when you connect them. Generally, the system firmware inspects each device's PCI Configuration Space and distributes resources accordingly. A device can request up to six areas of I/O port space or memory space. Each device can also have an additional ROM which can include executable x86 or PA-RISC code, an EFI driver, or an Open Firmware.
While configuring PCI, interrupts are usually allocated to the device by firmware rather than using jumpers on the card. System software tries to assign specific interrupts to each device to boost their performance. Most PCI devices require special hardware to support sharing an interrupt port because it needs a method to inform if an interrupt is for itself or for a specific device sharing the IO port.
History of PCI
Intel Corporation started the work on Peripheral Component Interconnect or PCI in 1990. On June 22 1992, PCI 1.0 was introduced in the computer world. PCI 1.0 was just a component-level specification. PCI 2.0, released in the next year, was the first to establish standards for the connector and motherboard slot. PCI was implemented in servers and eventually it replaced the MCA and EISA and became the server expansion bus of choice.
However, PCI took some time to supercede VESA Local Bus, commonly known as VLB; it also took some time to become the basic I/O bus standard in second-generation Pentium computers. By 1996 VESA Local Bus become extinct and PCI was adopted by almost all manufactures, even in 486 computers. But EISA survived a bit longer, until 2000. PCI was also adopted by Apple Computer for their professional Power Macintosh computers in mid 1995. The consumer Performa product line also adopted PCI in mid-1996, replacing LC PDS.
PCI added several new features and performance improvements in its latest versions. This includes a 66 MHz 3.3 V standard and 133 MHz PCI-X. Another improvement is the adaptation of PCI signaling to other form factors. The serial PCI Express standard, introduced in 2004, is the latest release in the computer market and has been well received.
PCI Express, formerly 3GIO/Arapaho, is a brand new interface developed using PCI programming concepts. PCI Express features a serial physical-layer protocol and various connectors. PCI Express is expected to replace the PCI and PCI derived AGP buses in the future.