The difference between PCIe x1, x4, x8, x16 and x32
In our last blog post, we covered the difference between PCI and PCI-X. The response to the post was enthusiastic, and we were asked to write a complementary post explaining the difference between PCIe x1, x4, x8, x16 and x32. We are always happy to answer customers’ questions (feel free to contact us with your questions regarding industrial computers).
The short answer is:
- ‘PCIe x1’ connections have one data lane
- ‘PCIe x4’ connections have four data lanes
- ‘PCIe x8’ connections have eight data lanes
- ‘PCIe x16’ connections have sixteen data lanes
- ‘PCIe x32’ connections have thirty-two data lanes (currently, these are VERY rare)
The more data lanes in a connection, the more bandwidth between the card and the host. However, there is usually a cost increase incurred with higher lane counts.
PCIe is an updated version of the PCI protocol. Similar to PCI/PCI-X interfaces, PCIe was developed for peripheral component interconnection. PCIe differs from PCI/PCI-X in several ways, but this blog won’t cover most of those differences. However, one key difference will allow us to better understand the differences between the variations of the PCIe protocol (x1, x4, x8, x16 and x32). That key difference is ‘parallel’ versus ‘serial’ data transmission.
In PCI and PCI-X architecture, all of the cards share parallel data lines to and from the host. Differences between card-speeds and slot-types regularly result in throttled data speeds.
In the PCIe architecture, each card has it’s own dedicated serial data connections (lanes) to the host. This allows each card connection to achieve a bandwidth independent of other cards that may be active in the system. The number of lanes are indicated by the suffix of the PCIe protocol (×1, ×4, ×8, ×16, ×32). Each lane is capable of speeds from 250-1969 MB/s, depending on the version of the PCIe protocol (v1.x, v2.x, v3.0, v4.0).
PCIe cards can always operate in PCIe slots with the same or more lanes than the card. For example, an x8 card can operate in a slot with x8, x16, or x32 lanes. Similarly, an x1 card can operate in any PCIe slot.
Sometimes, a PCIe slot operates with fewer data lanes than the mechanical slot-type indicates. For example, sometimes a motherboard manufacturer will use an x16 mechanical slot even though the data connection is only x8. In these cases, the higher-bandwidth card still may work (for example, an x16 card in an x16 slot with only x8 connection), if the card doesn’t require that extra bandwidth. The following image shows the PCI connections of the motherboard used in DuroPC’s RAC355. Notice ‘SLOT 1/5’ are PCIe x16 slots but only have an x8 connection. Similarly, notice how ‘SLOT 7’ uses an x8 slot but only has an x4 connection. (Click the image to see a larger version.)