Peripheral Component Interconnect
From Encyclopedia Jr, free information reference for Kids
- This article is about computer bus type. For other uses of PCI, see PCI.
| PCI Peripheral Component Interconnect |
|
five 32-bit 5-volt PCI expansion slots on a motherboard |
|
| Year Created: | Mid-1993 |
| Created By: | Intel |
| Superseded By: | PCI Express (2004) |
|
|
|
| Width: | 32 bits |
| Number of Devices: | 1 per slot |
| Speed: | 133 MB/s |
| Style: | Parallel |
| Hotplugging? | no |
| External? | no |
The Peripheral Component Interconnect, or PCI Standard (in practice almost always shortened to PCI) specifies a computer bus for attaching peripheral devices to a computer motherboard. These devices can take any one of the following forms:
- An integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification.
- An expansion card that fits in sockets.
The PCI bus is common in modern PCs, where it has displaced ISA and VESA Local Bus as the standard expansion bus, but it also appears in many other computer types. The bus will eventually be succeeded by PCI Express, which is standard in most new computers, and other technologies.
The PCI specification covers the physical size of the bus (including wire spacing), electrical characteristics, bus timing, and protocols. The specification can be purchased from the PCI Special Interest Group (PCISIG).
Contents |
[edit] History
Work on PCI began at Intel's Architecture Lab circa 1990. PCI 1.0, which was merely a component-level specification, was released on June 22, 1992. PCI 2.0, which was the first to establish standards for the connector and motherboard slot, was released on April 30, 1993. PCI 2.1 was released on June 1, 1995.
PCI was immediately put to use in servers, replacing MCA and EISA as the server expansion bus of choice. In mainstream PCs, PCI was slower to replace VESA Local Bus (VLB), and did not gain significant market penetration until late 1994 in second-generation Pentium PCs. By 1996 VLB was all but extinct, and manufacturers had adopted PCI even for 486 computers. EISA continued to be used alongside PCI through 2000. Apple Computer adopted PCI for professional Power Macintosh computers (replacing NuBus) in mid-1995, and the consumer Performa product line (replacing LC PDS) in mid-1996.
Later revisions of PCI added new features and performance improvements, including a 66 MHz 3.3 V standard and 133 MHz PCI-X, and the adaptation of PCI signaling to other form factors. With the introduction of the serial PCI Express standard in 2004, motherboard manufacturers have included progressively fewer PCI expansion slots in favor of the new standard. Both PCI-X 1.0b and PCI-X 2.0 are backward compatible with PCI standards. Although it is still common to see both interfaces implemented side-by-side, traditional PCI is likely to slowly die out in coming years.
[edit] Configuration
Some PCI devices are plug and play. The system firmware examines each device's PCI Configuration Space and allocates resources. Each device can request up to six areas of memory space or I/O port space.
They can also have an option ROM that can contain executable x86 or PA-RISC code, Open Firmware or an EFI driver.
Interrupt lines are assigned to the device dynamically via bus controls rather than being configured by the use of jumpers on the card as was common with ISA devices. PCI devices are required to have level-triggered interrupts so they can share interrupt lines, which means the limited number of interrupt lines does not limit the number of PCI devices in the system (as was a common problem with ISA). But the system will normally try to assign unique interrupt lines to each device to improve performance. A PCI device must have special hardware in order to accommodate sharing an interrupt line, so that the system can tell whether an interrupt was caused by that device or a separate device sharing the interrupt line. For example, the device might provide a register that the system can examine that tells whether the device recently generated an interrupt. Upon receiving an interrupt, the system can poll every device assigned to that interrupt line to find out which requires service.
In a typical system, the operating system queries all PCI buses at startup time to find out what devices are present and what system resources (memory, interrupt lines, etc.) each needs. It then allocates the resources and tells each device what its allocation is.
The PCI configuration space also contains a small amount of device type information, which helps an operating system choose device drivers for it, or at least to have a dialogue with a user about the system configuration. Part of this information is a human readable text description of the device.
[edit] Conventional hardware specifications
- 33.33 MHz clock with synchronous transfers
- peak transfer rate of 133 MB per second for 32-bit bus width (33.33 MHz × 32 bits × (1 byte ÷ 8 bits) = 133 MB/s)
- 32-bit or 64-bit bus width
- 32-bit address space (4 gigabytes)
- 32-bit port space (now deprecated)
- 256-byte configuration space
- 3.3 or 5-volt signaling
- reflected-wave switching
[edit] Variants
[edit] Conventional
- PCI 2.2 allows for 66 MHz signaling (requires 3.3 volt signaling) (peak transfer rate of 266 MB/s)
- PCI 2.3 permits use of 3.3 volt and universal keying, but does not allow 5 volt keyed add in cards.
- PCI 3.0 is the final official standard of the bus, completely removing 5-volt capability.
- PCI-X doubles the width to 64-bit, revises the protocol, and increases the maximum data rate to 133 MHz (peak transfer rate of 1014 MB/s)
- PCI-X 2.0 permits a 266 MHz rate (peak transfer rate of 2035 MB/s) and also 533 MHz rate, expands the configuration space to 4096 bytes, adds a 16-bit bus variant and allows for 1.5 volt signaling
- Mini PCI is a new form factor of PCI 2.2 for use mainly inside laptops
- Cardbus is a PCMCIA form factor for 32-bit, 33 MHz PCI
- Compact PCI, uses Eurocard-sized modules plugged into a PCI backplane.
- PC/104-Plus is an industrial bus that uses the PCI signal lines with different connectors.
[edit] Other
- PCI Express, or PCIe, (formerly 3GIO/Arapaho), a new interface using PCI programming concepts, with a serial physical-layer protocol and different connectors. PCI Express is expected to replace the PCI (and PCI-derived AGP) buses. PCIe slots are not backwards compatible with PCI or PCI-X expansion cards.
[edit] Card's physical size
A full-size PCI card has a height of 107 mm (4.2 inches) and a depth of 312 mm (12.283 inches).
The height includes the edge card connector.
In addition to these dimensions the physical size and location of a card's backplate are also standardized. The backplate is the part that fastens to the card cage to stabilize the card and also contains external connectors, so is usually attaches in a window so it is accessible from outside the computer case.
A PCI card can be any smaller size, but the backplate must still be full-size and properly located so that the card fits in any standard PCI slot.
Many computers have slots for PCI cards but do not have the space for full-size PCI cards. In some computers, some slots accommodate full-size PCI cards, while others do not because some part of the computer interferes.
"Half-height" and "half-length" cards and slots are common, and presumably have dimensions half those of the full-size cards. Other cards with reduced height are called "low profile" or "slim."
There is at least one reduced size variation on the backplate and there are very compact card cages that require that variation. It is not common.
[edit] Half-length extension card
- Width 0.6 inches (15.24 mm), Depth 6.9 inches (175.26 mm), Height 4.2 inches (106.68 mm)
[edit] See also
- AMBA specification
- Industry Standard Architecture (ISA)
- Extended Industry Standard Architecture (EISA)
- Micro Channel architecture (MCA)
- NuBus
- VESA Local Bus (VLB)
- Accelerated Graphics Port (AGP)
- PCI Express (PCIe)
- List of device bandwidths (A useful listing of device bandwidths that include PCI)
- PCI-X
- PCI class(A useful listing of classes of PCI devices)
- List of device bandwidths
[edit] External links
- PCI SIG
- PCI Interfacing from Windows OS.
- http://pciids.sourceforge.net PCI IDs.
- Linux with miniPCI cards
- PCI bus pin-out and signals
- PCI bus pin-out and signals
| Preceding: | ISA |
| Subsequent: | PCI-X |