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

  • stevesup - Wednesday, January 1, 2014 - link

    Great review, per usual. Even Leo Laporte couldn't dig out a negative nugget to bash Apple with.
  • milkod2001 - Wednesday, January 1, 2014 - link

    In a few months a market will probably be flooded with similar cases. Something like semitransparent case in this shape with decent led lighting could actually look quite nice.

    Back in Windows Vista times I was working with Mac Pro and iMac as graphic designer. It was a pleasure to work with compared to crappy, slow Vista based Pc.

    Now with w7 I can't think about single reason I'd want to spend almost twice for Mac Pro compared to W7 Pc(obviously nobody is forcing me to).

    Good job with review Anald.
  • milkod2001 - Wednesday, January 1, 2014 - link

    sorry about misspelled name, can't find edit option for post
  • Mat9912 - Wednesday, January 1, 2014 - link

    Can someone comment on the power consumption of the new Mac Pro when in standby/sleep mode?
  • knweiss - Thursday, January 2, 2014 - link

    You'll find the info in the Mac Pro Environmental Report:
    http://images.apple.com/environment/reports/docs/M...
  • nomorespam - Wednesday, January 1, 2014 - link

    Any idea why the three networking ports couldn't have been combined into a single PCIe 2.0 lane with a switch/bridge?

    By my math this comes to at most 3.3Gbps (412MB/s) unidirectional with all three ports saturated.

    Is this not a possibility or are there other considerations that make this impractical or undesirable?

    I'm thinking it would be really nice to get another 2 (ideally 3 for no bottleneck) of the PCIe 2.0 lanes to the USB 3.0 ports and this seems like a valid way to triple available USB 3.0 bandwidth.

    The only other place I can see to steal an additional PCIe 2.0 lane back to get to 4 port bottleneck free USB 3.0 I/O is to take one lane away from the SSD controller?

    Surely doing so reduces the bus width and resulting net performance even though the theoretical 1.5GB/s that three PCIe 2.0 lanes provide is still faster than the Mac Pro's shipping SSD's?

    Like Neil above, I would also like to know more about IP over thunderbolt 1 and 2 and how it works in the real world today - I would suspect the network stack is not in any way optimized for it at this point.
  • OreoCookie - Wednesday, January 1, 2014 - link

    @Anand
    Any reason why you haven't posted results on your SSD consistency tests for the Mac Pro?
  • wozwoz - Wednesday, January 1, 2014 - link

    Nice review - though rather too long. Sometimes, less is more :)

    Unfortunately, what is not answered, and remains 'unknown' is:

    * Is a D500 graphics card actually any faster than a D300 in real-world tests? [Note that the D500 has a lower clock speed]

    * Since the D700 apparently consumes vastly more power than the D300, how does the graphics card effect noise levels and thermal performance of the entire machine?

    I liked your chart of CPU turbo boost, as the number of cores in play changes ... first decent explanation of that issue.
  • bizarrefish - Wednesday, January 1, 2014 - link

    Excellent review Anand, very comprehensive and just what I needed to help seal the decision to buy. I believe some of your benchmarks and stress testing was under Boot Camp Windows correct? I too want to use the system as my main Workstation/PC at home but for occasional gaming also. The system will spend most of its time in OSX but Is the driver support good enough to perform well in Boot Camp for modern gaming needs? Thanks.
  • jackbobevolved - Saturday, April 19, 2014 - link

    I got the 12 core D700 model and it works great for gaming. The latest Catalyst drivers installed without issue and performance has been amazing. What really blew me away though was comparing the render and export speed on this machine against my old 3,1 8 core with a Radeon 5870. Several hour exports from FCPX were cut to just minutes.

Log in

Don't have an account? Sign up now