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
Zalogowani mogą więcej
Możesz zapisać ten artykuł na później. Znajdziesz go potem na swoim koncie użytkownika
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ć.