Anand's Google Nexus One Reviewby Anand Lal Shimpi on April 3, 2010 3:40 AM EST
Enter the Snapdragon
These days pretty much any new smartphone that launches seems to have a Qualcomm Snapdragon SoC in it. While I've covered ARM's Cortex A8 before, I've never really talked about the Qualcomm Snapdragon before. Let's change that.
ARM is a different sort of microprocessor company than the ones we're used to covering. AMD and Intel design the instruction set, microarchitecture and ultimately do everything up to (and including for Intel) actually fabbing the chip. Owning the entire pipeline from ISA (instruction set architecture) all the way down to manufacturing is expensive. The graph below shows the rough costs of simply keeping up with fab technology every two years:
That's not really feasible for most companies. In fact, AMD recently got out of the fab business partly because of the incredible costs associated with it. Actually designing these architectures is a tough job. It'll take a large team of highly talented engineers multiple years to crank out a good design. Then you've got to test the chip and ultimately, you have to sell it.
Now it's hard to sell just a microprocessor, which is why both AMD and Intel offer a full platform solution. You can buy graphics, chipsets, SATA controllers, basically everything but a motherboard from these companies. It's difficult for a company to offer such a complete solution.
To sell the chips you need customers, you need to be able to deliver on their schedules and keep the whole machine running. Fabs, engineering, testing/validation, sales and marketing - it's an expensive business to run.
There's rarely room in any mature market for more than two competitors. And among those two competitors, there's never room for both to behave the same way. This is why AMD and Intel have wildly differing approaches to microprocessor architectures at the same process technology node. ARM can't follow in Intel's footsteps, so the alternative is to cut away the excess and remain focused.
Which is exactly what ARM does. ARM will sell you one of two things: a processor architecture, or a license to use its instruction set. The majority of customers take the former. If you're a processor licensee this is how it works.
At the core ARM creates an instruction set, just like Intel and AMD use x86, ARM has its own ISA. Next, ARM will actually create an entire processor designed around this instruction set. For example, the Cortex A8 is an ARM design based upon the ARMv7 ISA - just like the Core i7 is based upon Intel's x86 ISA.
This processor is tested, validated but not manufactured by ARM. Instead, ARM will give a licensee everything it needs to integrate this CPU core into its own design. Remember the part about needing a platform? It's usually up to the customer to grab a GPU, video decoder, image processor, etc... and put them all on a single chip with the ARM core they've just licensed. This way ARM doesn't have to deal with the complexities of lining up five different roadmaps and delivering a chip that its customers want. ARM provides the CPU, Imagination or some other company will provide the GPU IP and so on and so forth. Everyone gets a chip tailored to their needs.
Like I said, the majority of companies take this route. It's more cost effective because you don't have to do the CPU design yourself. You do lose a bit of a competitive edge, as your competitors can easily license the same cores you do. So you can differentiate based on how well you integrate all of this IP, what tradeoffs you make vis-a-vis power vs. performance vs cost, or marketing prowess, but not on base architecture. Take this route and you do run the risk of your chips performing the same as your competitors. Companies like TI (OMAP3, OMAP4) and Samsung (S5PC100) are ARM processor licensees. They license ARM11, ARM Cortex A8 and ARM Cortex A9 cores and integrate them into SoCs along with a GPU, video decoder and other IP that they source from various companies.
Samsung's S5PC100 is based on the Cortex A8 licensed from ARM
With as many players as there are in the SoC market, differentiation is key. For customers looking for more gain at the expense of increased risk, ARM offers a second option: an architecture license.
An architecture license means that you have the right to use the underlying ISA. AMD and Intel have broad cross licensing agreements in place that allow them both to produce x86 processors using instructions introduced by each maker. I don't have a license to the x86 ISA so you and I can't go out and sell our own x86 CPU tomorrow. Sorry.
Companies like Marvell are architecture licensees. They take an ARM instruction set (e.g. ARMv6, ARMv7) and use their own engineers to build a microprocessor around it.
This is a much more costly and risky approach. Building a CPU isn't easy, in fact the faster it is, the more complex and difficult the task becomes. Even companies that have tons of experience doing it screw up from time to time. It takes a lot of time, requires smart folks and you have to pay them good salaries. The upside is that with a bit of effort, you can outperform ARM's own designs. As with most things in life, the larger the risk, the larger the upside.
This is the route Qualcomm took.