The PCIe Layout

Ask anyone at Apple why they need Ivy Bridge EP vs. a conventional desktop Haswell for the Mac Pro and you’ll get two responses: core count and PCIe lanes. The first one is obvious. Haswell tops out at 4 cores today. Even though each of those cores is faster than what you get with an Ivy Bridge EP, for applications that can spawn more than 4 CPU intensive threads you’re better off taking the IPC/single threaded hit and going with an older architecture that supports more cores. The second point is a connectivity argument.

Here’s what a conventional desktop Haswell platform looks like in terms of PCIe lanes:

You’ve got a total of 16 PCIe 3.0 lanes that branch off the CPU, and then (at most) another 8 PCIe 2.0 lanes hanging off of the Platform Controller Hub (PCH). In a dual-GPU configuration those 16 PCIe 3.0 lanes are typically divided into an 8 + 8 configuration. The 8 remaining lanes are typically more than enough for networking and extra storage controllers.

Ivy Bridge E/EP on the other hand doubles the total number of PCIe lanes compared to Intel’s standard desktop platform:

Here the CPU has a total of 40 PCIe 3.0 lanes. That’s enough for each GPU in a dual-GPU setup to get a full 16 lanes, and to have another 8 left over for high-bandwidth use. The PCH also has another 8 PCIe 2.0 lanes, just like in the conventional desktop case.

I wanted to figure out how these PCIe lanes were used by the Mac Pro, so I set out to map everything out as best as I could without taking apart the system (alas, Apple tends to frown upon that sort of behavior when it comes to review samples). Here’s what I was able to come up with. Let’s start off of the PCH:

Here each Gigabit Ethernet port gets a dedicated PCIe 2.0 x1 lane, the same goes for the 802.11ac controller. All Mac Pros ship with a PCIe x4 SSD, and those four lanes also come off the PCH. That leaves a single PCIe lane unaccounted for in the Mac Pro. Here we really get to see how much of a mess Intel’s workstation chipset lineup is: the C600/X79 PCH doesn’t natively support USB 3.0. That’s right, it’s nearly 2014 and Intel is shipping a flagship platform without USB 3.0 support. The 8th PCIe lane off of the PCH is used by a Fresco Logic USB 3.0 controller. I believe it’s the FL1100, which is a PCIe 2.0 to 4-port USB 3.0 controller. A single PCIe 2.0 lane offers a maximum of 500MB/s of bandwidth in either direction (1GB/s aggregate), which is enough for the real world max transfer rates over USB 3.0. Do keep this limitation in mind if you’re thinking about populating all four USB 3.0 ports with high-speed storage with the intent of building a low-cost Thunderbolt alternative. You’ll be bound by the performance of a single PCIe 2.0 lane.

That takes care of the PCH, now let’s see what happens off of the CPU:

Of the 40 PCIe 3.0 lanes, 32 are already occupied by the two AMD FirePro GPUs. Having a full x16 interface to the GPUs isn’t really necessary for gaming performance, but if you want to treat each GPU as a first class citizen then this is the way to go. That leaves us with 8 PCIe 3.0 lanes left.

The Mac Pro has a total of six Thunderbolt 2 ports, each pair is driven by a single Thunderbolt 2 controller. Each Thunderbolt 2 controller accepts four PCIe 2.0 lanes as an input and delivers that bandwidth to any Thunderbolt devices downstream. If you do the math you’ll see we have a bit of a problem: 3 TB2 controllers x 4 PCIe 2.0 lanes per controller = 12 PCIe 2.0 lanes, but we only have 8 lanes left to allocate in the system.

I assumed there had to be a PCIe switch sharing the 8 PCIe input lanes among the Thunderbolt 2 controllers, but I needed proof. Our Senior GPU Editor, Ryan Smith, did some digging into the Mac Pro’s enumerated PCIe devices and discovered a very familiar vendor id: 10B5, the id used by PLX Technology. PLX is a well known PCIe bridge/switch manufacturer. The part used in the Mac Pro (PEX 8723) is of course not listed on PLX’s website, but it’s pretty close to another one that PLX is presently shipping: the PEX 8724. The 8724 is a 24-lane PCIe 3.0 switch. It can take 4 or 8 PCIe 3.0 lanes as an input and share that bandwidth among up to 16 (20 in the case of a x4 input) downstream PCIe lanes. Normally that would create a bandwidth bottleneck but remember that Thunderbolt 2 is still based on PCIe 2.0. The switch provides roughly 15GB/s of bandwidth to the CPU and 3 x 5GB/s of bandwidth to the Thunderbolt 2 controllers.

Literally any of the 6 Thunderbolt 2 ports on the back of the Mac Pro will give you access to the 8 remaining PCIe 3.0 lanes living off of the CPU. It’s pretty impressive when you think about it, external access to a high-speed interface located on the CPU die itself.

The part I haven’t quite figured out yet is how Apple handles DisplayPort functionality. All six Thunderbolt 2 ports are capable of outputting to a display, which means that there’s either a path from the FirePro to each Thunderbolt 2 controller or the PEX 8723 switch also handles DisplayPort switching. It doesn’t really matter from an end user perspective as you can plug a monitor into any port and have it work, it’s more of me wanting to know how it all works.

