Tijdens haar Tech Days 2014 evenement, waarover we op een later moment uitgebreider verslag zullen doen, heeft ARM willen aantonen dat Intel Atom processors niet geschikt zijn voor Android-tablets en dat Intel het zelfs bij Windows-tablets qua stroomverbruik niet kan winnen van ARM. Let wel: de getoonde informatie en grafieken zijn gebaseerd op onderzoek en metingen van ARM zélf en moeten zodoende met een gezonde dosis scepsis bekeken worden. Desalniettemin biedt de door ARM getoonde informatie wat interessante inzichten.
9% van populaire Android apps werkt niet op Intel
Android apps kunnen op twee manieren in de Google Play store gezet worden. De eerste optie is dat de apps met Java-code gemaakt worden en dat ze via de zogenaamde Dalvik interpreter op een tablet of smartphone real-time worden omgezet naar machinecode. Dat werkt bij ARM- en Intel-gebaseerde Android-tablets even goed. Optie twee is dat een developer zélf native code maakt, waarmee betere prestaties te behalen zijn. Zeker bij games en andere apps die intensief gebruikmaken van de hardware is dat laatste in de regel het geval. Met de nieuwste versies van de Android SDK is het mogelijk om zowel ARM- als x86-code te produceren. Veel apps, zeker bij oudere software, zijn echter enkel voor ARM als native code beschikbaar. Intel heeft daarom in de x86-versie van Android functionaliteit toegevoegd die ARM-code real time kan omzetten naar x86-code via binary translation. Dat beperkt echter wel de prestaties, waarover verderop meer.
Zowel juli vorig jaar als afgelopen januari testte ARM de 100 meest populaire apps in de Amerikaanse Google Play Store. Bij het laatste onderzoek was 44% van de apps enkel als ARM native code beschikbaar en moesten deze apps op Intel gebaseerde Android tablets dus van binary translation gebruik maken. 9 van de 100 apps werkte volgens ARM in zijn geheel niet op de Intel tablets. Slechts 44% van de apps werkte zonder trucs op de Intel-tablets, ofwel omdat ze x86 native code hebben, ofwel omdat ze via Dalvik werken.
Om de impact van binary translation in kaart te brengen deed ARM tests met een drietal populaire games op een Intel Clovertrail+ gebaseerde Samsung Galaxy Tab 3 10.1. Zoals we al schreven zijn het juist games waarbij in de regel native code gebruikt wordt. Bij Modern Combat 4, Minecraft en Riptide GP2 deed ARM een vergelijking door de game zowel met x86 native code te draaien, als ook met de ARM native code via de binary translation. De prestaties (gemeten als de gemiddelde FPS) bleken als gevolg van de realtime verwerking van ARM-code gemiddeld een dikke 30% in te zakken, terwijl het stroomverbruik juist met een vergelijkbaar percentage toenam.
ARM deed een vergelijkbare test met GeekBench 3.1.4 waarbij men zowel de native x86-versie als de ARM-versie draaide op de Intel-gebaseerde Samsung tablet. Gemiddeld namen de scores ruim 40% af, terwijl het totale stroomverbruik gedurende de benchmark zo'n 80% toenam.
Het feit dat nog zeer veel Android apps enkel uit ARM-code bestaan en er op basis van de tests geconcludeerd mag worden dat het realtime omzetten van ARM- naar x86-code een flinke performance hit met mee meebrengen, doet ARM concluderen dat Intel-processors feitelijk niet geschikt zijn voor Android-producten, waar ARM de de facto standaard is.
ARM versus Intel Bay Trail
Daarnaast toonde ARM enkele vergelijkende tests tussen een state-of-the-art ARM-chip en Intels nieuwste generatie Bay Trail Atom-processor. Omdat het voor ARM onmogelijk bleek om een op Bay Trail gebaseerde Android-tablet aan te schaffen - wij kennen overigens ook geen Bay Trail Android tablet die al daadwerkelijk te koop is - richtte men zich op het ecosysteem waar Intel traditiegetrouw heer en meester is. Men vergeleek de prestaties en het stroomverbruik van een op Windows 8.1 gebaseerde ASUS T100TA tablet met Intel Z3740 quad-core Bay Trail CPU (1,8 GHz) en een Windows RT 8.1 gebaseerde Nokia Lumia 2520 tablet met op ARM-architectuur gebaseerde quad-core Qualcomm Snapdragon 800 processor (2,2 GHz). Hierbij merken we wel meteen op dat de Z3740 niet Intels snelste Bay Trail chip, dat is de Z3770, maar die wordt pas sinds kort in een beperkt aantal tablets toegepast.
Door beide tablets te openen en modificaties aan de PCB aan te brengen kon ARM geïsoleerd het stroomverbruik van de SoC meten. Andere zaken (scherm, etc.) worden zo buiten beschouwing gelaten. De gebruikte testopstelling werd live gedemonstreerd.
Allereerst toonde ARM de resultaten van een drietal browser benchmarks (Kraken, SunSpider en Octane). Gemiddeld bleek de op ARM-technologie gebaseerde Lumia 2520 tablet 21% langzamer in deze benchmarks, maar tegelijkertijd werd bijna 26% minder stroom verbruikt door de SoC, waardoor ARM concludeert dat de op Snapdragon-chip gebaseerde Lumia efficiënter werkt.
In een vijftal normale gebruiksscenario's (het bekijken van de website fitbit.com, het bekijken van een YouTube video, het gebruiken van de Kaarten applicatie, het spelen van de Halo game en het afspelen van een HD video) is het stroomverbruik van de op ARM-technologie gebaseerde Qualcomm Snapdragon SoC van de Lumia 2520 gemiddeld 1,107 watt, terwijl de Intel Atom Z3740 gemiddeld 1,978 watt verbruikte. Bij dergelijke zaken, waar de CPU niet volledig gebruikt wordt, is het verschil in stroomverbruik volgens ARM dus nog veel groter.
De testopstelling waarmee ARM het stroomverbruik van de SoC's in beide Windows tablets meet.
Nogmaals: neem het allemaal met een korreltje zout...