Peripheral Component Interconnect Express (PCIe, PCI-E)
What is Peripheral Component Interconnect Express (PCIe or PCI-E)?
Peripheral Component Interconnect Express (PCIe or PCI-E) is a serial expansion bus standard for connecting a computer to one or more peripheral devices.
PCIe provides lower latency and higher data transfer rates than parallel buses, such as PCI and PCI eXtended. Every device that's connected to a motherboard with a PCIe link has its own dedicated point-to-point connection. This means that expansion card devices aren't competing for bandwidth because they aren't sharing the same bus.
How does PCIe work?
Essentially, PCIe is a data transfer bus. The purpose of any bus is to offer a standardized physical structure -- the slot and electrical contacts -- and the underlying protocols that enable the exchange of data between computer devices.
A bus doesn't perform any data processing or make decisions about the data being exchanged. A bus is a common feature of most computer motherboards, enabling additional devices to be installed, as desired, into the physical computer. PCIe is only one of numerous bus types. Another common bus is the memory bus, which enables memory modules, such as dual in-line memory modules, or DIMMs, to be installed on the motherboard.
With PCIe, data is transferred over two signal pairs: two wires for transmitting and two wires for receiving. Each set of signal pairs is called a lane, and each lane is able to send and receive eight-bit data packets simultaneously between two points.
PCIe can scale from one to 32 separate lanes; it's usually deployed with 1, 4, 8, 12, 16 or 32 lanes. The lane count of a PCIe card is a determining factor in its performance and its price. For example, an inexpensive PCIe device, such as a network interface card (NIC), might only use four lanes, or PCIe x4. By comparison, a high-performance graphics adapter uses 32 lanes, or PCIe x32, for top-speed transmission and is more expensive.
Compatibility is an important feature of PCIe. PCIe bus slots are typically backward-compatible with other types of PCIe slots, enabling PCIe links that use fewer lanes to use the same interface as PCIe links that use more lanes. For example, a PCIe x8 card could plug into a PCIe x16 slot. However, PCIe bus slots are not backward-compatible with connection interfaces for older bus standards.
The design and implementation of PCIe uses a layered approach that's similar to the conceptual approach to networking and network communication, such as the Open Systems Interconnection model. PCIe embraces three major layers:
- The physical layer specifies the electrical and logical design. It represents the size and shape of the PCIe cards, slots, pin configuration and the use of differential signal pairs.
- The data link layer specifies the ways in which data is packaged, sequenced and moved. It handles the initialization, data movement and signaling between the PCIe device and the host interface.
- The transaction layer is the highest and most abstract layer of a PCIe standard that defines the content -- how data is structured and what's contained within each package of PCIe data as they move between points.
What is PCIe used for?
PCIe is a versatile and efficient peripheral expansion bus mechanism. It lets computer users customize a computer system to meet specific needs or preferences that exceed the capabilities of an existing motherboard. This customization is accomplished by installing a new and often better device into an expansion slot and installing the corresponding device drivers through the operating system.
Once installed, the expansion device can provide new or improved graphics, networking, storage and other services to the computer. Similarly, an installed expansion device can be replaced later with an even newer or better device, letting a computer user extend the useful life of a computer system through important expansion upgrades.
With PCIe, data center managers can take advantage of high-speed networking across server backplanes and connect to Gigabit Ethernet, non-volatile memory express solid-state storage, redundant array of independent disks (RAID) and InfiniBand networking technologies outside of the server rack. The PCIe bus can also interconnect clustered computers that use HyperTransport technology. High-end graphics processing units (GPUs) have long been popular for gaming but are now broadly adopted in enterprise IT for complex data processing in machine learning and artificial intelligence (AI) applications.
For laptops and mobile devices, Mini PCIe cards are used to connect wireless adapters, solid-state drive (SSD) storage and other performance boosters. External PCIe (ePCIe) is used to connect the motherboard to an external PCIe interface. In most cases, designers use ePCIe when the computer requires an unusually high number of PCIe ports.
What can be plugged into a PCIe slot?
Peripheral devices that use PCIe for data transfer include graphics adapter cards, NICs, storage accelerator devices and other high-performance peripherals. PCIe devices fall into a variety of common categories, including the following:
- Sound processing. Interest in sound cards has dwindled because modern sound chips used on most motherboards provide excellent audio fidelity. However, users with computers employed for audio processing and professional quality sound engineering might add a high-quality sound adapter card.
- Graphics processing. Graphics and rendering require notoriously high data bandwidth to deal with enormous volumes of real-time data. This makes graphics cards particularly well suited as PCIe devices. Some central processing units provide integrated graphics capability, but a separate dedicated GPU card can deliver a far superior visualization experience. In addition, the math processing capabilities of GPUs are worthy additions for computers running machine learning and AI workloads.
- Video processing. Modern graphics cards can handle many video streaming and processing tasks. However, dedicated video cards are available for professional video tasks, such as broadcast television and closed-circuit television reception for purposes such as video surveillance. They can also be used for professional-level video production tasks, such as video recording and video postproduction work.
- Networking. Motherboards typically provide at least one network interface and port. But modern servers can host numerous virtualized workloads, each of which can require significant network bandwidth. To avoid congesting a single network port, a server can be fitted with a multiport NIC that can offer two, four and even more network ports. Those physical ports can be virtualized and provisioned to different workloads on the server. Similarly, systems intended to access specialized storage area networks can be fitted with Fibre Channel network adapters. Desktop computers can fit a wireless NIC into a PCIe slot.
- Storage. Motherboards provide storage controllers by default, and most end-user computers are well served by those stock storage adapters. Computer systems, such as storage servers, which require more storage, might include a PCIe storage controller card to operate additional SSDs or traditional hard disk drives. Storage adapters used in enterprise IT include features such as battery-backed storage cache and support resilient storage capabilities, such as RAID. These features aren't always present in default motherboard storage subsystems.
What is the difference between PCI and PCIe?
Peripheral Component Interconnect is an older bus interface standard that predates PCIe. The fundamental purposes of PCI and PCIe are identical -- both bus interfaces are intended to provide a standardized means of adding new or better devices to a computer system.
PCI is a parallel interface that's available in 32-bit and 64-bit variations. This means there are 32 or 64 bits of data being transferred on every transaction. PCI operates at fixed transfer speeds, where the 32-bit PCI speed transfers data at 133 megabytes per second, while the 64-bit PCI bus operates at 266 MBps.
PCIe isn't necessarily an evolution of the technology. Instead, it's a complete re-imagining of the way to interface expansion devices within a computer. PCIe is a serial interface that operates in terms of differential signal pairs or lanes and provides 1, 2, 4, 8 or 16 lanes. While this represents fewer pins for transferring data, PCIe transfers can take place at far higher speeds compared to PCI.
The earliest iterations of single lane (x1) PCIe buses could transfer data up to 250 MBps. That was already faster than an older 64-bit PCI bus. The latest planned iteration of an x1 PCIe bus supports data transfers over 15 gigabytes per second (GBps). The latest planned iteration of a 16 lane (x16) PCIe bus is expected to support up to an astonishing 242 GBps.
Considering the vast speed improvements that PCIe delivers, the PCIe standard has rendered the older PCI standard long obsolete. Computer motherboards haven't included PCI slots since the mid-2000s in favor of PCIe.
What are the different versions of PCIe?
The PCIe standard first appeared in 2003 and continues to evolve today. The PCI Special Interest Group, also known as PCI-SIG, defines, develops and maintains PCIe standards and its functionality. PCIe standards are represented in terms of version designations that range from version 1.0 to 7.0. Version 7.0 is still in development and slated for a 2025 release. This table compares the transfer rates for each PCIe standard and the overall timeline of development.
It's likely there will be further enhancements and improvements to the PCIe standard beyond the ratification and release of PCIe 7.0. However, the speeds and performance currently available within the PCIe standard suit an enormous variety of expansion devices. Next-generation advancements will depend on the demands of expansion devices and the corresponding host computing power needed to support even faster interfaces.
PCIe bus slots are key components of computers and servers. Learn more about the physical components of a server.