View Full Version : Intel Releases XScale Compiler
Janak Parekh
07-27-2003, 11:30 PM
<div class='os_post_top_link'><a href='http://www.mobilemag.com/content/100/103/C1855/' target='_blank'>http://www.mobilemag.com/content/100/103/C1855/</a><br /><br /></div>Intel released a new compiler last week geared towards XScale-based WinCE devices.<br /><br />"The new compilers support many features already available in version 7.1 of the Intel® C++ Compilers for Microsoft Windows* and offer full support for Intel XScale technology-based processors, including the Intel® PXA25x and the Intel® PXA26x. Key features include support for Intel® Wireless MMX™ technology, compatibility with Microsoft Windows* CE .NET Platform Builder and Embedded Visual C++, interprocedural optimization, floating-point emulation libraries, support for Microsoft-specific intrinsic functions, and, in a version for system manufacturers, debugging extensions that simplify system development."<br /><br />I could see this become very popular in embedded or vertical markets; however, the Pocket PC doesn't use only XScale. There are still StrongARM-based Pocket PCs (like the iPAQ 3870 or the T-Mobile Pocket PC Phone), there are the XScales, the new Samsung ARM chips, and a few TI OMAP solutions. Unless there's a measurable boost, the cost of deploying such a solution and supporting multiple builds will be higher.
rlobrecht
07-28-2003, 12:19 AM
I can see media players and games using this. I believe Pockettv has already started doing x -scale specific optimizations.
Even if they had optimized sections it should be releatively easy to have parts of the code in normal ARMv4 object code to maintain compatibilty, while pushing the envelope of the XScale performance. Most compilers have options at build time for code size/optimization/compatibility etc.
With all the new ARM based CPUs coming out nowadays Intel need something to keep ahead.
droppedd
07-28-2003, 04:17 AM
i wonder what kind of improvements we're looking at here for processor-intensive programs like games, emulation, or media players... could be good once it gets picked up by a few developers.
On the other hand, going back to the days of having different compilations is kind of irritating - ARM/XScale instead of ARM/MIPS/SH3. Although at least XScale devices are backwards compatible with the ARM programs.
i wonder what kind of improvements we're looking at here for processor-intensive programs like games, emulation, or media players... could be good once it gets picked up by a few developers.
On the other hand, going back to the days of having different compilations is kind of irritating - ARM/XScale instead of ARM/MIPS/SH3. Although at least XScale devices are backwards compatible with the ARM programs.
The best players, emulators etc. are already using the new instructions, so probably very little improvement. So expect less than 0-10% improvement in those apps. Some unoptimized applications might benefit a little bit.
This "Wireless MMX" (some stupid pretty useless SIMD instructions) aren't going to help much. :roll:
Edit: Thought that wireless MMX is about ARMv6 SIMD... but it seems to be Intel's thingie, correction, 64-bit wide SIMD does help a little... :oops:
You can do pretty much the same things in ordinary ARM assembler by using a few tricks. CLZ (count leading zeros) instruction helps division & FPU, so those apps that use div or fpu, will benefit a bit. I can't see the XScalemultiply accumulate being useful outside things like mp3-players (and I bet many of the are already using it by now).
I found an article about Wireless MMX (technical details and interesting video decoding comparison).
It states 61% performance enhancement in video decoding at same core frequency, while using 7% more power.
http://www.imt.liu.se/mi/Intern/Proceedings/ICASSP03/pdfs/02-00305.pdf
But where's the processor that supports Wireless MMX? At least PXA250, PXA255 and PXA26x didn't support it, and according to Intel's website, those CPUs are their newest in X-Scale line.
droppedd
07-28-2003, 03:36 PM
But where's the processor that supports Wireless MMX? At least PXA250, PXA255 and PXA26x didn't support it, and according to Intel's website, those CPUs are their newest in X-Scale line.
I believe the wireless MMX is for a coprocessor, not the processor itself, according to the article you posted... I don't suppose most PPCs out now have that coprocessor, though. It shouldn't be a matter of a new processor, though, i think; just a different architecture on the mainboard with a Wireless MMX processor in the place of, say, an ATI graphics accelerator, i suppose.
Anyways, Intel just wants to drum up support from developers before WMMX hits market, i'd imagine. It'd be nice to have software all optimized before devices with it even come out, and it would theoretically be compatible with non-WMMX devices anyways (much as, for example, modern MP3 encoders support SSE and MMX to boost speed, but can encode without it).
but yeah - looks like we're not talking any short-term boosts in speed for existing devices with that.
I believe the wireless MMX is for a coprocessor, not the processor itself, according to the article you posted... I don't suppose most PPCs out now have that coprocessor, though. It shouldn't be a matter of a new processor, though, i think; just a different architecture on the mainboard with a Wireless MMX processor in the place of, say, an ATI graphics accelerator, i suppose.
I doubt it's a co-processor -- remember, we're talking about speeds like 400-1000MHz and single cycle... that kind of bus would be typical for DESKTOP computers... :)
Of course, they use co-processor opcodes for accessing it, those opcodes are reserved exactly for this purpose. I guess those instructions referring co-processor is a bit misleading in this sense, because it's actually integral part of the CPU.
vBulletin® v3.8.9, Copyright ©2000-2019, vBulletin Solutions, Inc.