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.

Very thorough, very informative. Probably the best N1 review I have read.

Just wanted to point out two things.

When you web browse on the N1, double tap the text that you want to read and the website will shape up to be perfectly readable on the N1 in portrait mode. Landscape isn't necessary for web browsing.(I thought it was at first too until I learned of the aforementioned feature)

Typing on the N1 is infinitely better if you use landscape mode. I pretty much always turn it sideways and type with a dual thumb method very quickly when I need to type something lengthy such as a text message or email.Reply

The voice recognition system does more than just what you mentioned - you can use it to launch some other programs, especially Nav. For example, if you say "Navigate to (Wherever)" it'll open Navigation and (if it's ambiguous) show you a list of options based on a Maps search of what you said - pretty cool stuff.Reply

The NExus One LACKS multi touch in its keyboard. That's why its 100x harder to speed type than on the iPhone. Trust me. I've spent HOURS in front of my Droid and Nexus one testing multitouch, comparing it to an iPod Touch/iPhone 3GS. It's night and day without multi touch.

This is the REAL multitouch many people forget. Sure you can pinch zoom maps and pinch zoom browser, but honestly those aren't as important as having a multitouch keyboard. If you really want to type on an onscreen keyboard, you NEED multitouch. Currently, the only market solution is Smart Keyboard Pro that offers Android 2.0's multitouch capabilities.Reply

I did neglect to mention the missing multitouch on its keyboard, I'll add that in. But if you remember, the iPhone lacked multitouch on its keyboard at first - something that really bothered me after using a Blackberry for so long. For me, that's not what's limiting my typing speed today though. The predictive text/autocorrect on the Nexus One by default just isn't as good as the iPhone's.

Maybe it is just how Swype works on my Diamond, but I certainly can't reliably type one-handed without looking. Swype is the only keyboard I have found that does not require rotation to portrait mode on the Diamond to type, but just testing a Droid in-store I would say I was about as fast using the software keyboard as I am after 5-6 months with Swype.Reply

Also Anand, if you read up a little abou the choppiness in scrolling it's due to the dithering of images and stuff. If I recall correctly, 2.0 had dithering implemented properly so smooth scrolling was not an issue.

2.0.1 and above has failed to deal with this. There are fixes for this, and I've seen Droid and Milestone users use it. I'm almost positive it can be applied to the Nexus One.Reply