PCI Express (PCIe, PCI-e) is one of the most common data transfer protocols. It is used in modern computer technology to ensure the interaction of its various functional blocks with each other.
For self-assembly or upgrading a computer, you need to understand what PCI Express is, what its versions exist, how they differ, and what capabilities they provide.
The fact that AMD recently began to use a new version of PCI Express (PCIe 4.0) in its latest processors and video cards, positioning it as an important advantage over competing devices, makes the issue more urgent. Is it really so?
What is PCI Express?
PCI Express ( Peripheral Component Interconnect Express, abbreviated as PCIe or PCI-e ) is a computer bus that uses a high-performance serial data transfer protocol.
To most of the uninitiated, this definition will certainly seem vague. To make it clearer, let’s analyze it in more detail.
A computer bus is a connection used to transfer data between functional blocks of a computer.
Protocol – in this case means “scheme”, “algorithm”, “order”.
Serial data transfer is a more complex concept, it will have to be paid more attention.
All data inside the computer is circulated, processed and stored in the form of a binary code, the smallest particles of which are bits.
Data transfer between functional blocks of a computer can be carried out either in parallel or in a sequential way.
Parallel data transfer
The parallel method involves the use of a physical connection with a significant number of conductors. Data transmission is carried out in “chunks”, in which the number of bits corresponds to the number of wires in the connection. Before transmission, each such portion “unfolds in space”, as it were, dividing into bits, each of which passes to the receiving device along a separate conductor. Thus, every unit of time, each bit of the binary code is transmitted along a separate wire of this connection, simultaneously (in parallel) with other bits transmitted along the rest of its wires. Therefore, the circuit is called parallel.
For example, the computer PATA bus (IDE), which was not so long ago the main way of connecting hard drives in home computers, consists of 40 conductors (in the image below). Of these, only 16 are used directly for parallel data transmission. For each transmission (clock cycle), 16 bits of information pass along such a bus. The bus frequency is 33 MHz, that is, 33 million transmissions occur every second. Thus, the maximum throughput of such a connection is 528 million bits per second (16 x 33 million), or, if translated into megabytes, 66 Megabytes / s.
Despite its simplicity, parallel data transmission has outlived its usefulness and is almost never used in computer technology. Its main disadvantages:
- high costs of creating channels (many conductors are needed);
- high interference susceptibility due to the mutual influence of the transmitted signals on each other (especially over long distances);
- the need to ensure synchronous data flow simultaneously on all wires of the connection, which makes it too difficult to achieve a high signal sending frequency (bus frequency).
Serial data transmission
The influence of the above negative factors is much less susceptible to serial data transmission schemes. They are very common today. All USB devices, modern hard drives, SSDs, video cards, network cards, etc. communicate with other equipment using serial data transmission. The way of its implementation in each of these types of devices is, of course, different, but the principle is the same everywhere.
A serial circuit does not need many conductors. Data transmission is carried out through one communication channel, one bit for each transmission, sequentially, one by one (something like Morse code).
At first glance, such a scheme seems less efficient than in the case of parallel transmission. But this is far from the case. High speed is achieved here due to the huge data transfer rate (several billions per second). And for devices requiring particularly high data exchange rates, several such channels (lines) are used simultaneously. For example, modern gaming video cards are connected to the computer via 16 PCIe (PCIe x16) lanes.
Features of PCI Express standard, its version
The development of the PCI Express standard was started by Intel. The specifications of its first version appeared back in 2002. Now PCI Express is being developed by the PCI Special Interest Group, whose board of directors includes representatives of the main developers of hardware and software (Intel, Microsoft, IBM, AMD, Sun Microsystems, HP, NVIDIA and others). PCIe has gone through several stages in its development and has already evolved to version 5.0.
PCIe is a full-duplex protocol, that is, it provides for the use of channels for receiving and transmitting data that are independent of each other (the device can simultaneously send and receive data).
The data is encoded into blocks before being sent. This is necessary to synchronize the transmitting and receiving devices, as well as to reduce the influence of interference.
PCIe 1.0 and PCIe 2.0 use the 8b / 10b encoding scheme . That is, each 8-bit block is encoded into a 10-bit block, in which only 80% of the transmitted data is useful. The remaining 20% is needed to ensure that the protocol works properly.
In PCIe 3.0 and its newer versions, data is encoded using a more efficient 128b / 130b scheme (every 128 bits are encoded into a 130-bit block). The share of useful content in the transmitted data is already about 98.46%.
Different PCIe versions differ not only in the way bits are “packed” into blocks, but also in the frequency of data transfer. In PCIe 1.0, it is 2.5 GT / s (gigatransactions per second), that is, 2.5 billion bits are transferred per second. For a better perception, let’s translate this into the usual units:
2.5 * 10 9 Bits / s = 312.5 Megabytes / s.
Considering that only 80% of this is useful data, the actual bandwidth of PCIe 1.0 is 250 MB / s.
In PCIe 5.0, the data transfer rate has increased up to 32 GT / s. Let’s translate this into a convenient form:
32 * 10 9 Bits / s = 4000 Megabytes / s = 4 Gigabytes / s.
Since the payload is 98.46%, the actual PCIe 5.0 bandwidth is 3.938 GB / s.
For more details on the features of different PCIe versions, see the table:
|PCI Express version||Released||Coding scheme||Transmission speed||Throughput on x lines:|
|PCIe 1.0||2002||8b / 10b||2.5 GT / s||250 Mbps||1 GB/s||2 GB/s||4 GB/s|
|PCIe 2.0||2007||8b / 10b||5 GT / s||500 Mbps||2 GB/s||4 GB/s||8 GB/s|
|PCIe 3.0||2010||128b / 130b||8 GT / s||984.6 Mbps||3.94 GB/s||7.88 GB / s||15.8 GB/s|
|PCIe 4.0||2017||128b / 130b||16 GT / s||1.969 GB / s||7.88 GB/s||15.8 GB / s||31.5 GB/s|
|PCIe 5.0||2019||128b / 130b||32 GT / s||3.938 GB / s||15.75 GB/s||31.5 GB/s||63 GB/s|
use of PCI Express in computer. PCI Express slots
Not so long ago, the controller (control device) of PCIe lines was built only into the chipset (main microcircuit) of the motherboard. But, starting in 2009, the PCIe controller has been added by manufacturers directly to the CPU as well. This reduces latency and allows the processor to communicate more efficiently with other devices.
Versions and the number of PCIe lanes in different models of processors and chipsets are different. Most of them are formed into connectors located on the motherboard. They allow you to connect a variety of devices to your computer (video cards, sound cards, network cards, Wi-Fi adapters, etc.).
On the motherboard of a modern computer, you can find PCIe connectors of several types, differing in the number of PCIe lines used in them (from x1 to x16 lines). Regardless of how old the computer is and what version of PCIe it uses, these connectors always look the same:
Different PCIe versions are fully compatible. That is, if you install, for example, a video card with PCIe 4.0 in an old computer that uses PCIe 2.0, it will work fine. However, the real data exchange rate will be limited by the PCIe 2.0 capabilities.
Conversely, the newest PCIe 4.0 computer can easily install an older PCIe 2.0 graphics card.
Another feature of PCIe is the compatibility of its various connectors. The PCIe x16 slot can connect not only a video card, but absolutely any other PCIe device, including those with a PCIe x8, PCIe x4 or PCIe x1 slot.
Connector compatibility is also maintained in the opposite direction. That is, you can install a video card with a PCIe x16 slot in a PCIe x1 slot. Physically, it will not fit there, but if you cut the back wall of the connector (as in the image below), then everything will work out.
This, of course, is “handicraft” and it is not necessary to do this unless absolutely necessary. Moreover, with such a connection, the video card will operate in PCIe x1 mode, which will have a very negative effect on its performance.
In laptops, to install additional devices, instead of the above-mentioned connectors, a more compact option is used – Mini PCIe. PCIe lines are also used to create some other connectors, in particular, M.2 connectors (used to connect modern storage devices, as well as some other types of devices).
Do I need to upgrade my computer for PCIe 4.0
As mentioned above, the latest officially released PCIe version is version 5.0 (official specifications have been published, but in practice, it is not used). The most recent version in use at the end of 2019 is PCIe 4.0, and, apparently, will remain so for a long time. It was released in 2017, but only recently introduced into specific devices, in 2019. AMD began to use it in Ryzen processors of the Zen 2 architecture, as well as in the Radeon RX 5700/5500 series video cards.
Undoubtedly, this is a significant achievement for AMD, however, it is still only a groundwork for the future and does not provide any practical advantages over competitors. Intel is in no rush to implement PCIe 4.0 in its processors. Nvidia is in no hurry to do this either, whose video cards are still content with PCIe 3.0.
The thing is that at the present stage of the development of computer technology, PCIe 3.0 capabilities are quite enough. The superiority of PCIe 4.0 can only be seen in synthetic benchmarks. In practical scenarios, there is no need for such high data exchange rates yet.
PCIe 4.0 graphics cards work fine in PCIe 3.0 systems as well. Moreover, even in PCIe 2.0 computers, they perform almost as well in games and other applications as in PCIe 4.0 computers.
But, apparently, it will not last long. The direction where PCIe 4.0 will become really in demand in the near future is modern M.2 SSD-drives, the performance of which has almost “hit the ceiling” of the PCIe 3.0 standard. Then it will come to video cards and other equipment.
So it’s not advisable to upgrade your old computer just for PCIe 4.0. However, when buying a new computer that is planned to be used for a rather long time, it is definitely necessary to take into account the PCIe version supported by its internal devices.