PCI BUS OVERVIEW
A New Standard
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 uses ISA bus cards--however,
this is becoming increasingly rate as ISA is rapidly becoming obsolete.
Strict Rules
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. Quatech is a voting member of this committee, and all Quatech PCI
products strictly adhere to the standards.
The most important of these standards is the requirement that all PCI cards implement specific
configuration registers. Whether the PCI device is embedded on the PCI bus,
or is an add-in board as Quatech's products are, it must include a unique "Vendor
ID" and "Device ID," and a resource requirement list on its configuration
registers. Any card which does not contain these registers cannot be considered
a true "PCI" adapter, and might not work properly in your system.
See Quatech's Guide to Selecting A Quality PCI Board for a detailed discussion of PCI compliance issues and a comparison of Quatech boards vs. non-compliant PCI boards.
Plug & Play
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.
Another implication
of the PCI implementation is that a board's I/O address and interrupt are not
fixed, meaning that they can change every time the system boots. Consequently,
application software written for ISA boards, which are hardwired to particular
interrupts, will not directly transfer to PCI-based systems. This is a serious
consideration when contemplating switching to PCI. However, the alterations
that need to be made to application software are usually minimal.
The High Speed, Wide Bandwidth Advantage
More than any other bus, PCI can take full advantage of today's high-power microprocessors
to deliver extremely high speed data transfers. The original PCI bus was designed
to operate with a 33MHz clock, to provide data transfer speeds up to 132 Mbytes/sec.
These 32-bit adapters can use multiplexing to achieve 64-bit data transfers.
(Later versions of PCI enable true 64-bit data transfers using up to a 133MHz
clock to enable transfer speeds of up to 1066 Mbytes/sec.) These boards use
a longer connector that adds an additional 32-bits of data signals. This is
done by using the same set of pins to address and send data, the former implemented
on the first clock cycle and the latter on the second. PCI's burst mode facilitates
this operation as it allows a single address cycle to be followed by multiple
data cycles. A special bus signal called a Cycle Frame is used to signal the
beginning and end of a transfer cycle. Parity signals are used to ensure signal
integrity, which is particularly vulnerable in such a complex transfer system.
The high speed data transfers across the PCI bus limits the number of PCI expansion
slots that can be built into a single bus to 3 or 4, as opposed to the 6 or
7 available on the ISA bus. To expand the number of available expansion slots,
PCI-to-PCI bridges are used. These bridges create a primary and a secondary
PCI bus, each of which is electrically isolated from the other. Multiple bridges
can be cascaded, theoretically allowing unlimited numbers of PCI slots to be
configured in a single system. (Practically, it is important not to overload
the CPU, as adding too many devices via expansion slots could considerably compromise
system bandwidth.) The bridge enables bus transfers to be forwarded upstream
or downstream, from one bus to another until the target/destination is reached.
Flexible Bus Mastering
Several pins on the PCI bus are reserved for implementing bus mastering. This means
that any PCI device can take control of the bus at any time, even allowing it
to shut out the CPU. Devices use bandwidth as available, and can potentially
use all bandwidth in the system if no other demands are made for it. Bus mastering
works by sending Request signals to the Central Resource (circuitry on the motherboard
shared by all bus devices) when a device wants control of the bus, and when
that control is ceded a Grant signal is received by the device. This flexible
approach, which separates the arbitration and control signals (they were bussed
together on MicroChannel and ISA), allows a computer designer greater control
over the arbitration process.
Interrupt sharing on the PCI bus is also implemented to provide maximum flexibility. Four level-sensitive
interrupts are located on the bus at pins A6, B7, A7 and B8, each of which can
be assigned to from one to 16 separate devices. These interrupts can be activated
at any time because they are not synchronized with the other signals on the
bus. The PCI specification does not define how interrupts are to be shared.
The process is implemented on a case-by-case basis by the motherboard manufacturer.
For instance, Quatech multi-port serial PCI boards require only one slot to
provide up to eight serial ports. These eight ports share a single interrupt,
and our boards provide an interrupt status register that will indicate which
of the eight ports triggered an interrupt.
PCI, UniversalPCI, and Voltage Requirements
The original PCI standard required that plug-in boards use 5V power provided by
the PCs motherboard. As the PCI standard evolved, the option was added for a
3.3V power source. Now, with the latest PCI 2.3 release the 3.3V power supply
is required and the 5V power supply is obsolete.
In order to make sure that a plug-in board receives the correct
voltage (as getting the wrong voltage would cause the PC to be badly
damaged) a different set of keys was designed for each voltage type.
The key is the arrangement of gold fingers at the bottom of the
board. Click to see a picture of PCI keying. When
a board is inserted into a PCI slot, those goldfingers fit into
the appropriate socket. Motherboards supplying 5.5V slots can only
accept PCI cards keyed for 5V. Motherboards supplying 3.3V slots
can only accept PCI cards keyed for 3.3V.
Both PC manufacturers and PCI board developers realize that users would optimally like a combination
of both options. So, some motherboards provide universal connectors that can
accept both 3.3V and 5V keyed PCI cards. Likewise, some PCI cards specifically
designed to function with either a 3.3V or 5V power supply use a special key
that will fit into either type of motherboard connector. These boards are called
UniversalPCI boards.
Note that as stated above, the newest PCI 2.3 release has made the 5V power supply obsolete. This
means that many of the newer computers can ONLY accept 3.3V PCI or UniversalPCI
I/O cards. Choosing a UniversalPCI board, such as Quatech's serial UPCI line,
provides added flexibility because it can be used in older and newer systems.
Low Profile PCI
Clearly, traditional PCI add-in boards are not practical for portable systems
or for systems that use small-size cases. Two new standards have
been incorporated into the PCI 2.3 specification that address these
issues: Low Profile PCI and Mini-PCI. Low Profile PCI was designed
to provide greater flexibility in desktop and server environments.
The card is mechanically similar to a standard PCI card, but uses
a shorter card and a different mounting bracket. (See Figure 3 below).
Figure 3: Relative sizes for PCI and Low Profile PCI boards

