ARM kontra x86 - pojedynek technologii procesorowych


Efektywność zamiast wydajności – RISC i CISC

Choć częstotliwość taktowania współczesnych procesorów ARM leży w obszarze gigaherców, a wielordzeniowość stała się jednym z ich typowych atrybutów, nie można ich porównywać bezpośrednio pod względem wydajności z układami platformy x86. Mają za podstawę zupełnie inny model programowy. Litera R w akronimie ARM symbolizuje RISC, a to z kolei następny akronim (Reduced Instruction Set Computing) odwołujący się do zestawu instrukcji obsługiwanego przez dany procesor. W układach ARM jest on ograniczony do niewielkiej liczby poleceń z zakresu odwołań do pamięci (instrukcje Load/Store), arytmetyki, operatorów algebry Boole’a i sterowania przebiegiem (instrukcja skoku i instrukcja wywołania procedury). W porównaniu do procesorów CISC (Complex Instruction Set Computing) w platformie x86 to dość skromna pula. Każde z poleceń RISC wymaga do wykonania tylko jednego cyklu maszynowego. Minimalistyczny zestaw rozkazów pozwala projektować procesory o stosunkowo prostej strukturze i mniejszej liczbie tranzystorów. Ograniczenie liczby tranzystorów oznacza niższy pobór mocy przez procesor. Niemniej jednak zestaw rozkazów ARM opatruje wewnętrznie każdą instrukcję w pętlę warunkową If-Else, aby unikać skoków w obrębie kodu i w ten sposób nie spowalniać jego wykonywania. ARM jest odrębnym modelem programowym, więc aplikacje i systemy operacyjne muszą być kompilowane specjalnie pod kątem tej architektury. Oprócz tego warto optymalizować kod źródłowy, aby umożliwić jego jak najszybsze przetworzenie i wyciągnąć jak najwięcej z procesora.

Wadą skąpego zestawu rozkazów RISC jest fakt, iż operacje takie jak obliczenia zmiennoprzecinkowe i dzielenie nie mogą być wykonane w jednym cyklu zegara, lecz wymagają co najmniej kilku. Zupełnie inną drogę obrali projektanci zestawu poleceń CISC. Ten zestaw zapewnia złożone instrukcje, które łączą w sobie kilka operacji niskiego poziomu takie jak odwołania do pamięci i działania logiczne Stanowią więc one swoiste skróty często powtarzających się wzorców. Czynność, której wykonanie zajmuje procesorowi RISC trzy takty maszynowe, układ w architekturze CISC może załatwić w jednym takcie zegara. Nowoczesne procesory platformy x86 dysponują ponadto licznymi rozszerzeniami. Począwszy od modelu klasy 486 (DX) Intel wyposażał swoje układy w koprocesor, a w Pentium i zgodnych modelach wprowadzono dodatkowy zestaw poleceń MMX (Matrix Math Extension). Natomiast konkurent AMD zaczął stosować rozszerzenie 3DNow! w układach K6, które w znacznym stopniu przyspiesza wykonywanie operacji zmiennoprzecinkowych. Później wprowadzono we wszystkich układach architektury x86 rozszerzony zestaw rozkazów SSE (Streaming SIMD Extensions) i jego udoskonalane odmiany, aby przyspieszyć wykonywanie programów poprzez przetwarzanie równoległe na poziomie instrukcji. Wszystkie rozszerzenia zestawu poleceń, którymi dysponuje procesor, podaje narzędzie CPU-Z działające w systemie Windows. Są wyszczególnione w wierszu Instructions na karcie CPU. Aby aplikacje wykorzystywały wszystkie możliwości danego procesora, muszą obsługiwać dostępne w nim rozszerzenia zestawu instrukcji.

ARM kontra x86 - pojedynek technologii procesorowych

Wszystko z układem ARM – model licencyjny architektury procesora i wynikająca z niej zdolność do przystosowywania się umożliwiają projektowanie doskonale dostrojonego do potrzeb układu SoC we wszystkich kategoriach urządzeń elektronicznych.

Procesory energooszczędne – Intel nadrabia zaległości

Z biegiem czasu także producentowi procesorów Intel zaczęło zależeć na zmniejszeniu poboru mocy i emisji ciepła. Jako bezpośredniego konkurenta technologii ARM wysłał do rynkowego boju serię układów Atom, a przedstawioną niedawno temu czterordzeniową jednostką centralną Valleyview dokonał sporego postępu. Przy poborze mocy rzędu 1,5 wata te procesory architektury x86 mają deklasować porównywalne modele platformy ARM. Ma być to możliwe po części za sprawą zmniejszenia grubości ścieżki do 22 nanometrów.

Ten proces technologiczny umożliwia także zaprojektowanie zapowiadanego układu Haswell ULX, który nie wymaga wentylatora i będzie przeznaczony do ultrabooków i tabletów. Jednak ARM nadal przoduje ze swoim modelem licencyjnym pod względem wysokości kosztów i opłacalności. Producenci sprzętu muszą uiszczać tylko opłaty licencyjne za rdzenie ARM i mogą umieszczać je w układach SoC (System-on-a-Chip), które co do najdrobniejszych szczegółów są dostrojone do danego urządzenia. Natomiast SoC w układach Haswell i Atom zapewnia ich producent, Intel.

ARM – zalety i wady

Zalety:

  • mniejsza liczba tranzystorów i niższy pobór mocy niż w procesorach architektury x86

  • niższe koszty produkcji dzięki zastosowaniu modelu licencyjnego

  • duże możliwości integracji dla producentów układów SoC

Wady:

  • złożone operacje nie są wykonywane w jednym cyklu zegara

  • w większości wypadków brak jednostki FPU do operacji zmiennoprzecinkowych

  • występuje w bardzo wielu odmianach ze względu na rozszerzenia stosowane przez poszczególnych producentów