Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Will PCI Express 4.0 be the final version for consumers?

QuizzicalQuizzical Member LegendaryPosts: 25,483
Yes, I'm aware that there is a PCI Express 5.0 that is coming soon.  And there's even a PCI Express 6.0 in the works.  What I'm questioning is whether those newer versions will ever make it to general consumer use.

Look at the recent transition from PCI Express 3.0 to 4.0.  AMD launched an isolated GPU with PCI Express 4.0 in early 2019, then moved their whole CPU and GPU lineups other than the APUs to it in mid 2019.  Nvidia finally launched some GPUs with PCI Express 4.0 well over a year later.  Intel still doesn't support it, though they will early next year.

And in the consumer market, hardly anyone cares.  "But AMD has PCI-E 4.0" is a nice marketing bullet point, not something that really affects gaming performance.  Sure, it allows SSDs to go twice as fast in synthetic benchmarks, though real-world performance differences are hard to measure outside of rounding errors.  It allows double the rate of transfer between the CPU and GPU, but that doesn't seem to affect frame rates in real games.  The problem is that if PCI Express bandwidth isn't the bottleneck, then adding more doesn't benefit you.  And for consumer use, it generally isn't.

Video cards have long been the thing that needed the most PCI Express bandwidth in consumer systems.  But there are really two major ways that video cards need to use the PCI Express bus.  One is loading new assets, likely from your SSD.  The other is sending per-frame information about what to draw in that particular frame.  The former doesn't need more bandwidth, as if the video card has an x16 connection and the SSD an x4 connection, the video card end isn't going to be the bottleneck.  And the latter doesn't take very much bandwidth.  To the contrary, the move to Vulkan and DirectX 12 has made it more efficient so that games using the modern graphics APIs can do the same thing as before in far fewer calls than they used to need.

The other major component that benefits from PCI Express 4.0 is SSDs.  But if you can copy data from your SSD fast enough to completely fill system memory in three seconds, how much faster does the SSD need to be?  And that's assuming that the data is uncompressed.  If it's compressed, it might be 1 second of copying data and several times that long decompressing it.  And that's to completely fill system memory, which isn't something that you normally do all at once.  That ten second loading screen might involve a quarter of a second of loading data from one of the faster PCI Express 4.0 SSDs and spend the rest of the time processing it.  Loading data faster from the SSD doesn't make a difference because it wasn't the problem to begin with.

The transition from PCI Express 3.0 to 4.0 seems to have made largely because it was there so why not?  But with PCI Express 5.0, there's a good reason why not.  Using normal motherboard traces, a PCI Express 5.0 signal will only propagate a few inches.  It doesn't disappear after those few inches, mind you.  Rather, the signal degrades as it travels, and if you let it go more than a few inches before you read it, you can't tell what it is anymore.  If you get 10% of the bits wrong when you try to demodulate it on the other end, that just doesn't work.  There are error detection and correction techniques that can compensate for that, but it comes at the expense of slowing down your data transmission, thus defeating the point of moving to the newer version.

That doesn't mean that PCI Express 5.0 can't be made to work at all.  One approach is to have retimer chips every few inches so that you only have to send the signal a few inches at a time.  Rather than the CPU sending data to the GPU, the CPU sends data a few inches to a retimer chip that demodulates the data, figures out what all of the bits are, and then retransmits now clean bits the remaining few inches to the GPU.  That adds cost, though.  Another approach is to use different materials in the motherboard that will allow the signal to propagate further.  That also adds cost.

That doesn't mean that PCI Express 5.0 is going to be useless.  For GPU compute, it's going to be hugely important.  You don't need that much bandwidth connecting a CPU to a GPU for graphics, but for some GPU compute purposes, you sure do.  The same is true of some uses for other accelerators such as FPGAs.  Doubling the bandwidth connecting the CPU to the GPU will double your performance in some algorithms.  If you're building a $50000 server for GPU compute, adding $100 to make PCI Express 5.0 work is an easy call if it doubles your performance.  Adding $100 to the cost of a consumer motherboard is a non-starter, at least for something that won't offer any meaningful benefit to consumers.  (I don't know what the added cost would be, but my understanding is that it's substantial.)

This could end up similar to what happened with Ethernet.  Gigabit ethernet has been around for more than 20 years.  It's still the standard today for consumer use, even though 10 Gbps ethernet arrived several years later and today's standards have gone up as high as 400 Gbps.  The problem is that for consumer use, there isn't much benefit to faster than gigabit Ethernet, but it does increase the cost significantly.  So data centers and servers often have much faster connections, while consumers stayed with gigabit.  Something similar might happen with PCI Express.

Ultimately, I see several ways this could play out:
1)  Consumer hardware stays with PCI Express 4.0 while servers move on to PCI Express 5.0 and then 6.0, at least other than entry level servers.
2)  Offering PCI Express 5.0 becomes one of ways that HEDT CPU platforms and professional GPUs try to justify the added cost, while mainstream consumer hardware stays with PCI Express 4.0.
3)  Mainstream consumer CPU platforms offer only a single PCI Express 5.0 slot, and it's right next to the CPU so that the signal doesn't have to travel very far.  Motherboards already do that with memory and power phases because those benefit from being extremely close to the CPU.
4)  Someone finds a slick way to make PCI Express 5.0 not meaningfully add cost as compared to 4.0 and everyone uses it, and then everything moves to PCI Express 5.0.
Sign In or Register to comment.