|
Low Profile PCI cards are designed to fit into systems as low as 3.350" with out using
riser cards. There are two types of Low Profile PCI boards: MD1 and MD2. Both
are built on 32-bit addressing, and differ only in length (MD1 being shorter
than MD2.) Systems can be designed to support one or both configurations. Existing
PCI backplanes used for standard cards can also accept the Low Profile cards.
However, the Low Profile specification also includes a new bracket design that
cannot be used with standard PCI boards.
Mini PCI, on the other hand, is not backward compatible with any older devices. It is designed
to be used by system integrators to add additional functionality for mobile
computers. It requires a completely new interface, and is typically used to
add communication peripherals such as modems and network interface cards to
notebook computers, docking stations, or sealed case PCs.
Mini PCI boards are even smaller than Low Profile boards, with a minimum size specification
of 2.75" x 1.81" x 0.22." They are functionally equivalent to
standard and Low Profile boards, using the same protocols, PC signals and software
drivers. However, because of the small size they require higher density, more
compact, and thus more expensive components. So, while Mini PCI is extremely
useful for the mobile applications for which it was intended, it is not the
most economical or flexible choice for desktop expansion.
PCI-X
The PCI-X specification is a high-performance enhancement to the conventional PCI bus specification.
The first release of PCI-X double the maximum clock frequency that can be used
by PCI devices from 66 MHz to 133Mhz, thus enabling communication at speeds
over 1 Gbyte/sec. It also improved the efficiency of the PCI bus itself and
the devices attached to it, by providing new features such as split transactions
and transaction byte counts. PCI-X was developed for applications such as Gigabit
Ethernet, Fiber Channel and other Enterprise server applications.
PCI-X 2.0, the current revision, increases speed and performance
even further. Maximum clock frequencies of 266 Mhz and 533 MHz are
now supported to permit lightning fast transfers of up to 4.3 Gigabytes
per second of bandwidth--that is 32 times faster than the original
conventional PCI 2.1 specification. PCI-X 2.0 also adds additional
features for systems reliability that will minimize errors at high
speeds and keep up with other advances in high-bandwidth architecture
such as RAID, Fiber Channel, InfiniBand{tm}, and iSCSI.
PCI for Data Communication
PCI is the de facto standard for board-level expansion slots in
PC-based systems. However, for serial
and parallel communication,
the potential of PCI goes largely untapped. Limitations of these
communication protocols considerably slow down the system. The PCI
specification anticipates this situation, and the bus is designed
to slow down when dealing with low speed devices. So, though running
serial and parallel devices via a PCI bus will not cause system
problems, neither will it significantly improve system performance
over ISA. But, as ISA slots are
now essentially obsolete, you typically have no choice but to use
PCI add-in boards in newer systems. For higher speed devices such
as audio, streaming video, interactive gaming, high-speed modems,
etc., PCI provides a clear advantage over older bus architectures.
In addition, PCs are becoming smaller and smaller in size, and many will not accommodate
a standard PCI board, to say nothing of a huge old ISA board. For these systems,
most notably Thin Clients and embedded systems, the Low Profile PCI form factor
provides robust functionality on a very small size board.
PCI competes with USB for high-bandwidth
applications. Both provide the advantage of Plug and Play installation,
which may be important to some users. Currently, only USB supports
hot swapping, but support for it is planned in a future PCI specification.
USB has been positioned as a low cost solution for a variety of
desktop applications. However, PCI still has a speed advantage even
over the newer USB 2.0 when using true 64-bit data transfers. In
fact, in many systems' USB ports are added to via the PCI Bus.
 |
 |
 |
PCI Specs
|
| Bus Clock Signal |
|
133 MHz |
|
| Bus Width |
|
64-bit |
|
| Theoretical Max. Transfer Rate |
|
1 Gbytes/sec (8 Gbits/sec) |
|
| Advantages |
|
very high speed, Plug & Play, dominant board-level bus |
|
| Disadvantages |
|
incompatible with older systems, can cost more |
|
Click here to see how PCI compares with other busses.
|