If you're a gaming enthusiast or someone who frequently deals with desktop computers, you're probably familiar with the term PCIe. It often appears on motherboards, graphics cards, and even hard drives.
It's safe to say that PCIe is one of the most important interfaces or channels in your computer. However, many people don't seem to know what it is exactly or what it can do. Some might think it's only for graphics cards, but in reality, its uses are quite extensive. Today, let's take a brief look at this mysterious "PCIe" and explore its capabilities beyond just graphics cards.
What is a PCIe Slot?
PCIe stands for Peripheral Component Interconnect Express. It's a high-speed bus in computers, akin to a highway providing data exchange for various devices and hardware. PCIe was initially proposed by Intel in 2001, although it wasn't called "PCIe" at the time; it was known as "3GIO" and intended to replace older buses like PCI, PCI-X, and AGP.
If that explanation still leaves you scratching your head, let's take a look at a motherboard. The circled areas in the image represent PCIe slots. What's the purpose of PCIe?
PCIe, or Peripheral Component Interconnect Express, is typically used to connect high-performance peripheral devices to your computer. The most common example is your graphics card (GPU), as modern gaming, scientific, engineering, and machine learning applications involve processing large amounts of data. PCIe acts as a bridge between the CPU and GPU, facilitating data interchange between them effectively. PCIe isn't just for graphics cards; many other peripherals can also utilize PCIe slots. We'll dive into that shortly. It's worth noting that PCIe isn't static; it undergoes upgrades and iterations. After all, its initial version dates back to 2001, and now it's 3202, so PCIe has undergone several iterations over time.
The Evolution of the PCIe Era
So far, there have been multiple generations of PCIe standards. The most advanced PCIe 6.0 specification was released on January 22, 2022, but it currently remains in the theoretical phase, with no applicable products or testing yet.
Despite PCIe's current prominence, its predecessor was ISA. Back in the days when computers lacked standardization and hardware interfaces and protocols were disparate, compatibility issues were rampant. To address this, the industry unified around a specification, which was the ISA interface, essentially the grandfather of PCIe. It first appeared in 1981 on IBM computers and briefly dominated the PC realm.
However, its glory was short-lived. As a first-generation data bus, with a mere 8MB/s transfer rate, ISA quickly became outdated. Compared to today, even a USB flash drive outpaces it. Hence, ISA's transfer rate couldn't meet the demands of other hardware, and it also suffered from high CPU utilization issues. Consequently, people started seeking ISA's successor.
Then came PCI, which offered a significant bandwidth improvement over ISA. Under a 32-bit width, it could achieve 128MB/s, doubling to 256MB/s if upgraded to a 64-bit data width.
PCI also introduced plug-and-play functionality, similar to plugging a graphics card into a motherboard today, where the system automatically finds the appropriate drivers. In the ISA era, configuring any device on an ISA interface required manual effort, which was quite cumbersome. However, the PCI bus wasn't without its drawbacks; it utilized a shared bus design, making it susceptible to bandwidth contention among multiple devices, and it didn't support hot-swapping.
Today's protagonist, PCIe, evolved from PCI. The "e" in PCIe stands for Express, indicating it's an upgraded version of PCI. The main differences lie in the bus type, color, specifications, and transfer rates.
Currently, PCIe specifications have developed into six major versions, each iteration bringing almost double the bandwidth compared to the previous version. The first official PCIe specification, PCIe 1.0, was introduced in 2003, with a signal rate of 2.5GT/s, utilizing 8b/10b encoding. It provided a single-channel unidirectional bandwidth of 250MB/s and a 16-channel bidirectional bandwidth of 8GB/s. Although subsequent versions like PCIe 1.0a and PCIe 1.1 made several improvements, the bandwidth remained unchanged. The PCIe 2.0 specification was officially released in 2007. Its most significant change compared to the PCIe 1.0 specification was the doubling of the signal rate to 5GT/s, effectively doubling the bandwidth as well. This means that the single-channel one-way bandwidth is 500MB/s, and the 16-channel two-way bandwidth is 16GB/s.
Additionally, the PCIe 2.0 specification doubled the power supply capability for corresponding slots to a maximum of 150W. However, due to compatibility concerns and various factors such as motherboard power pressure, both motherboard manufacturers, graphics card manufacturers, and other PCIe device manufacturers adhere to the power supply requirements of the PCIe 1.0 specification, which is 75W. Any device requiring more than 75W must be equipped with an external power supply. This industry rule has been followed to this day.
Although PCIe 3.0 was standardized in 2010, many devices still use it today. Compared to the PCIe 2.0 specification, PCIe 3.0 not only increases the signal rate to 8GT/s but also changes the encoding to a more efficient 128b/130b mode. As a result, the single-channel one-way bandwidth still achieves a close to doubling increase, reaching a level of 985MB/s, and the 16-channel two-way bandwidth reaches as high as 32GB/s.
PCIe 4.0 can be considered the current mainstream standard. It once again doubles the signal rate, with the 16-channel two-way bandwidth reaching 64GB/s. PCIe 4.0 will allow faster transfer of data loaded in GPU memory and reduce latency on the PCIe bus. With the constantly increasing file sizes and graphics complexity in video games, as well as the continued need for larger datasets in machine learning applications, PCIe 4.0 will play an important role in improving frame rates and reducing computation time.
PCIe 5.0 was proposed as early as 2019, but it wasn't until last year with the launch of AMD's X670, B650, and other motherboards that it was truly applied in hardware. Now, with PCIe 5.0 solid-state drives gradually appearing, gamers can finally experience the performance of PCIe 5.0. One of the most important features of PCIe 5.0 - and one that everyone cares about - is speed. PCIe 5.0 has twice the speed of PCIe 4.0, with one-way bandwidth reaching approximately 64GB/s and two-way bandwidth reaching 128GB/s. It's worth mentioning that in data transmission, PCIe 5.0 also utilizes NRZ 128b/130b encoding technology introduced since the 3.0 standard era. It no longer uses the 8bit/10bit small packet verification method, instead opting for a new algorithm with 128bit/130bit large packet verification method, as well as new hardware scrambling and decoding modules, reducing the verification bandwidth overhead from the previous 20% to 1.54%.
Even after deducting bandwidth losses, PCIe 5.0 X16 and PCIe 5.0 X4 interfaces can still provide transmission bandwidths of 63.0 GB/s and 15.75 GB/s respectively.
PCIe 6.0, introduced in 2022, is a fresh standard. It doubles the transmission speed of PCIe 5.0, with unidirectional bandwidth reaching approximately 128GB/s and bidirectional bandwidth reaching 256GB/s. Faced with a significant increase in data transfer volume, PCIe 6.0 enhances transmission bandwidth and energy efficiency compared to PCIe 5.0, while also featuring low latency and reduced bandwidth consumption capabilities.
As for the PCIe 7.0 specification, PCI-SIG finalized the PCIe Gen7 (PCIe 7.0) v0.3 draft version in June this year. At that time, its data transfer rate will double again, reaching unidirectional bandwidth of approximately 256GB/s and bidirectional bandwidth of 512GB/s.
However, to be frank, home PCs are unlikely to require such speeds for many years, and the widespread adoption of PCIe 7.0 may take even longer, considering that PCIe 5.0 is not yet prevalent. PCIe slots come in different lengths to accommodate varying bandwidth requirements. The bus bandwidth of PCIe is divided by length, such as PCIe x1, PCIe x2, PCIe x4, PCIe x8, and PCIe x16. While it's possible to plug any length of PCIe device into a PCIe x1 or PCIe x16 slot, it poses an issue: devices with lower bandwidth requirements will waste the extensive bandwidth of PCIe x16 slots, while devices with higher bandwidth requirements won't be adequately served in PCIe x1 slots. Sure, some gamers might say, "There's no PCIe X1 slot on my motherboard." Well, that's pretty normal. On some MATX, ITX, or even flagship motherboards, due to space constraints, PCIe X1 slots might not fit. So, if you want to use a PCIe X1 peripheral and there's no PCIe X1 slot available, you can still install smaller expansion cards into larger slots. It'll still work just fine. In general, the differentiation of PCIe by length is to ensure that various devices can operate at the appropriate bandwidth, and slots of different lengths can support different bandwidths. Also, the bandwidth capabilities vary among slots of the same length but different versions of PCIe. Here's a rundown of the bandwidth differences across various PCIe versions and different slots. From the diagram, you can see that PCIe X1 is the slowest, PCIe X2 is twice as fast as X1, X4 is twice as fast as X2, and so on, with X16 being twice as fast as X8. Each iteration of PCIe also increases speed based on the previous generation, with almost every generation doubling the speed of the previous one. Moreover, PCIe is backward compatible, so PCIe 1.0 devices can be used in 2.0 slots, and 2.0 devices can be used in 1.0 slots, although they won't achieve maximum performance.
Apart from installing graphics cards, what else can be plugged in?
As mentioned earlier, PCIe slots come in different lengths, with graphics cards often plugged into PCIe X16 slots. So besides graphics cards, what else can be plugged in? PCIe X16 slots are also used for RAID array cards because of their direct connection to the CPU and their closer physical proximity to the CPU, resulting in lower latency and better performance when exchanging data with the CPU.
PCIe X8 slots on motherboards are often physically identical to PCIe X16 slots, but only half of the data pins are active, meaning the actual bandwidth is only half that of a true PCIe x16 slot.
These are mainly used for M.2 NVMe expansion cards. Previously, motherboards didn't have as many M.2 interfaces as they do now, and SSD prices weren't as low as they are today. People used to be more frugal when buying hard drives, often opting for 500GB or even just 1TB, which was considered a luxury back then.
Therefore, if you want to install more M.2 SSDs on an older motherboard, you need to use these expansion cards. As long as the protocol version and the number of channels match the SSD, the theoretical speed is no different from the onboard M.2 slot.
Similar to PCIe X8 slots, PCIe X4 slots are often designed to look like PCIe X16 slots for compatibility reasons, or they are expanded into M.2 interfaces for installing M.2 SSDs, M.2 wireless network cards, or other M.2 interface devices. The PCIe x1 slot, the smallest but most versatile one, allows you to connect a wide range of expansion cards and adapters. You can find almost any interface you want to expand and connect online! For example, installing USB 2.0/3.0 expansion cards, adding gigabit/2.5Gbps high-speed network cards, upgrading to high-performance sound cards, adding more SATA ports, or installing Wi-Fi adapters, and so on. PCIe, apart from being in slot form, can also exist in the form of channels. The most common interface we use is the M.2 solid-state drive interface. On the surface, it appears to be connecting our SSD via M.2, but it actually operates as a PCIe channel.
In simple terms, the M.2 interface is essentially a PCIe interface with a different form factor. If you look at it closely, doesn't it resemble a shrunken PCIe interface? That's why we often hear about PCIe 4.0 SSDs and PCIe 5.0 SSDs.
In conclusion, while PCIe 3.0 and PCIe 4.0 are still mainstream, we're seeing PCIe 5.0 being adopted in some data centers, as well as in new GPUs, CPUs, and SSDs. In the future, the emergence of PCIe 6.0 and even PCIe 7.0 will inevitably unleash even more powerful hardware performance.
However, based on the current situation, PCIe 5.0 seems more like a product for the future. Even though we've mentioned SSDs and graphics cards supporting PCIe 5.0, PCIe 3.0 won't bottleneck the performance of current GPUs.
The introduction of PCIe 5.0 seems more like laying the groundwork for future hardware and adapting current hardware to the rapidly growing field of AI and GC. After all, the size of AI computing models nowadays is unimaginably large.