Mac Pro vs. Consumer Macs GPU Choices
Comments Locked

267 Comments

View All Comments

  • FunBunny2 - Tuesday, December 31, 2013 - link

    Has everybody forgotten? This is just a Cube with one round corner. I suppose Tim will claim that's been patented too.
  • newrigel - Wednesday, March 1, 2017 - link

    Right.... with a unified core in it he he.... Mac's rule
  • Y0ssar1an22 - Tuesday, December 31, 2013 - link

    Off the Mac Pro topic but how come the 2013 13" rMBP scores significantly lower than the 2012 and various MBAs in the Cinebench 11.5? I'm personally interested as I have one on order :-) It scores better in later tests (so presumably not a typo?) Cinebench caught my eye as the first cross-benchmark in the review.

    Thanks for this review, and looking forward to the rMBPs in depth!

  • iwod - Tuesday, December 31, 2013 - link

    1. What are the likely chances of a Mac that does Desktop Class Gfx card with 2 x8 PCI-E and uses Desktop Haswell instead. Unless i miss anything surely this is a simple change in production line.
    2. SSD speed is slow, for a Peak rate of 2GB/s, it seems Apple firmware or Samsung Controller not capable of feeling up the peak bandwidth? So which is likely the cause?
    3. GFx ECC Ram. How much of a problem is it? For Professional market? And why Apple decide to ditch this since the price difference are minor for the price of Mac Pro.
  • dwade123 - Tuesday, December 31, 2013 - link

    Who the **** put a trashcan here!?
  • e375ued - Wednesday, January 1, 2014 - link

    Is there some convenient reason Anand let the Mac Pro off easy by using Prime95 instead of Intel Burn Test or linpack?
  • Ryan Smith - Wednesday, January 1, 2014 - link

    It was my suggestion to try maxing out the Mac Pro, just to see if it would throttle (and if so, by how much). I picked Prime95 because it's good enough; not that there's anything wrong with IBT or Linpack, but all 3 of those are close enough that it shouldn't matter (and P95 is easy to use).
  • jrs77 - Wednesday, January 1, 2014 - link

    Good test that shows that the thermal core design works like a charm, even when applying very heavy and rather unrealistic loads to the system.

    Most people will run these new Mac Pros with only having a scene rendered or a video-filter applied etc and in this case the system is basically dead-silent and street-noise totally drowns the noise of the fan anyways.

    Just a tad too expensive for me tho.
  • Kevin G - Wednesday, January 1, 2014 - link

    The ‘mid range’ config is a far better value on the 2012 model since it is a 12 core model. The $200 savings can be put toward a better GPU.

    With regard to Cinebench, does it use AVX under OS X? I suspect that it does and that is where the majority of the single threaded CPU performance increase comes from. I strongly suspect that the single threaded performance advantage is far narrower in legacy code that doesn’t take advantage of AVX.

    I’m glad the 2012 model was tested with a Radeon 7950. The ability to upgrade GPU’s matters and it’ll keep the 2012 model competitive for awhile. The system will support future video cards that come in from the PC side of things. With UEFI on video cards now, there is little difference between a Mac and PC version. For what it is worth, I have stuck an EVGA GTX 770 into a 2012 Mac Pro without issue and no modification on the video card or OS X drivers. It just works.

    A bit of a random note is that the GPU connector used in the Mac Pro isn’t new to Apple: they used it for the G4 class daughter cards form 15 years back.

    The PLX chip doesn’t have to do any port switching as a single GPU can drive up to 6 surfaces. That would imply the six DP signals from one GPU are routed in pairs to each of the Falcon Ridge controllers for encapsulation.

    One shocking thing is that wall power draw exceeds that of the PSU’s DC rating. That is worrying as the system itself has only a 450W rated power supply. Due to the AC to DC conversion, there is an efficiency factor but the system has to be running close to its DC limit. Performing several file transfers over powered Thunderbolt devices could put the power draw beyond the rated DC limit. I wonder if Apple has implemented throttling based upon raw power consumption of the system as a whole in addition to temperature and power consumption of individual parts. Perhaps testing the system on a 240V AC circuit would alter things here as it is more efficient power delivery?

    One aspect not accounted for is memory expansion. The 2009/2010/2012 Mac Pro’s will work with registered ECC memory which brings their maximum capacity up to 128 GB. Memory bandwidth too is superior in the dual socket 2010/2012 models: six channels of 1333 Mhz memory does have more bandwidth than four channels at 1866 Mhz. Going multi-socket does carry some overhead but still a bit of a disappointment that the theoretical number didn’t improve.
  • Bill Thompson - Wednesday, January 1, 2014 - link

    My guess is the nVidia-based iMac is faster with After Effects and Premiere because of CUDA.

    Davinci Resolve has been updated for OpenCL, but I don't think Octane or Adobe apps have.

    BTW, FCP X 10.1 displays multiple 4K streams in real time without rendering. It's a serious app.

Log in

Don't have an account? Sign up now