Hvis du bliver præsenteret for en ARM-processor og en x86-64-processor og bliver bedt om at vælge den arkitektur, der er mest energieffektiv, så vil du formentligt vælge ARM-processoren. De to bygger på forskellige arkitekturer, og den RISC-baserede ARM-processor regnes generelt for at være mere effektiv. Men måske er forskellen ikke så stor i praksis.
Det er konklusionen fra en gruppe af forskere ved Aalto University i Finland og Helsinki Institute of Physics, som har designet en benchmark, der målte på energiforbruget til afvikling af instruktionssættene i en moderne x86-processor.
En x86-processor bygger på Complex Instruction Set Computer-arkitekturen (CISC), mens ARM bygger på Reduced Instruction Set Computer-arkitekturen (RISC). I forhold til energieffektivitet er tanken, at med et mere komplekst instruktionssæt, så er x86-arkitekturen mere energikrævende.
Skal man skifte arkitektur for at spare strøm?
ARM-processorer er den primære processortype i smartphones, og inden for de seneste år er ARM-processorer også dukket op i versioner beregnet til datacentre. Men spørgsmålet er, om det er værd at skifte arkitektur for at opnå en energibesparelse, eller om den skal hentes et andet sted?
Forskerne designede en benchmark, der kunne lægge et usædvanligt pres på selve instruktionssættene i en Intel-processor. For at tilgå selve instruktionssættene direkte og måle energiforbruget, udnyttede de to funktioner i nyere Intel-processorer: Running Average Power Limit og micro-operation cache.
Selve benchmarken består af en række simple aritmetiske operationer på både et array og et register. Derudover er der en række operationer, som forhindrer processoren i at bruge den komplekse decoder til operationerne, så man opnår det mest retvisende resultat.
I en test udført på en Intel-processor fra Haskell-generationen blev Turbo Boost slået fra for at sikre en konstant clockfrekvens, ligesom koden blev kompileret med performance-indstillingen i GCC for at forhindre neddrosling af clockfrekvensen.
Resultatet var, at selve instruktionssætoperationerne blot stod for mellem 3 og 10 procent af energiforbruget. Langt størstedelen af processorens energiforbrug kommer fra de øvrige dele af kernen. Konkret brugte instruktionssættene mellem 1,8 watt og 4,8 watt. Selve processorkernen fraregnet blandt andet cache og hukommelsescontroller brugte 22,1 watt.
Forskerne har ikke gennemført en lignende test på ARM-arkitekturen, men konkluderer, at fordi energiforbruget fra instruktionssættet udgør en meget lille del selv i en test, der er designet til at presse det mest muligt, så er det ikke i den grundlæggende arkitektur, at der kan hentes store gevinster.
Det betyder dog ikke, at der ikke i praksis kan være forskel på, hvor stort energiforbruget er ved at køre en virkelig workload på de to arkitekturer, men årsagen vil ligge i andre komponenter af processoren end selve instruktionssættene.