artykuły

Rzecz o procesorach ARM, ich pojedynku z procesorami x86 oraz ich przyszłości

Anatomia ARM

82 6 sierpnia 2016, 09:00 Mieszko Krzykowski, Mateusz Brzostek

Problemy z oceną wydajności procesorów ARM

Na dalszych stronach analizujemy wydajność różnych procesorów ARM, a potem próbujemy odnieść wyniki do tego, co znamy ze świata x86. Najpierw musimy jeszcze wyjaśnić kilka rzeczy i omówić pewne problemy, które przysparzają tego rodzaju porównania.

1. Ten sam procesor w różnych urządzeniach może zapewniać zupełnie inną wydajność

Rynek mikroserwerów ARM jeszcze raczkuje, więc docelowym sprzętem dla wysokowydajnych układów ARM są w tej chwili różnego rodzaju urządzenia przenośne: smartfony, tablety i chromebooki. I to właśnie głównie smartfony posłużyły nam w tym teście za swoiste platformy testowe procesorów. Jedynym użytym przez nas niesmartfonem jest konsola Nvidia Shield TV z aktywnie chłodzoną Tegrą X1.

Niestety, najwydajniejsze czipy ARM często są... trochę zbyt wydajne. Zbyt wydajne w tym sensie, że urządzenia rozmiarów smartfona nie są w stanie efektywnie odprowadzić produkowanego przez nie ciepła. O ile większość telefonów osiąga maksymalną wydajność w czasie krótkich testów syntetycznych pokroju Geekbencha i AnTuTu, o tyle wszystkie dłuższe benchmarki są dla nich bardzo problematyczne. A niektóre z wykorzystanych przez nas testów mogą trwać nawet kilkanaście minut. W szczególnych przypadkach prowadzi to do takiej oto sytuacji:

Ta sama jednostka centralna, a wyniki zupełnie inne. Jak widać, nazwa i „pudełkowe” taktowanie jakiegoś procesora w praktyce mogą nam niewiele mówić o tym, jaką wydajność dostaniemy. Oczywiście, osławiony Snapdragon 810 to skrajny przypadek i jego problemy z apetytem na prąd są wręcz legendarne, ale i tak w tej chwili na rynku nie ma telefonów z procesorem wysokiej klasy, które w ogóle nie spowalniają taktowania w czasie, gdy obciążone są wszystkie rdzenie. Przygotowując ten tekst, sprawdziliśmy, jak to dokładnie wygląda w przypadku kilku znanych smartfonów z różnymi czipami. Zbadaliśmy, jak kształtuje się ich taktowanie, gdy na dłużej obciąży się wszystkie rdzenie procesora, cztery z nich lub tylko dwa. Poniższe wykresy przedstawiają częstotliwość taktowania jednostki centralnej w czasie kodowania wideo za pomocą biblioteki x264 uruchomionej z flagą ograniczającą maksymalną liczbę wątków.

Nexus 6
Snapdragon 805 4×2,7 GHz Krait 450
4 wątki 2 wątki

Skalę problemu najlepiej widać po Samsungu Galaxy S6. Jego Exynos 7420 utrzymuje swoje maksymalne taktowanie tylko przez pierwszych kilka sekund trwania testu – i to nawet wtedy, gdy wykorzystuje się tylko dwa z jego rdzeni. Na podstawie tego rodzaju wyników nie można jednoznacznie i ostatecznie ocenić wydajności omawianego procesora i trzeba mieć to w pamięci w czasie analizowania wykresów na dalszych stronach. Sytuacja wygląda znacznie lepiej w przypadku testów jednowątkowych; one w miarę dobrze reprezentują potencjał konkretnej architektury.

2. Wszystkie dalsze porównania mają charakter orientacyjny

...w mniejszym lub większym stopniu. Po pierwsze, z powodu opisanego powyżej, a po drugie dlatego, że nie mamy pełnej kontroli nad wszystkim, co wpływa na wydajność w danym teście. Smartfonowe procesory są łączone z pamięcią operacyjną (RAM) o różnej szybkości i z oczywistych powodów nie można wymienić jej na inną. Układy te różnią się też taktowaniem, więc trudno o w pełni satysfakcjonujące porównanie „zegar w zegar”. Teoretycznie dałoby się przejąć nad tym kontrolę po zrootowaniu systemu i ustawieniu własnych tablic częstotliwości taktowania; niestety, nie możemy robić takich rzeczy z telefonami, które dostajemy do testów.

Jeszcze o jednym trzeba szczególnie pamiętać w czasie lektury wszelkich porównań wydajności układów ARM-ów z procesorami x86: testy te są uruchamiane w urządzeniach z zupełnie różnymi systemami operacyjnymi. Trzonem naszej analizy są własnoręcznie skompilowane pod Windows i Androida wersje 7-Zipa, x264 oraz Lame MP3 i pilnujemy, żeby w każdym przypadku kompilator ustawiał takie same optymalizacje. Niestety, różne platformy to różne platformy. Krótko mówiąc, wyniki naszych testów nie mają powiedzieć, o ile procent procesor X jest szybszy od procesora Y, a jedynie pokazać przybliżoną skalę różnic między nimi. 

3. Wielcy nieobecni

Wielu z Was zapewne zauważy, że w naszych porównaniach na większości wykresów brakuje sprzętu Apple. Niestety, urządzenia tej marki po prostu nie pozwalają uruchomić wszystkich potrzebnych narzędzi.

5