Peripheral Component Interconnect (PCI) slots are such an integral part of a computer's architecture that most people take them for granted. For years, PCI has been a versatile, functional way to connect sound, video and network cards to a motherboard.
But PCI has some shortcomings. As processors, video cards, sound cards and networks have gotten faster and more powerful, PCI has stayed the same. It has a fixed width of 32 bits and can handle only 5 devices at a time. The newer, 64-bit PCI-X bus provides more bandwidth, but its greater width compounds some of PCI's other issues.
A new protocol called PCI Express (PCIe) eliminates a lot of these shortcomings, provides more bandwidth and is compatible with existing operating systems. In this article, we'll examine what makes PCIe different from PCI. We'll also look at how PCI Express makes a computer faster, can potentially add graphics performance, and can replace the AGP slot.High-Speed Serial Connection
In the early days of computing, a vast amount of data moved over serial connections. Computers separated data into packets and then moved the packets from one place to another one at a time. Serial connections were reliable but slow, so manufacturers began using parallel connections to send multiple pieces of data simultaneously.
It turns out that parallel connections have their own problems as speeds get higher and higher -- for example, wires can interfere with each other electromagnetically -- so now the pendulum is swinging back toward highly-optimized serial connections. Improvements to hardware and to the process of dividing, labeling and reassembling packets have led to much faster serial connections, such as USB 2.0 and FireWire.
PCI Express is a serial connection that operates more like a network than a bus. Instead of one bus that handles data from multiple sources, PCIe has a switch that controls several point-to-point serial connections. (See How LAN Switches Work for details.) These connections fan out from the switch, leading directly to the devices where the data needs to go. Every device has its own dedicated connection, so devices no longer share bandwidth like they do on a normal bus. We'll look at how this happens in the next section.