PCI - The Peripheral Component Interconnect Bus
The name PCI has been derived from Peripheral Component Interconnect which describes a set of industry standard computer bus architectures which are used to connect components on the computer main board to each other, and also provides an expansion bus to install add-in cards.
These bus architectures have been fully standardized by the PCI Special Interest Group (PCI SIG) Over the years the PCI SIG has enhanced and released newer versions of their standards in order to match the increasing requirements for a high performance computer bus system.
The PCI standards include a full plug-and-play capability. This means the computer BIOS or operating system can determine the resource requirements (memory, I/O, or interrupt) of such cards automatically and assign resources in a way that there are no conflicts with other cards.
Each card is identified by a unique vendor ID assigned by the PCI SIG, and a device ID assigned by the manufacturer of a card. This lets the driver software properly identify the cards it supports.
Conventional PCI with 5V signal levels
The original PCI standard specified 5V bus signal levels since most of the processors and peripheral chips were specified for those signal levels those days. Also the first PCI cards manufactured by Meinberg were specified to operate using 5V bus signal levels.
Newer chips were designed to work with lower bus signal levels, so the PCI SIG specified a newer standard using 3.3V bus signal levels.
Conventional PCI with 3.3V signal levels
In order to increase the maximum clock speed, and not at least to decrease power consumption, the PCI standard was extended to support 3.3V bus signal levels.
In order to prevent installation of 5V-only cards into 3.3V slots and vice-versa, the slot connectors are keyed so that cards can only be inserted into slots with the corresponding signal level.
Many PCI add-in cards can work with either 3.3V or 5V signal levels, so they are keyed for either of the slot types. All current versions of Meinberg PCI cards are keyed this way, so all those cards can be installed in either a 3.3V slot or a 5V slot.
Conventional PCI slots use a data width of 32 or 64 bits, and a maximum bus clock up to 33 or 66 MHz. However, as the maximum data transfer rate which can be achieved via this conventional PCI bus didn't meet the requirements of modern computer systems anymore, the PCI SIG released a follow-up standard called PCI-X. The orignal 5V or 3.3V versions of the PCI bus are thus often referred to as "Conventional PCI" which supports data widts of 32 or 64 bit and a bus clock of up to 33 or 66 MHz.
PCI-X is an approach to increase the maximum transfer rate beyond the maximum rate achievable by conventional PCI. Since this is mostly a requirement for expansion cards used in servers, e.g. network or hard disk controllers, PCI-X slots can mainly be found on special server mainboards.
The maximum bus clock of a PCI-X v1.0 slot is 133 MHz, and those slots support 3.3V signal levels only. However, the PCI-X bus specification is backward compatible with the conventional 3.3V PCI specs, so conventional 3.3V PCI cards which support up to 66 MHz bus clock can be installed in a PCI-X slot. Since all current PCI cards manufactured by Meinberg meet these requirements, all current types of Meinberg PCI cards can be installed in PCI-X slots. However, it is not possible to operate 5V-only add-in cards in a PCI-X slot!
If a conventional PCI card is installed in a PCI-X slot then the clock speed of all PCI-X slots connected to the same bus is reduced to the maximum clock speed supported by that add-in card. Real PCI-X cards benefit from a high transfer rate provided by the PCI-X bus, so they should preferably run with the maximum rather than a decreased bus clock speed.
However, due to electrical limitations on the length of the wires between the slots the PCI-X specs allow only up to two slots to be connected to a single bus. So if there are more PCI-X slots available then they are normally connected to several independent buses, each bus with 2 slots.
This is why the limited transfer rate due to a conventional PCI card in a PCI-X slot normally affects only one other slot, usually the next one. Other slots won't be affected since they are physically connected to different buses. The manual of the computer mainboard should mention which of the PCI-X slots are grouped together to a single bus.
PCI Express (PCIe or PCI-E)
PCI Express is the latest implementation of the PCI bus which is only software-compatible with other PCI bus specifications. The hardware layout, however, is totally different. PCI Express has been designed to yield a high transfer rate across a low number of wires, and is thus based on a high speed serial protocol, similar to LAN or IEEE1349 (Firewire) connections. A single PCI Express slot can implement several of such so-called lanes in parallel in order to yield a multiple of the transfer rate of a single lane.
Since the hardware mechanisms are totally different it is not possible to install a PCI Express card in a PCI/PCI-X slot or vice-versa.
5V PCI and 3.3V PCI/PCI-X
slot connectors are keyed differently in order to prevent cards
which don't support the same signal level from being inserted into that slot.
- Many PCI add-in cards can work with either 3.3V or 5V signal levels,
so they are keyed for either of the slot types.
- All current types of Meinberg PCI cards
are keyed in a way that they can be installed in either a 5V PCI slot, or in a 3.3V PCI/PCI-X slot:
GPS card, DCF77 card, IRIG card
- If a conventional PCI card is installed in a PCI-X slot then the clock speed
of other PCI-X slots may be reduced, see
PCI Express is a totally new approach, so PCI Express cards can neither
be installed in conventional PCI or PCI-X slots, nor can conventional PCI cards or PCI-X cards
be installed in a PCI Express slot.