XScale: Hit or Hype?24 June 2002 Despite some otherwise impressive features, performance on the new Toshiba e740 is a dud. Is this Toshiba's problem, or a sign that XScale-generation Pocket PCs won't live up to the hype? Toshiba's e740 is widely available now, but not everyone is happy about it. The first of the new Pocket PCs to use Intel's XScale processor (PXA250), the e740 offers disappointing performance. We'd all heard the hype over the XScale. Intel has been giving presentations for over a year about the next generation ARM processor. According to Intel's marketing spiel, the XScale is supposed to deliver twice the performance at 400MHz of the 206MHz StrongARM it replaces, while using only half the battery life of the StrongARM. It works this magic by dynamically adjusting the clock speed of the CPU according to load, so that while reading an ebook, for example, the processor may only have to run at 100MHz or less. So much for the marketing hype. Now that XScale-based devices are hitting the market, the practical speed of such devices isn't what we've been led to expect. Toshiba was the first to bring an XScale Pocket PC to market with their e740. In day to day usage, this 400MHz Pocket PC doesn't feel appreciably faster than all the 206MHz Pocket PCs already on the shelves, and it's markedly slower at multimedia-- playing video and audio clips, in particular-- than StrongARM-based Pocket PCs. This is an upgrade? According to Microsoft Project Manager Ed Suwanjindar, in an interview with Pocket PC Thoughts, it is. Suwanjindar's comments indicate that Microsoft isn't surprised by the XScale's performance, and has no intention of fixing the problem in software. I'll explain why later. First, let's look at why the problem exists in the first place before we talk about remedies. According to benchmarks published by pocketNow, the e740 is only 30% or so faster than other Pocket PCs in most areas, and significantly slower in memory moves. This is an interesting observation, since moving large blocks of memory is exactly the sort of thing you'd want to do well for good multimedia performance. Thus begins the mystery: is the e740's lackluster multimedia the fault of Toshiba's choices in the memory components, or subpar performance from Intel's XScale CPU? Other evidence indicates that Toshiba bears a significant share of the burden. The Fujitsu LOOX Pocket PC Phone Edition is also XSCale-based, but it's much better at multimedia than the e740. In fact, it's almost as good as StrongARM-based Pocket PCs. The LOOX is about 5% slower in multimedia performance than an iPAQ. This is interesting, as that's just about what you'd expect given that the LOOX-- and the e740, for that matter-- run with a 100MHz data bus, compared to a 103MHZ bus on StrongARM-based Pocket PCs. What's a bus, you ask? A bus is the interface between the CPU and the other parts of the computer. In this case, the important part is the way the CPU talks to the memory. Every time the CPU performs an operation, it has to act on a bit of data. It can get this data from one of two places: the CPU cache or the system memory. If the data is in the CPU cache, then a 400MHz XScale would indeed perform faster than a 206MHz StrongARM, because we're talking about the CPU "talking to itself,", not involving the data bus or system RAM at all. If, however, the data isn't in the cache, the CPU has to pull it across the bus from RAM. No matter how fast the CPU is, there's only so much data the bus can handle at a time. This explains why XScale Pocket PCs with 100MHz buses don't seem much snappier than StrongARM Pocket PCs with 103MHz buses. Toshiba could have minimized the problem by designing the e740 with a 32-bit data bus, which could move twice the data per cycle as the 16-bit buses on all other Pocket PCs. Toshiba did not do this, probably because it would have been more expensive and complex to engineer and manufacture. Does that mean there's no fix in sight, that it's essentially a hardware limitation? Sort of. But as you' should have guessed by now, nothing about this issue is that clear-cut. The crux of Ed Suwanjindar's comments come down to ARM v4 vs. ARM v5, two different versions of the ARM "core" instruction set. The StrongARM CPUs use ARM4, the XScale uses ARM5 (the StrongARM CPUs are considered ARM 9 CPUs, not to be confused with the version of the ARM core they use, the XScales are ARM 10; this stuff gets hairy after a while). The Pocket PC operating system and all the associated applications are standardized on ARM v4. While ARM v5 CPUs provide backwards compatability and will run ARM v4 binaries without complaint, it doesn't work the other way around. If Microsoft were to release a new version of the Pocket PC OS optimized for ARM v5, this mutant variant of OS would not even load on ARM v4 machines. In the interest of not "stranding" the millions of ARM v4 users out there, Microsoft is sticking to ARM v4 as the "standard" and not even providing developer tools to allow Pocket PC developers to provide XScale-optimized programs that ARM v4 users couldn't run. That's right, there is no XScale optimization support in the Pocket PC Software Developer's Kit (SDK). And if you think this sounds spookily like the lack of tools to allow developers to develop ARM-specific apps for PalmOS 5, everyone pretty much running Dragonball binaries in emulation, you're right. (Sorta. See the footnote if you're interested.) Toshiba's not the only game in town, however. HP is releasing two new XScale iPaqs today, the 3950 and 3970. Cosmetically identical to the iPAQ 3800 series, these devices sport XScale CPUs, consumer-strength IR and universal remote software and transflective screens that should be much crisper and less "milky" than the traditional iPAQ reflective screens. The 3970 also comes with 48MB of Flash, giving users 16MB more space in the iPAQ's Flash file store area than before. Both iPAQs also support SDIO, meaning they can make use of all those SD modems and NICs that still don't exist yet, but data access isn't likely to be much faster than that the essentially MMC slot on the iPAQ 3800 series. Why? Because the XScale CPU itself contains an MMC controller that supports SD and SDIO, and that's almost certainly what HP is using, rather than adding a chip of their own. MMC and SD are very similar, almost identical. The difference is that MMC uses a 1-bit data bus, and SD uses a 4-bit bus. See, we're back to buses again. Since the XScale's controller is MMC-based, the new iPAQs will have 1-bit bus transfer rates. Hang on to your CF sleeves for big data. With the integrated wireless networking of the Toshiba e740, the Phone Edition features of the LOOX and the aforementioned new features of the iPAQs, these devices offer more to potential upgraders than just a faster(?) CPU. But given the fact that for whatever reason-- unoptimized OS, slow data bus, poor memory components-- the new devices don't really provide any increase in performance over what you have now, are there any really compelling reasons to shell out your hard-earned dough? The iPAQ 3950 will retail for $650, and the Bluetooth-enabled 3970 will sell for $750. Why shell out three-quarters of a grand for a device that doesn't perform much better than a cheaper iPAQ 3870? I can think of one very good reason, but I don't know yet if it's valid. Remember that faster performance was only half of the XScale equation. The other half was much better battery life due to dynamic clock speed adjustment. I still haven't been able to get anyone to answer definitively if the XScale devices do this on their own, of if the OS and applications have to be specially written to take advantage of this feature. If the former, then I might just buy a Toshiba e740 anyway-- I don't care about multimedia, and having two slots, WiFi, better battery life and a ClearType-friendly screen in a device no bigger than my current Jornada is tempting. If the latter, well, what's the point? So now begins the long, dark comparison shopping of the soul. Do I milk my Jornada for all it's worth, take a chance on an XScale device, or ditch the platform altogether the instant a Newton-sized Tablet PC hits the market? Jeff Kirvin
Actually, although the full ARM devleopment environment for PalmOS 5 is not yet complete, PalmSource does allow developers to write "ARMlets." These are small ARM-specific routines embedded in Dragonball binaries. On a Dragonball-based device, they do nothing. On an ARM-based device running OS5, they can significantly speed up certain time-sensitive processes, like, ahem, spell checking. While it would be possible for developers to write "XScale-lets" for the Pocket PC that would work much the same way, Microsoft has stated no plans to allow for this. |