Vergelijking Intel XScale en StrongARM processors

Na de introductie van de eerste PDA's met de nieuwe XScale processor van Intel bleek al snel dat de performance van deze apparaten enorm tegenviel. Ondanks de bijna twee maal zo hoge kloksnelheid ten opzichte van de oude getrouwe StrongARM processor, was er nauwelijks voordeel in prestaties te merken. In enkele gevallen wist de StrongARM zelfs betere resultaten dan de XScale neer te zetten. Al snel kwam een geruchtenstroom op gang met allerlei verschillende verklaringen voor het tegenvallen van de prestaties. Het meest gehoorde gerucht was dat Microsoft het PocketPC 2002 platform zou moeten optimaliseren voor de nieuwe processor om volledig gebruik te kunnen maken van de mogelijkheden en de kracht ervan. Andy Sjostrom van PocketPC Thoughts wilde meer weten over de oorzaak en vroeg Sven Myhre, CEO van mobiele-softwareontwikkelaar Amazing Games, om een technische verklaring van dit fenomeen.

Intel logoSven Myhre legt uit dat de XScale processor op 400MHz theoretisch een heel stuk sneller is dan de StrongARM op 206MHz, maar ze zijn beiden sterk afhankelijk van de data die ze aangeleverd krijgen. De processoren verwerken de gegevens meestal in blokjes van 32-bits. Omdat de bus slechts 16-bit is, is een bus van twee maal de kloksnelheid van de processor nodig om de processor niet te hoeven laten wachten op data. Wanneer de bus met nog eens 25% verhoogd zou worden, is er genoeg bandbreedte om gegevens snel genoeg tussen de processor en het geheugen te transporteren. Dat betekent dat een XScale processor een bus van 1000MHz nodig zou hebben om de volledige kracht te kunnen benutten. De StrongARM zou met een 515MHz bus kunnen volstaan.

Dit is echter bij lange na niet het geval bij huidige PDA's. De StrongARM PocketPC's hebben een 103MHz bus. De XScale varianten zelfs een bus die op slechts 100MHz draait. Hier zit dus de grote bottleneck. Dit verklaart ook het feit dat in sommige gevallen 400MHz, 300MHz en 200MHz XScale processoren hetzelfde presteren. De kracht van de XScale wordt bij lange na niet benut en het maakt dan ook weinig uit wanneer de processor een stuk langzamer is; het wachten blijft op de gegevens die toegestroomd worden. Het verklaart ook direct waarom een StrongARM soms beter presteert dan een XScale: de bus is 3% sneller.

Sven Myhre legt in een praktisch voorbeeld uit hoe dit effect heeft op de programmeur, hoe ontwikkelaars rekening moeten houden met de verschillende architecturen en voor welke dilemma's ontwikkelaars komen te staan door deze wijziging in architectuur:

Compaq iPaq 3970 PDAThe main problem with slow XScales has nothing to do with XScale (which are based upon ARM v5) 'emulating' StrongARM code (which is ARM v4) no more than you would say a Pentium 4 'emulates' a Pentium 3 when running Windows XP.

And it is NOT a question of simply 'optimizing'Windows CE for XScale. Of course it might give you a few percentages faster code - but it's not worth the trouble going through the entire Windows CE source code and check where we could reorganise structures or access patterns to make better use of the 32 Kb data cache on the XScale. We would probably end up with a highly unstable version of Windows CE were no one new the entire implications of all the changes they made.

Unless we get a faster and/or wider memory bus, we can increase the internal speed on the CPU to the speed of light (and it would probably be blazingly fast in calculating prime numbers or something) - but our real world applications would not really see the difference. As goes for purchase decisions - it is very much up to what you want your Pocket PC to do.

Door Kay Slagman

Nieuwsposter

06-12-2002 • 14:00

20

Bron: PocketPC Thoughts

Reacties (20)

20
20
16
10
2
2
Wijzig sortering
Niet alleen in de 'gewone' wereld moet je dus op een bus wachten. Ook in de huidige wereld van de computers moet je op een bus wachten voordat het op wil schieten. De huidige computers beginnen steeds menselijker te worden. :+

In eerste instantie lijkt het dus wel een misstap maar het is gewoon 'made for the future' zoals ze ons vaak willen doen geloven. Je moet maar zo denken, wat niet is kan altijd nog komen.

Het probleem is alleen de je Pocket PC's niet kan upgraden zoals bijvoorbeeld desktop pc's. Je kunt moeilijk even een ander moederbord, als je daar al van kunt spreken, in je Pocket PC zetten zodat de bus sneller wordt. Of te wel je hebt er helemaal niets aan tenzij je hele nieuwe Pocket PC koopt.
een 16bits bus op 100Mhz en een 32bits processor levert dus een processor die effectief op ongeveer 50Mhz draait :Z Dan kan ik net zo goed zelf een telraam pakken en het met de hand uitrekenen... :+
Anoniem: 47550 @NBK6 december 2002 14:25
Dat is dus niet waar ... als je de processor constant complexe berekeningen geeft zou je de volledige performance er wel degelijk uit kunnen halen.
Dus voor wetenschappelijk doeleinden waarbij dus veel zware berekeningen nodig zijn zou het dingetje zijn volledige kracht kunnen gebruiken ..
Ok, daar ben ik het in principe mee eens,
maar laten we even niet vergeten dat we het hier
over een cpu'tje hebben dat in PDA's wordt gebruikt...

