Apple retailers offering big discounts on iPhones, Macs, iPads and more for Black Friday.
Apple A6 Processor is a Custom Apple Design, Prioritizing Performance and Power Efficiency
Early speculation had led some to conclude that that the A6 was based on the yet-to-be-seen Cortex A15 ARM processor design. The Cortex A15 is licensable processor design from ARM that promises significantly faster performance than the existing Cortex A9 design which is what Apple uses in their A5 processor (iPhone 4S).
Anandtech now reveals, however, that the A6 is a custom Apple design:
The A6 is the first Apple SoC to use its own ARMv7 based processor design. The CPU core(s) aren't based on a vanilla A9 or A15 design from ARM IP, but instead are something of Apple's own creation.Anandtech explains that Apple is one of a few ARM architecture licensees, which allows them to create their own custom ARM processor designs.
While Anadtech goes into the finer details, the ultimate benefit for Apple is the ability to tune their chips towards their own specific goals. In particular, Apple's design goals prioritize both power and performance while the generally licensable Cortex A15 design was reportedly targeted at server configurations.
Rumor has it that the original design goal for ARM's Cortex A15 was servers, and it's only through big.LITTLE (or other clever techniques) that the A15 would be suitable for smartphones. Given Apple's intense focus on power consumption, skipping the A15 would make sense but performance still had to improve.Apple seems to finally be benefiting from some previous company acquisitions including P.A. Semi and Intrinsity, both chip design companies. The ability to tune their CPU designs specifically for their products could serve as a competitive advantage over other companies that are reliant on the licensable designs provided by ARM. Apple's previous processor designs have been based on these more traditional designs, so this represents Apple's first departure into a more custom design approach.
Image from Engadget