Monday, June 21, 2010

Ruminations on various benchmarks for the OMAP 3600s, Hummingbird, and Snapdragon.

EDIT 7/17/2010 - The benchmarks have been explained for the most part, see my post "Android phones benchmarked; it's official, the Galaxy S is the fastest." Or, feel free to read on, but I was probably wrong. :)

I've been thinking about some of the performance benchmarks I've been seeing on AndroidAndMe.

CPU performance from the new TI OMAP 3630 3640 (yes, they're wrong again, its 3640 for the 1 GHz SoC, 3630 is the 720 MHz one (TI disagrees) is surprisingly good on Quadrant, the benchmarking tool that Taylor is using. In fact, as you can see from the Shadow benchmarks in the first article, it is shown outperforming the Galaxy S, which initially led me to believe that it was running Android 2.2 (which you may know can easily triple CPU performance). However, I've been assured that this is not the case, and the 3rd article seems to indicate as such, given that those benchmarks were obtained using a Droid 2 running 2.1.

Now, the OMAP 3600 series is simply a 45 nm version of the 3400 series we see in the original Droid, upclocked accordingly due to the reduced heat and improved efficiency of the smaller feature size.

If you need convincing, see TI's own documentation:

So essentially the OMAP 3640 3630 is the same CPU as what is contained in the original Droid but clocked up to 1 GHz. Why then is it benchmarking nearly twice as fast clock-for-clock (resulting in a nearly 4x improvement), even when still running 2.1? My guess is that the answer lies in memory bandwidth, and that evidence exists within some of the results from the graphics benchmarks.

We can see from the 3rd article that the Droid 2's GPU performs almost twice as fast as the one in the original Droid. We know that the GPU in both devices are the same model, a PowerVR SGX 530, except that the Droid 2's SGX 530 is, as is the rest of the SoC, on the 45 nm feature size. This means that it can be clocked considerably faster. It would be easy to assume that this is reason for the doubled performance, but that's not necessarily the case. The original Droid's SGX 530 runs at 110 MHz, substantially less than its standard clock speed of 200 MHz. This downclocking is likely due to the memory bandwidth limitations I discussed in my Hummingbird vs Snapdragon article, where the Droid original was running LPDDR1 memory at a fairly low bandwidth that didn't allow for the GPU to function at stock speed. If those limitations were removed by adding LPDDR2 memory, the GPU could then be upclocked again (likely to around 200 MHz) to draw even with the new memory bandwidth limit, which is probably just about twice what it was with LPDDR1.

UPDATE: While confirms the GPU upclock, they state that LPDDR1 memory is still used, but a slightly higher clock rate is available. See here.

So what does this have to do with CPU performance? Well, it's possible that the CPU was also being limited by LPDDR1 memory, and that the 65 nm Snapdragons that are also tied down to LPDDR1 memory share the same problem. The faster LPDDR2 memory could allow for much faster performance.

Lastly, since we know from the second article at the top that the Galaxy S performs so well with its GPU, why is it lacking in CPU performance, only barely edging past the 1 GHz Snapdragon?

It could be that the answer lies in the secret that Samsung is using to achieve those ridiculously fast GPU speeds. Even with LPDDR2 memory, I can't see any way that the GPU could achieve 90 Mtps; the required memory bandwidth is too high. One possibility is the addition of a dedicated high-speed GPU memory cache, allowing the GPU access to memory tailored to handle its high-bandwidth needs. With this solution to memory bandwidth issues, Samsung may have decided that higher speed memory was unnecessary, and stuck with a slower solution that remains limited in the same manner as the current-gen Snapdragon.

Lets recap: TI probably dealt with the limitations to its GPU by dropping in higher speed system RAM, thus boosting overall system bandwidth to nearly double GPU and CPU performance together.

Samsung may have dealt with limitations to the GPU by adding dedicated video memory that boosted GPU performance several times, but leaving CPU performance unaffected.

This, I think, is the best explanation to what I've seen so far. It's very possible that I'm entirely wrong and something else is at play here, but that's what I've got.


  1. Possibly. But I suspect the main thing, for CPU performance at least, is a larger L2 cache (probably 512 kB, as other 45nm Cortex A8 parts have adopted), maybe combined with improved L3 on-chip bus bandwidth.

  2. Good to see from you Hugo! You know I always value your input, and many of my conclusions have roots in your advice on my Hummingbird vs Snapdragon article.

    I didn't really think of that but it makes sense. I'd be interested to know what kind of bus speed the Cortex A8s run at and if memory speed itself has any limiting factor upon their performance.

    I didn't know that TI made improvements to the L2 cache from the 34xx-36xx... I'm going to have to try to find some time to really dig into some of their documentation. Obviously their product info brochures don't contain the depth of information we need. :)

    PS: I know I've asked before, but I would love the opportunity to talk further via messenger with you some time to pick your brain a bit. Let me know if you're interested!

  3. Hi guys (you're both awesome btw),

    What's the bottom line here? If my decision comes down to performance, which phone wins? Or (more likely) which phone wins at what, performance-wise?



    PS - I'm the same Alex as from the Galaxy S forums.

  4. Tough to say, Alex. These benchmarks seem to indicate that the OMAP 3640 has an edge in CPU performance (which really surprised me) while the Hummingbird has the edge in GPU performance.

    However, as most benchmarkers know, a single benchmark tool is hardly ever sufficient to produce a truly unbiased representation of performance.

    We should really wait until we see these phones perform in several different benchmark programs with the same build of Android alongside one another and average out the results.

    I suspect even then we'll have a fair bit of controversy over which SoC is the better performer, particularly if this becomes a CPU vs GPU debate.

    I wish I had more people like Hugo that could come on and contribute their knowledge; all I know is based upon a LOT of articles I've read and a handful of gems of information provided by folks who actually work on and with ARM hardware. It all fascinates me because of the complexity, versatility and variety of hardware that ends up in a high-quality ARM SoC. Understanding all of it and how it works together is not an easy task, particularly with the way the manufacturers tend to hide the really juicy details. But a bit of digging can turn up some really interesting stuff.

    And it's good to see you on here Alex, I've not been on the Galaxy S forums a whole lot recently... I found myself slipping towards fanboy territory and had to reign myself in a bit when I found myself brushing away the Droid X as a "mere overhyped OMAP" and realized that I need to try to remain objective. I still want a Galaxy S, but I also need to keep my interest in a single device from drawing me away from learning more about some of the competing technology. :)

  5. Thanks for the thorough response!

    I've found myself feeling the same way as you. Originally I didn't give the Droid 2 / X a second thought, but now I am undecided between the Mot' and 'Sung offerings.

    My carrier (Rogers Wireless in Canada) uses 2G/3G on the 850/1900 bands, so what I get will probably be whichever phone actually supports those bands in the near future. However, I am disappointed that the Captivate was gimped by removal of the front-facing camera (although as far as I know there's no front-facing camera on the Droids either).

    I'm still sporting an N95, and a hardware keyboard/keypad is also fairly important to me. So at this point, if I could get a G S Pro or Droid 2 I'd be thrilled.


  6. Now this is interesting; I've found where TI has referred to the OMAP in the Droid X as a 3630:

    Looks like I might need to be the one being corrected here!