Article, Seprember 2007
What is PCI Express?
By Brian K. Lewis, PhD,
Regular Columnist, The Sarasota PC Monitor, Sarasota PCUG, Florida
http://www.spcug.org bwsail at yahoo dot com (click to email author)
Obtained from APCUG with the author's permission for publication by APCUG member groups.
Let's start this off with an explanation of PCI (Peripheral Component Interconnect). These are the slots in the motherboard of your computer used for connecting peripheral devices directly to computer bus. Now you're asking what is the computer bus? Essentially, the bus is the electrical means for a peripheral device to connect to the computers chipset. The chipset is the interconnection between the peripherals, the main processor and system memory. (Got all that?)
The original PCI bus released in 1992 had a maximum communication rate of 33 MHz. This allows data transmission at a maximum rate of 133 megabytes per second (MB/sec.). The bus is used by such things as the sound system, video card, network adapters, parallel and serial ports.
In the PCI system all data are transmitted in parallel. In parallel transmission many “wires” or connections are required for each PCI slot or integrated device. For example, if you have a 32 bit data transmission path from the PCI slot to the chipset, this requires 32 connecting wires just for data. Additional wires are required for control signals. With six PCI slots you can have more than 1,000 wires required for the connections. Each wire should be exactly the same length so that all the data arrive simultaneously. However, in a computer it is impossible for each wire to be exactly the same length. So as the speed of devices increased, data started arriving out of order. Therefore, the receiver had to delay until all the data were available before it could be processed. Another aspect of PCI is that all the devices share the bus at the same time so the actual data rate per device will be significantly less than the maximum rate. It's like having a speed limit of 65 miles per hour on a multi-lane highway. When all the traffic lanes are full, everything slows down. Think Chicago or Atlanta in rush hour!
Shortly after PCI was introduced, the arrival of 3-D video cards made PCI obsolete for graphics purposes. That resulted in the development of the AGP slot in the motherboard for AGP video cards. AGP uses a separate bus and this freed up bandwidth on the PCI bus for other peripherals. The AGP-8X system can transmit data at the rate of 2.134 gigabytes per second (GB/sec.). In spite of the removal of the data intensive video card transmissions, the number of high-speed peripherals being added to computers quickly saturated the PCI bus and it remained a data transport bottleneck. Additional problems arise as communication can only be made in one direction at a time. Today, many communications networks utilize bidirectional traffic.
In 2004 the PCI Express (PCIe) bus started showing up on computer motherboards. This is quite different from the original PCI bus and in the strictest definition is not a true bus. It is described as a high performance, scalable, point to point serial bus. Now, that statement requires some further explanation as I'm sure it is not immediately clear to all of you. It certainly wasn't to me the first time I read it.
First, consider the “serial” relationship. In a serial device the data is transmitted in a single stream rather than in several parallel streams. This is like reducing a multi-lane highway to one lane in each direction. That should slow things down instead of speeding it up! But in PCIe the clue is that you now have a point to point relationship. That means the device is connected directly to the chipset and does not have to share bandwidth with other devices. It is like having a high speed commuter corridor that bypasses all the slow traffic on the rest of the multi-lane highway. You may have multiple PCIe connections to the chipset. To prevent problems the connections occur through a system similar to a router. This router passes the data packets from each device in an ordered manner with a minimum of delay and contributes to the speed and accuracy of the transmission. Because this is a point to point connection with each device having its own pathway, this is not a bus under the strict definition of a computer bus. It is also important to note that PCIe transmission occurs in data packets.
The connections are in dual pairs so there is a possibility of a simultaneous bidirectional transmission. One pair is used for transmission and the other for receiving. As mentioned above, data is transmitted in packets, rather than in a continuous stream. Each packet contains an identifier so the data can be reassembled at the receiving end. This allows the receiver to work with multiple inputs. The data is encoded in what is called 8b/10b. This means that eight data bits are packaged with two information bits in a ten-bit package. (See how much simpler it is to call this 8b/10b?) Also consider that this is the method used for data and voice transmission on the Internet. Hard drives have moved to an SATA interface that is a serial connection instead of the parallel IDE connection. Gigabit ethernet cards are also designed with a serial connection. More devices are moving to serial connectivity to gain additional speed and reliability.
The scalable part of the PCIe bus is in its ability to work with more than one pair of connections. These are called x1 (or times 1), x4, x8 or x16. The x1 version (two data pairs) can transmit the encoded data at a bidirectional rate of 500 MB/s or 250 MB/s in each direction. The x16 version (32 data pairs) can transmit at a rate of 8 GB/s. This is the combined bidirectional rate. The rate in one direction is half this figure. There is a second version of PCIe in the works, PCIe 2.0. This is expected to double the current transmission speeds and provide other benefits.
PCIe slots in the motherboard come in various sizes depending on the number of lanes they use for connection. These vary from the smallest connector for the x1 version to the largest for x16. It is the 16x version that is currently found on new motherboards which supports the latest graphics (video) cards. Unlike the AGP slots, the x16 slot can be used for peripherals other than the video card.
Another interesting aspect of PCIe is one means by which it achieves its high data rates. It is called “low-voltage differential signaling”. Another phrase that I had better explain a little more. As I mentioned earlier, connections occur in a pair of “lanes” in each direction. One of the lanes carries a “positive” image of the data and the other carries a “negative” or “inverted” image. The transmission of the data follows strict rules such that any noise that occurs will affect both lines. When the data is reassembled at the destination, the receiver collects both signals, inverts the negative back to positive and sums both signals. This effectively removes the noise from the signal.
PCIe is also backward compatible with PCI devices and software that uses PCI devices. The configuration space and programmability of PCI Express devices are unchanged from traditional PCI. In fact, all operating systems can boot without modification on a PCI Express architecture. Programs originally written for PCI devices can run unchanged on PCI Express devices because the PCIe layer is transparent to the application software. This provides benefits to users who don't have to upgrade software applications to work with newer hardware.
PCIe has another characteristic that greatly improves on PCI. It has an active power management (APM) system. When a PCIe link is not in use it does require that the link remain active so that the transmitter and receiver remain synchronized. It is the role of the APM to reduce the power level whenever the link is inactive. The catch is that when data needs to be transmitted there is a recovery time to allow full activation of the transmitter/receiver. The longer the recovery time, the lower the power usage. Overall, the systems are designed for the lowest power usage with the shortest recovery time. There is a gradual transition from the motherboard with combined PCIe/PCI slots to those that will have only PCIe slots as more PCIe plug-in cards become available. This will also affect the size of the motherboard and the ultimate size of the computer. The specification for the PCIe mini-card allows for a card half the size of a standard PCI mini-card. Most of these mini-cards may be destined for laptop computers. However, some desktop designs that take advantage of all PCIe input are far smaller than the standard desktop computer. Some of the new small box computers utilize these smaller motherboards.
So when you get your next computer you should now have a better understanding of the role of the PCIe slots it contains.
Dr. Lewis is a former university & medical school professor. He has been working with personal computers for more than thirty years.
This article has been provided to APCUG by the author solely for publication by APCUG member groups. All other uses require the permission of the author (see e-mail address above).Click here to return to top