Apple's 15-inch Core i5 MacBook Pro: The One to Get?by Anand Lal Shimpi on April 14, 2010 10:38 PM EST
Faster, Not Slower
The 15-inch and 17-inch MacBook Pros offer your choice of Core i5 or i7 processors. If you follow Intel’s model numbers, you can get either a Core i5 520M, 540M or Core i7 620M. These chips run at 2.40GHz, 2.53GHz or 2.66GHz by default.
Wait! But the old 15-inch MacBook Pro ran at 2.53GHz, 2.66GHz or 2.80GHz by default. These new models are slower! After reading that a few times online yesterday, I knew it was time for a quick refresher on microprocessor architecture and performance.
Intel's Arrandale Lineup
There are three ways we can improve CPU performance these days: increase clock speed, increase IPC or increase thread count. The first improvement is the obvious one. Keep all other variables the same, just make the chips run at a higher frequency. The second one requires that we increase the amount of work our CPU does in each clock cycle (increasing the number of instructions completed per clock, or IPC). And the third one is to simply increase the number of simultaneous threads our CPU can handle, either through multiple cores or multiple threads per core.
With Arrandale, the mobile Core i5 and i7, Intel actually used all three tricks to improve performance.
I’ll start with the middle improvement: increasing IPC. Arrandale brings a dual-channel memory controller on-package (it’s actually on the GPU and not the CPU as you may remember). This improves bandwidth which in turn keeps the CPU cores fed with data and thus increases overall IPC.
The Arrandale die. Graphics on left, CPU on right.
The cache hierarchy has changed quite a bit since the Core 2 days. Instead of a large shared L2 cache, each of the two Arrandale cores have their own private 256KB L2 cache. The cache is the fastest of any desktop CPU today requiring only 10 cycles to access it. As I wrote in the past, the L2 is quickly becoming the new L1 so low latency access matters more than size. The catch-all cache moves down a level and Arrandale has a large 4MB L3 cache. On the Core i7s you get the full 4MB, while the i5s disable 1MB leaving you with 3.
There are some instruction and execution level improvements as well, which I’ve detailed here and here. Specific to Arrandale (and the rest of the Westmere family) are new AES instructions designed to accelerate encryption/decryption operations.
The takeaway here is any slight drop in default clock speed is at least partially negated by the increase in performance per clock. If that’s not enough, Arrandale also brings Turbo Boost to Intel’s mobile chips.
These Core i5 and i7 processors have about a million transistors dedicated to power management. It’s a little section of the CPU called the PMU (Power Management Unit). The PMU monitors CPU temperatures, current draw and power consumption. Based on these inputs as well as the current load on the CPU, the PMU can tell the rest of the CPU to increase its clock frequency. The CPU is allowed to increase its operating frequency in 133MHz steps up to a predefined max speed. The max speed is determined by Intel as well as the number of cores that are actively doing work on the chip.
The whole process works like this. If you have all cores active and the workload they’re running isn’t maxing out the CPU’s specified current or power draw, the cores can run at a higher frequency. If you have only one core active, the other core is power gated (effectively shut off) and the active core is allowed to turbo up several bins as long as it remains within its current, temperature and power limits.
The result is that most of the time your 2.40GHz Core i5 runs at 2.66GHz, and if you’re only running single threaded applications you’ll see it bounce from 2.66GHz to 2.80GHz and 2.93GHz. So even if the IPC improvements brought on by Arrandale weren’t enough, you’ll rarely run at your base clock speed when you need the performance. Intel’s Turbo Boost works beautifully in practice and the transition to OS X seems to have gone well.
The 2.40GHz MacBook Pro running at 2.93GHz thanks to Turbo
The final vector for performance improvement is by increasing the number of threads your CPU can work on at once. Threads are nothing more then collections of instructions, which themselves are the basic work units of any CPU. The more threads you can actively complete in parallel, the higher your overall CPU performance.
All Arrandale based Core i5 and i7 CPUs are dual-core processors, that’s two threads right there. Each core however can work on two threads at the same time thanks to Intel’s Hyper Threading bringing us up to four total threads on the new MacBook Pro. Two of those threads are virtual and are simply designed to occupy any idle resources on a core. Hyper Threading doesn’t give the same performance boost as you’d get from four cores, but what it does give you is better-than-dual core performance without the power requirements of four physical cores. For a notebook designed with portability in mind, the tradeoff is ideal.
The downside to all of this? Only the 15-inch and 17-inch models get Arrandale, the 13-inch MacBook Pro sticks with the old Penryn derived Core 2 Duo architecture. If you were holding out for a 13-inch Arrandale model, you’ll have to keep waiting.
|Apple's 2009 Lineup||13-inch MacBook Pro (Early 2010)||13-inch MacBook Pro (Late 2009)|
|CPU||Intel Core 2 Duo 2.40GHz||Intel Core 2 Duo 2.26GHz|
|Memory||4GB DDR3-1066||2GB DDR3-1066|
|HDD||250GB 5400RPM||160GB 5400RPM|
|Video||NVIDIA GeForce 320M (integrated)||NVIDIA GeForce 9400M (integrated)|
|Optical Drive||8X Slot Load DL DVD +/-R||8X Slot Load DL DVD +/-R|
|Screen Resolution||1280 x 800||1280 x 800|
|SD Card Reader||Yes||Yes|
|Dimensions (W x D x H)||12.78" x 8.94" x 0.95"||12.78" x 8.94" x 0.95"|
|Weight||4.5 lbs||4.5 lbs|