Da's nou niet echt _het_ apparaat wat je een
aardbevings-simulatie laat draaien oid...
Het afspelen van filmpjes/movie trailers in DIVX of WMV vreet wel wat CPU-cyles. Meestal zijn de media-spelers ook zwaar geoptimaliseerd.
Huh?

ik heb een hele fijne Psion 5MX die vrolijk op 36 mh1 draait(processor is wel niet te vergelijken mat die van een PDA) maar de rekenkracht wel.

En wat een 36mhz processor al niet kan, daar sta je toch wel ff van te kijken.
Gebeurt niet vaak dat Intel zijn huiswerk slecht doet, of begint dit een trend te worden? (Granite Bay chipset waarbij AGP 8X het nie best doet)
Een beetje een kromme vergelijking die je maakt.
Granite Bay heeft echt een designfout. Wat hier over de XScale wordt gezegd, komt neer op een foute designkeuze; het is niet per ongeluk fout gegaan, maar opzettelijk.
Waarom ze deze keuze hebben gemaakt? Ga na wat er gebeurt als je 32 datapaden in die kleine pda's moet leggen ipv 16. Dat betekent een complexer moederbordje. Prijs van de pda gaat dan dik omhoog.
Andere optie: fsb op 1000MHz. Energieverbruik van het hele moederbordje wordt daarmee 10x zo hoog. (Fsb op 200MHz is ook al dikke vooruitgang volgens mij, maar dan nog, 2x zoveel verbruik)
Wat heeft intel nu: betaalbaar zuinig platform, en marketingpraat over 400MHz. Dat deden ze al eerder met de P4 op i845 SDR. Niet vooruit te branden, maar wel geld aan te verdienen!
Nu wil ik niet beidehand gaan lopen doen, maar is het niet mogelijk om die bus te overklokken? En zo ja, hoe dan?

Ik ben ook benieuwd eignlijk welke of wat voor soort programmas wel dan wel niet gelimiteerd worden door de wat tragere bus. Dit lijkt me een heel belangrijk punt bij de aanschaf van een PDA (waarom een paar honderd euro extra uit geven aan een 300MHz of 400MHz variant als 200MHz voldoende is), Je zou er ook voor kunnen kiezen om voor de iets oudere strong Arm te gaan...
Toevallig heb ik een kameraad van me z'n Palm wel eens zien OC'en. Ik weet niet met welke (if any) PDA's dat meer kan, maar het is mogelijk.
Anoniem: 52488 6 december 2002 14:06
Ik zie hier enige gelijkenis met ALLE andere moderne microprocessoren als de Pentium2,3,4 en de K6, K6-2 en de Athlon, de TriMedia, de 320C6x, ....
Heb hier nog ergens een Xeon 900Mhz liggen. Effe kijken of hij werkt op mijn 486dx2 bord ;)

Jongens toch, is toch een redelijke blunder van Intel. Zelfs wanneer de software geoptimaliseerd is zal de Xscale niet veel sneller worden........

Jammer

Zag ergens laatst de specs van PocketPC2003, dit zou alleen op de Xscale draaien en niet op de StrongArm?
Windows CE.NET of hoe jij het noemt PocketPC 2003, zal zeker op de strong arm werken, hieronder een chat vanaf MSDN van een MS program manager.
Host Guest_Jason_MS
Q: lexhegt:Will CE.Net support XScale?

Host Guest_Jason_MS
A: The XScale processor supports the ARMV4 instruction set, which allows CE.Net to support XScale. In addition, CE.Net contains a BSP (Board Support Package) that allows customers to run CE.Net on an XScale platform.
Waar zie jij in de quote staan dat CE.Net ook strong arm gaat onder steunen??
volgens mij ging de niewe CE idd maar een proc ondersteunen omdat het anders te complex ging worden (volgens MS)
Hier:
The XScale processor supports the ARMV4 instruction set, which allows CE.Net to support XScale.
Mijn visie op deze text:
CE.NET ondersteund ARMV4 (XScale dus ook, vandaar dat deze ook op CE.NET zal werken) en de StongArm is gemaakt voor deze set.
kom op zeg! Ik geloof er niks van dat Intel dit niet zou weten of een fout gemaakt zou hebben... die jongens kunnen heus wel rekenen!
Het zal waarschijnlijk meer te maken hebben met marketing of zoiets...400Mhz klinkt natuurlijk wel wat heftiger dan 200...
Eigenlijk zeggen ze hier volgens mij dat beide architecturen traag "by design" zijn.
De link met de grote broer mobo's is snel gelegd :)
Je kan ook wel uitrekenen dat het niet aan WinCE ligt, omdat de Sharp Zaurus met linux een vergelijkbaar resultaat geeft; er is een versie met een StrongARM en onlangs een nieuwe met XScale cpu, (206 en 400MHz resp.) en die ontlopen elkaar niet veel kwa snelheid....

Dus voor 1 keer kunnen we het niet op MS schuiven.
Merkwaardig gevoel :P
Dan vraag ik me toch af of er veel verschil zit in performance tussen een 400, 500 en 600 Mhz XScale aangezien die allen last hebben van de beperkende FSB

Op dit item kan niet meer gereageerd worden.