Intel może się martwić: nowy rdzeń ARM powstał z myślą o laptopach z Windowsem
Przez ostatnie lata myśląc o komputerach z procesorami ARMskupialiśmy się przede wszystkim na mitycznych MacBookach, którychsercami miały być wzmocnione wersje znanych z iPhone’a czipówA*. Nic w tym dziwnego, pod względem wydajności, ARM-owe procesoryApple’a daleko uciekły reszcie świata, ich najnowsze generacjedorównują pod wieloma względami ultramobilnym wersjom procesorówx86 Intela czy AMD. Jednak to nie Apple przeprowadzi ARM-owąrewolucję w komputerach osobistych. Nie zrobi tego nawet Qualcomm,którego procesory Snapdragon znalazły zastosowanie w kilku modelachkomputerków Always-Connected PC ze specjalną wersją Windowsa 10.Zrobi to sam ARM, który przedstawiając nowy rdzeń Cortex-A76zerwał z przeszłością, otwierając nową erę w rozwoju tejarchitektury.
02.06.2018 12:42
Klamoty do lamusa… no nie do końca
Już kiedyś konsorcjum ARM zrobiło coś takiego. Mało kto o tymwie, ale pierwsze wersje rdzeni implementujących tę architekturę(ARMv1 i ARMv2) były 26-bitowe, co pozwalało im zaadresować 64 MBpamięci. Były to lata 90, pamiętają to tylko ludzie z długimibrodami, którzy być może mieli komputery firmy Acorn. DopieroARMv3 stał się 32-bitowy, zaś ARMv5 całkowicie porzucił tenmodel programowy procesora.
Współczesne architektury ARM do tej pory zapewniały pełnąkompatybilność z 32-bitowym kodem. Nowy rdzeń Cortex-A76 jestpierwszym, który uruchomi wyłącznie 64-bitowy kod uprzywilejowany,a więc kernel, hiperwizor czy sterowniki. Dla projektantów czipówto wielki sukces: wspieranie wyłącznie 64-bitowego modeluprogramowego znacznie upraszcza budowę procesora, zmniejsza jegozużycie energii, zwalnia miejsce, które może być wykorzystane nacoś innego.
Kluczowe systemy operacyjne, tj. Linux, Android i Windows są naten krok gotowe, nawet Microsoft już zdołał w całości przepisaćswój Windows on ARM na 64-bitową architekturę. Użytkownicy niemuszą zaś panikować: zwykły nieuprzywilejowany kod 32-bitowywciąż będzie można uruchomić, stare aplikacje będą działałyna Cortexie-A76 tak jak powinny.
I to się akurat długo jeszcze nie zmieni – ilośćoprogramowania 32-bitowego na urządzenia wbudowane z procesorami ARMjest bardzo duża, w wielu wypadkach nikt już nie wie, gdzie jestkod źródłowy, nikt nie będzie tego przepisywał. Może też nawetnikomu by się nie chciało. 32-bitowy model programowy ARM jestbowiem bardzo przyjazny dla programistów. Assembler tych procesorówjest bardzo ciekawy – może to zredukowany zestawrozkazów (RISC), ale zarazem dostajemy wiele niespotykanychnigdzie indziej możliwości: np. wszystkie instrukcje mogą byćuruchamiane warunkowo. W rękach wprawnego kodera pozwala to naznacznie krótszy i bardziej czytelny kod. Z drugiej jednak strony,jak się zawsze skarżyli projektanci czipów, implementacja tychprogramistycznych atrakcji w krzemie jest wyjątkowo trudna.
Dlateogo właśnie 64-bitowy model programowy ARM kończy z tymi„bajerami” – warunkowe uruchamianie jest już dostępne tylkodla pętli i rozgałęzień, tak jak w innych modelach. Zarazemułatwia to implementację nowoczesnych technik optymalizacji kodu,takich jak uruchamianie spekulatywne czy przewidywanie rozgałęzień(oraz oczywiście co za tym idzie, podatności na słynną lukęSpectre).
Co nowego w najnowszym rdzeniu?
Jak to zawsze bywa przy nowej generacji sprzętu, nowy Cortex-A76jest szybszy i energooszczędniejszy.O ile? Tego realnie nie da się powiedzieć, wszystko będziezależało od procesu, w jakim finalne procesory zostaną wykonane.Tutaj zaś ARM zapowiada, że ten nowy rdzeń znajdzie się wprocesorach produkowanych w litografii 12 nm i 7 nm oraz wprzyszłości 5 nm.
Jakieś jednak porównanie jest:referencyjny Cortex-A76 zrobiony w procesie 7 nm, pracując ztaktowaniem 3 GHz ma być o 35% szybszy od rdzenia Cortex-A75 zprocesora Qualcomm Snapdragon 845 (proces 10 nm), taktowanego zegarem2,8 GHz i ponad 100% szybszy od rdzenia Cortex-A73 w procesie 16 nm.Wszystko czywiście przy tym samym zużyciu energii. Wynik zostałuśredniony dla różnych zmienno- i stałoprzecinkowych benchmarkówSpecInt2K6.
Usprawnienia w instrukcjach SIMDpozwoliły jednak na jeszcze większą wydajność w dziedziniemaszynowego uczenia – ARM obiecuje tu nawet czterokrotnie większąwydajność.
W samej architekturze rdzeniapojawiło się ciekawe rozwiązanie na froncie. Niezależnie odsiebie działają predyktor rozgałęzień i chwytak instrukcji. Tenpierwszy pobiera z pamięci po 32 bajty na cykl procesora, ten drugipo 16 bajtów. Predyktor jest więc szybszy, ma więc więcej czasuna przygotowanie buforów rdzenia i uruchomienie przewidywanego koduprzed faktycznym nadejściem instrukcji. Ogranicza to wystąpieniasytuacji, w której rdzeń stanie, nie będąc w stanie zrobić nicużytecznego.
Miłośnicy bezpieczeństwasłusznie pomyślą o zagrożeniach całego tego spekulatywnegowykonywania, ale podobno nowa generacja rdzeni ARM ma już sprzętowezabezpieczenia, które będą sobie z tym radziły. Rdzeń mabardziej pilnować kontekstu uruchamiania kodu, utrudniającoprogramowaniu śledzenie innych procesów. Warto też przypomnieć,że w ARM-ach nie ma HyperThreadingu, nie trzeba się martwić odrugi fizyczny wątek w rdzeniu, który by mógł coś zrobić zpierwszym.
Takich optymalizacji ma być wnowym rdzeniu mnóstwo – zbadano dokładnie wszystkie instrukcjepod kątem wydajności i energooszczędności potoku ich wykonywania(a to jest niebagatelna robota, wykonanie niektórych instrukcji tonawet sto etapów w potoku), zoptymalizowano całą hierarchiębuforów pod kątem opóźnień i przepustowości. Same bufory teżrozszerzono: Cortex A76 ma 64 KB czterokierunkowego cache L1 nainstrukcje, 64 KB cache L1 na dane, 256 lub 512 KB cache L2, możeteż korzystać z do 4 MB współdzielonego cache L3 procesora.
Flagowiec i jego drużyna
Obok Cortexa-A76 ARM wprowadził też na rynek nowyenergooszczędny rdzeń Cortex-A55. Będzie on współpracował z A76w architekturze DynamIQ. Tutaj pochwalono się rozbudowaniem pamięcicache L2 i daleko posuniętą optymalizacją podsystemu pamięci.
Kolejna ważna nowość to procesor graficzny Mali-G76, obiecujący30% większą wydajność i 30% wyższą energooszczędność.Łącznie Mali-G76 oferuje 20 rdzeni, trzy silniki na rdzeń, osiempotoków wykonawczych na silniki – razem 480 potoków, o 25% więcejod poprzednika Mali-G72. ARM chwali się też 270% wyższąsprawnością w maszynowym uczeniu – zapewne za sprawąwprowadzenia szybkiej arytmetyki na 8-bitowych liczbach całkowitych.
Całego zestawu dopełnia nowy dekoder wideo V76. Ma on sobieradzić z wideo 8K w 60FPS, tak by można było nim sterować ścianą2×2 wyświetlaczy 4K, albo ścianą 4×4 wyświetlaczy FullHD.Zapewnia też sprzętowe dekodowanie wideo nie tylko dla HEVC, aleteż dla VP9 (oraz oczywiście starych formatów).
Czas na rynek
Nowe rdzenie powinniśmy zobaczyć w procesorach napędzającychkonkretne urządzenia w jakiś rok od ich premiery – tyle zwyklezajmuje licencjobiorcom ARM stworzenie na podstawie dostarczonychschematów swoich konstrukcji. Kiedy jednak się pojawią,spodziewamy się paniki ze strony Intela i AMD.
Pierwsze ultramobilne laptopy z Windowsem i procesorami QualcommSnapdragon 835 okazały się bowiem bić na głowę sprzęt x86 podwzględem czasu pracy – 20 godzin odtwarzania wideo non stop niebyło niczym dziwnym.
Jednak z wydajnością było tak sobie, w niektórych wypadkachustępowały one systemom z Celeronami. Oczywiście trochę w tymwiny Microsoftu – Windows on ARM jest daleko gorzejzoptymalizowany, niż normalny Windows x86, dopiero teraz pojawia siępełne wsparcie dla aplikacji 64-bit. Można powiedzieć, żeAlways-Connected PC pojawiło się ciut za wcześnie.
2019 rok wygląda jednak na rok ARM na laptopie. Możemy sięspodziewać ultralekkich komputerków z Windowsem 10, które będą wstanie pracować pod pełnym obciążeniem ponad dobę na baterii,zapewniając wydajność porównywalną z mobilnymi wersjamiprocesorów Intel Core i znacznie lepsze możliwości graficzne. Ktowie, może sam Microsoft zastanowi się nad produkcją kolejnychurządzeń Surface z takimi szybkimi ARM-ami?
Przyszły rok powinien też przynieść znaczący wzrostmożliwości smartfonów. Flagowce korzystające z Cortexa-A76 będąjuż na tyle wydajne, by mogły transformować się w komputeryosobiste po podłączeniu do stacji dokującej spinającej je zmonitorem, klawiaturą i myszą – takiej choćby jak Samsung DeX.Rozwiązanie Koreańczyków do tej pory pozostawało ciekawostką,brakowało temu mocy. Z nowymi rdzeniami ARM-a powinno się tozmienić.