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

  • Dandu - Friday, January 10, 2014 - link

    Hi,

    It's possible to use a 2 560 x 1 440 HiDPI definition, with a NVIDIA card, a 4K Display and the (next) version of SwitchResX.

    I have tested that : http://www.journaldulapin.com/2014/01/10/ultra-144...
  • Haravikk - Sunday, January 12, 2014 - link

    The news about the USB3 ports is a bit strange, doesn't that mean a maximum throughput of 4gbps? I know most USB3 storage devices will struggle to push past 500mb/sec, but that seems pretty badly constrained. Granted, Thunderbolt is the interface that any storage *should* be using, but the choices are still pretty poor for the prices you're paying, and no-one offers Thunderbolt to USB3 cables (only insanely priced hubs with external power).

    Otherwise the review is great, though it'd be nice to see more on the actual capabilities of Apple's FirePro cards. Specifically, how many of the FirePro specific features do they have such as 30-bit colour output, EDC, ECC cache memory, order-independent-transparency (under OpenGL) and so-on? I'm assuming they do given that they're using the FirePro name, but we really need someone to cover it in-depth to finally put to rest claims that consumer cards would be better ;)
  • eodeot - Monday, February 24, 2014 - link

    I'd love a realistic comparison with an i7 4770k and say, 780ti.

    You also compare 12 cored version to older 12 core versions that hide behind (fairly) anonymous xeon labeling that hide their chip age (sandy/ ivy bridge/haswell...). I'd like to see in how any real world applications does a 12 core chip perform faster. Excluding 3d work and select video rendering, I doubt there is much need to extra cores. You note how its nice to have buffer of free cores for everyday use, while heavy rendering- but I never noticed a single hiccup or a slowdown with 3d rendering on my i7 4770k with all 8 logical cores taxed to their max. How much of better performance then "butter smooth" one already provided with a much cheaper CPU can you get?

    Also you compare non apple computers with same ridiculous CPU/GPU combinations. Who in their right mind would choose a 4core Xeon chip over a haswell i7? The same goes for silly "workstation" GPU over say a Titan. Excluding dated opengl 3d apps, no true modern workstation benefits from a "workstation" GPU, if we exclude select CUDA based 3d renderers like iray and vray rt that can benefit from 12gb of ram. GPUs included with Apple Mac pro have 2gb... Not a single valid reason a sane person would buy such a card. Not one.

    Also, you point out how gaming makes the most sense on windows, but do no such recommendation for 3d work. Like games, 3d programs perform significantly better under directX and that leaves windows as a sole option for any serious 3d work...

    I found this review interesting for design Apple took, but everything else appears one sided praise...
  • pls.edu.yourself - Wednesday, February 26, 2014 - link

    QUOTE: "The shared heatsink makes a lot of sense once you consider how Apple handles dividing compute/display workloads among all three processors (more on this later)."

    Can anyone help point me to this. I think one of my GPU's is not being used.
  • PiMatrix - Saturday, March 8, 2014 - link

    Apple Fixed the HiDPI issue on Sharp K321 in OS 10.9.3. Works great. Supported HiDPI resolutions are the native 3840x2160, and HiDPI: 3200x1800, 2560x1440, 1920x1080, and 1280x720. You can also define more resolutions with QuickResX but the above seem to be enough. Using 3200 x1800 looks fantastic on this 4K display. Great job Apple!
  • le_jean - Monday, March 10, 2014 - link

    Any information on updated 60Hz compatibility concerning Dell's UP 2414Q in 10.9.3?
    I would be very interested to get some feedback in relation to:
    nMP & Dell UP 2414Q
    rMBP & Dell UP 2414Q

    I remember in anandtech review of late 2013 nMP there have been issues concerning that specific display, while Sharp and ASUS performed just fine
  • philipus - Monday, April 14, 2014 - link

    As a happy photo amateur, I have to say the previous Mac Pro is good enough for me. I have the early 2008 version which I like because of its expandability. Over the years I have added drives, RAM and most recently a Sonnet Tempo Pro with two Intel 520 in order to get a faster system. As cool and powerful as the new Mac Pro is, it would cost me quite a lot to add Thunderbolt boxes for the drives I currently use, so it is not worth it for me.

    I do agree that it is about time a manufacturer of desktop computers pushed the platform envelope. It's been tediously samey for a very long time. I'm not surprised it was Apple that made the move - it's in Apple's DNA to be unexpected design-wise. But as much as it is nice to see a radical re-design of the concept of the desktop computer, I think a future version of the Mac Pro needs to be a bit more flexible and allow more user-based changes to the hardware. Even if I could afford the new Mac Pro - and I would also place it on my desktop because it's really pretty - I wouldn't want to have several Thunderbolt boxes milling around with cables variously criss-crossing and dangling from my desk.
  • walter555999 - Saturday, June 7, 2014 - link

    Dear Anand, could you post how to connect a up2414Q to macbook pro retina (2013) ? I have tried a cable mini display port-HDMI. But there are no image in the dell monitor. Thank you very much. Walter
  • Fasarinen - Saturday, August 9, 2014 - link

    Thanks for an excellent review. (And hello, everybody; this is my first post on this site.)

    I noticed, in the "GPU choices" section, what seems to be a very useful utility for monitoring the GPU. The title on the top of the screen is "OpenCL Driver Monitor"; the individual windows (which are displaying graphs of GPU utilisation) seem to be titled "AMDRadeonXL4000OpenCLDriver".

    I'm probably just being dim, but a bit of googling doesn't shed much light. If anybody could point to me to where this utility can be obtained from, I'd be most grateful.

    Thanks ....
  • pen-helm - Friday, September 12, 2014 - link

    I showed this page to a Mac user. They replied:

    I'm pretty sure that this simple fix takes care of the issue with
    monitors where OS X doesn't offer a HiDPI mode:

    http://cocoamanifest.net/articles/2013/01/turn-on-...

Log in

Don't have an account? Sign up now