Opinion: Why Counting ‘Platform’ PCIe Lanes (and using it in Marketing) Is Absurd

It’s at this point that I’d like to take a detour and discuss something I’m not particularly happy with: counting PCIe lanes.

The number of PCIe lanes on a processor, for as long as I can remember, has always been about which lanes come directly from the PCIe root, offering full bandwidth and with the lowest possible latency. In modern systems this is the processor itself, or in earlier, less integrated systems, the Northbridge. By this metric, a standard Intel mainstream processor has 16 lanes, an AMD Ryzen has 16 or 20, an Intel HEDT processor has 28 or 44 depending on the model, and an AMD Ryzen Threadripper has 60.

In Intel’s documentation, it explicitly lists what is available from the processor via the PCIe root complexes: here 44 lanes come from two lots of sixteen and one twelve lane complex. The DMI3 link to the chipset is in all but name a PCIe 3.0 x4 link, but is not included in this total.

The number of PCIe lanes on a chipset is a little different. Chipsets are for all practical purposes PCIe switches: using a limited bandwidth uplink, it is designed to carry traffic from low bandwidth controllers, such as SATA, Ethernet, and USB. AMD is limited in this regard, due to spending more time re-entering the pure CPU performance race over the last few years and outsource their designs to ASMedia. Intel has been increasing its PCIe 3.0 lane support on its chipsets for at least three generations, now supporting up to 24 PCIe 3.0 lanes. There are some caveats on what lanes can support which controllers, but in general we consider this 24.

Due to the shared uplink, PCIe lanes coming from the chipset (on both the AMD and Intel side) can be bottlenecked very easily, as well as being limited to PCIe 3.0 x4. The chipset introduces additional latency compared to having a controller directly attached to the processor, which is why we rarely see important hardware (GPUs, RAID controllers, FPGAs) connected to them.

The combination of the two lends itself to a variety of platform functionality and configurations. For example, for AMD's X399 platform that has 60 lanes from the processor, the following combinations are 'recommended':

X399 Potential Configurations
  Use PCIe Lanes Total
Content Creator 2 x Pro GPUs
2 x M.2 Cache Drives
10G Ethernet
1 x U.2 Storage
1 x M.2 OS/Apps
6 x SATA Local Backup
x16/x16 from CPU
x4 + x4 from CPU
x4 from CPU
x4 from CPU
x4 from CPU
From Chipset
52 Lanes
Extreme PC 2 x Gaming GPUs
1 x HDMI Capture Card
2 x M.2 for Games/Stream
10G Ethernet
1 x M.2 OS/Apps
6 x SATA Local Backup
x16/x16 from CPU
x8 from CPU
x4 + x4 from CPU
x4 from CPU
x4 from CPU
From Chipset
56 Lanes
Streamer 1 x Gaming GPU
1 x HDMI Capture Card
2 x M.2 Stream/Transcode
10G Ethernet
1 x U.2 Storage
1 x M.2 OS/Apps
6 x SATA Local Backup
x16 from CPU
x4 from CPU
x4 + x4 from CPU
x4 from CPU
x4 from CPU
x4 from CPU
From Chipset
40 Lanes
Render Farm 4 x Vega FE Pro GPUs
2 x M.2 Cache Drives
1 x M.2 OS/Apps
6 x SATA Local Backup
x16/x8/x8/x8
x4 + x4 from CPU
x4 from CPU
From Chipset
52 Lanes

What has started to happen is that these companies are combining both the CPU and chipset PCIe lane counts, in order to promote the biggest number. This is despite the fact that not all PCIe lanes are equal, they do not seem to care. As a result, Intel is cautiously promoting these new Skylake-X processors as having ’68 Platform PCIe lanes’, and has similar metrics in place for other upcoming hardware.

I want to nip this in the bud before it gets out of hand: this metric is misleading at best, and disingenuous at worst, especially given the history of how this metric has been provided in the past (and everyone will ignore the ‘Platform’ qualifier). Just because a number is bigger/smaller than a vendor expected does not give them the right to redefine it and mislead consumers.

To cite precedent: in the smartphone space, around 4-5 years ago, vendors were counting almost anything in the main processor as a core to provide a ‘full core count’. This meant that GPU segments became ‘cores’, special IP blocks for signal and image processing became ‘cores’, security IP blocks became ‘cores’. It was absurd to hear that a smartphone processor had fifteen cores, when the main general purpose cores were a quartet of ARM Cortex A7 designs. Users who follow the smartphone industry will notice that this nonsense stopped pretty quickly, partly due to anything being called a core, but some hints towards artificial cores potentially being placed in the system. If allowed to continue, this would have been a pointless metric.

The same thing is going to happen if the notion of ‘Platform PCIe Lanes’ is allowed to continue.

Explaining the Jump to Using HCC Silicon Test Bed and Setup
Comments Locked

152 Comments

View All Comments

  • IGTrading - Tuesday, September 26, 2017 - link

    Thanks man , after 21 years in IT hardware I don't know ;)

    Have a fun life and enjoy your "wisdom" :)
  • whatevs - Tuesday, September 26, 2017 - link

    Seeing these new cpus released, sold and used I think Intel has a better idea of what it is doing than you.

    Good luck competing with Intel in your "experience in the industry" category.
  • 0ldman79 - Wednesday, September 27, 2017 - link

    I'm sure he'll be fine.

    He was here before the "165W" chip and I'm sure he'll be here long after it is gone, same as me.
  • ZeDestructor - Monday, September 25, 2017 - link

    Laptops and tablets break TDP all the time under Turbo loads. I don't see anyone bitching there...
  • 0ldman79 - Wednesday, September 27, 2017 - link

    It's really no different than if a car was sold with inadequate cooling.

    "Average" heat production at normal speeds is fine, but if you actually come close to using the 300HP the engine produces by, I dunno, pulling a trailer at those same speeds it will overheat and you'll have to pull over and let it cool.

    But sure, it's Intel, so it's cool...
  • HStewart - Monday, September 25, 2017 - link

    I have a still running dual Intel Xeon 3Gz 5160 and my biggest complaint is that the box is huge. This machine is 10 years old has 8G of memory and about 5T of storage. It CPU's alone cost around $2000 and in your terms it like the Bentley or my 2000 Toyota Tundra with Lexus Engine with 240,000. In essence you get what you pay for.
  • wolfemane - Tuesday, September 26, 2017 - link

    Hate to break it to ya but that Lexus motor IS a Toyota motor. And by going Lexus you way overpaid for a Toyota.
  • Garf75 - Monday, September 25, 2017 - link

    Ian, why are there no temperatures posted?
  • extide - Monday, September 25, 2017 - link

    Probably because they are highly dependant on the cooler used and the environment it is in. Not really relevant to an article like this.
  • Garf75 - Monday, September 25, 2017 - link

    Seriously? As a customer I would want to know if my cooling system is adequate for the job if I'm pushing the CPU.

Log in

Don't have an account? Sign up now