Trial and error
Undervoltning innebär precis som överklockning att man på det stora hela får testa sig fram för att hitta rätt nivå att lägga sig på. Smartphones skiljer inte i kylningsförmåga eller liknande, men kretsarnas oundvikligen unika beteende gör att vissa är mer lämpade för att nå höga klockfrekvenser, eller för den delen arbeta stabilt vid lägre spänningar.
I denna artikel är vårt mål att försöka sänka den ganska höga maxförbrukningen som Samsung Exynos 4210-krets stoltserar med. Att sänka spänningen till systemprocessorn är något som fungerar på de flesta Android-telefoner på marknaden och exempelvis LG Optimus 2X med Tegra 2 är en av de modeller som ofta får sina klockfrekvenser och spänningar modifierade.
Med Exynos 4210 bör vi rent teoretiskt ha mer att hämta då strömförbrukningen helt enkelt är högre överlag vid maximal belastning och tack vare Tegrak Overclock kan vi ge oss på spänningarna i både CPU och GPU.
Lägre energiförbrukning vid bibehållen prestanda
Förutom att spänningen har en stor inverkan på strömförbrukningen i mikroprocessorer finns det även ytterligare en stor fördel med att sikta in sig på spänningen istället för klockfrekvenserna. Sänker man klockfrekvenser så sänker man energiförbrukningen, men man tappar också prestanda. Så är inte fallet med undervoltning där en sänkt spänning endast ger lägre energiförbrukning och inget annat.
Det enda man behöver tänka på är att hitta den nivå där systemprocessorn kan drivas utan att bli ostabil. Alla kretsar är olika och detta är en av anledningarna till att alla processortillverkare sätter standardspänningar med viss prutmån. Man vill helt enkelt inte riskera att kretsarna blir ostabila vid drift, även om de så skulle drabba en handfull telefoner innebär det jobb och extra kostnader.
Därför finns det i de flesta systemprocessorer en hel del överskott att ta av. Man får testa genom att sänka spänningen i nivåer och se när telefonen blir ostabil. Vi försökte med andra ord hitta de absolut lägsta spänningar som gick att använda i systemprocessorn vid dess givna standardfrekvenser. Helt enkelt för att se hur mycket lägre strömförbrukning vi kunde åstadkomma utan att tappa någon prestanda.
Testa dig fram för optimala inställningar
Tegrak Overclock testar stabiliteten direkt efter en ändring i inställningarna och när man kommer till den gräns där telefonen fryser eller stänger av sig får man helt enkelt starta om telefonen och börja om. Ett tips kan vara att inte aktivera “bibehåll inställningar efter omstart” förrän ni är säkra på att er överklockning åtminstone håller mer än några sekunder.
Vill man hitta de absolut optimala inställningarna tar det ganska lång tid av testande, inte minst då Galaxy S II använder sig av fem olika prestandaprofiler. Här kan man ställa individuella klockfrekvenser och spänningar för CPU-kärnorna och övriga logiska kretsar i processorn. Eftersom processorn växlar mellan dessa profiler vid olika belastning är det viktigt att man ser över alla för att få en så effektiv telefon som möjligt. Dessa profiler är också huvudorsaken till att Galaxy S II bjuder på riktigt fin batteritid vid vanlig användning. Men det finns också en annan orsak vilket vi återkommer till.
Fokus på batteritid, prestanda finns i överflöd
Vi beslutade oss efter lite snabba överklockningstester tidigare förra veckan att lägga ett större fokus på just batteritiden och telefonens energiförbrukning. Helt enkelt för att Galaxy S II och Exynos 4210 redan är en rykande snabb kombination och även om det alltid är intressant med mer prestanda hade denna artikel blivit allt för lång om vi även försökt hitta en optimal kombination av överklockning och lägre spänningar.
Efter ett par dagars testande (det är inte kul att köra om 10 timmars batteritest för att man glömt en inställning..) kom vi fram till vad som var ganska nära de optimala inställningarna för vår telefon. Dessa var stabila nog att ta oss igenom båda våra batteritester och speciellt vårt tortyrtest är mer krävande än vad någon vanlig användning kan uppbringa så vi är ganska säkra på att detta är nivåer de flesta bör kunna närma sig vid vanlig användning.
Vi passade på att göra en tabell för våra prestandaprofiler och den nivå vi lade våra spänningar vid.
CPU-Frekvens | CPU-spänning (Standard) | Intern späning(Standard) | |
1 200 MHz | 1175 mV (1275 mV) | 950 mV (1100 mV) | |
1 000 MHz | 1050 mV (1175 mV) | 900 mV (1100 mV) | |
800 MHz | 950 mV (1075 mV) | 850 mV (1100 mV) | |
500 MHz | 850 mV (975 mV) | 800 mV (1000 mV) | |
200 MHz | 800 mV (950 mV) | 800 mV (1000 mV) |
Som synes kunde vi sänka spänningarna ganska rejält i alla prestandaprofilerna och hade vi baserat stabiliteten på vanlig användning hade vi troligtvis kunnat klara oss med ytterligare lite lägre spänning vid 1 200 MHz, men vårt tortyrtest är ganska krävande. Men en sänkning av CPU-spänningen på närmare 8 procent vid full belastning är inte fy skam. Ännu bättre är de 15% vi lyckades sänka spänningen vid instegsprofilen på 200 MHz.
GPU-Frekvens | GPU-spänning |
267 MHz | 975 mV (1000 mV) |
160 MHz | 925 mV (950 mV) |
Efter att Tegrak i en senare version av sin överklockningsmjukvara även öppnat upp för ändringar av frekvenser och spänningar till grafikdelen kunde vi givetvis inte låta dessa vara heller. Här var det dock lite känsligare och vi kunde endast sänka spänningen med 25 mV på vardera profil.
När vi hittat våra stabila referensvärden var det dags att dra igång strömförbrukningstesterna för att se om vi kan uppmäta några skillnader i batteritid med vår energisnålare systemprocessor.