Już od przyszłego roku konkurenci Huawei będą mogli wykorzystać w swoim sprzęcie nowy rdzeń dla mobilnych procesorów. Podczas targów Computex 2019 konsorcjum ARM zaprezentowało następcę Cortexa-A76, rdzeń Cortex-A77, trzecią generację „dużych” rdzeni technologii DynamiIQ. Projektanci obiecują o 20% większą liczbę instrukcji na cykl przy zużyciu energii takim samym jak u poprzednika – a wszystko to po to, aby „zredefiniować” mobilną wydajność, umożliwić granie na smartfonach w gry AAA i wykorzystać pełen potencjał sieci 5G. Tyle mówi marketing. A co faktycznie przyniesienie rdzeń, który będzie napędzał urządzenia mobilne kolejnej generacji?
Po bliższym zapoznaniu się z architekturą widać, że niespodzianek tu żadnych nie ma. Cortex-A77 może uruchamiać 32- i 64-bitowy kod, ma po 64 KB cache L1 na instrukcje i dane, 256 KB lub 512 KB cache L2 i do 4 MB cache L3. Jest przy tym zgodny z architekturą Armv8.2-A, która w stosunku v8 przyniosła rozszerzony model pamięci, przetwarzanie liczb zmiennoprzecinkowych o połowicznej precyzji, wprowadziła wsparcie dla niezawodności i dostępności w modelu RAS, rozszerzeń statystycznego profilowania SPE i rozszerzeń wektorowych SVE.
Zobacz też: Linus Torvalds jest przekonany, że ARM nie zagrozi x86 na serwerach
Innymi słowy – był to kolejny krok w ewolucji architektury ARM, dostosowujący ją do oczekiwań współczesnego IT. Sęk w tym, że krok ten poczyniony został już ponad dwa lata temu, a pierwszym rdzeniem, w którym samo ARM zastosowało Armv8.2-A, był zeszłoroczny Cortex-A75.
Można tu też zauważyć, że to nie jest wcale najnowsza wersja architektury ARM. Apple znów okazało się być niedoścignione – zastosowane w procesorach A12 Bionic z iPhone’ów Xs i Xr rdzenie Vortex i Tempest obsługują Armv8.3-A, oferujący m.in. takie atrakcje jak wsparcie dla zmiennoprzecinkowych liczb JavaScriptu w assemblerze ARM czy uwierzytelnianie wskaźników.
Nowy Cortex-A77 osiąga ten wzrost wydajności o 20% przede wszystkim poprzez wprowadzenie pamięci podręcznej typu Macro-op (Mop) Cache. Funkcja ta pozwala przyspieszyć wykonywanie instrukcji, dekodując je i dzieląc na oddzielne operacje, które są następnie buforowane. Taka dynamiczna optymalizacja kodu w celu zmiany sekwencji instrukcji często sprawia, że działa ona wydajniej na rdzeniu.
Nie zaszkodziło też rozszerzenie frontendu rdzenia – podwojenie przepustowości pamięci do predyktora rozgałęzień (64 bajty na cykl) przy zwiększeniu jego dokładności, a także powiększenie o 33% bufora celów rozgałęzień (BTB) dla cache L1 o 33% i aż 400% dla L2.
Wprowadzono również ulepszenia w wykonywaniu out-of-order, w celu zwiększenia szerokości i głębokości mikroarchitektury (m.in. 50-procentowe zwiększenie szerokości pasma wysyłek). Rdzeń wykonawczy ma o 50% większą przepustowość łącza wykonawczego. Zmniejszono opóźnienia przy mnożeniu liczb całkowitych i dodano drugi potok szyfrujący AES.
Poprawiono też podsystem pamięci, głównie pod kątem optymalizacji dla paralelizmu, wprowadzono nowe funkcje w zakresie wstępnego ładowania (prefetch) danych, w celu zwiększenia wydajności i wydajności energetycznej – teraz odbywa się to według aktualnej konfiguracji pamięci i jej wykorzystania w klastrze DynamiIQ. Klaster taki pozwala obsłużyć do czterech rdzeni A77, w połączeniu z czterema mniejszymi rdzeniami, takimi jak Cortex-A55. Wówczas zgodnie z założeniami architektury big.LITTLE, A55 wykonują lekkie zadania, aż do momentu, gdy potrzebne będą A77, aby uruchomić cięższy kod.
Zobacz też: Red Hat zapowiada prace nad ARM-owymi laptopami z Fedorą
Oprócz samego Cortexa-A77, ARM zapowiedział też nową architekturę graficzną Valhall z procesorem graficznym Mali-G77, oraz ulepszoną jednostkę do sieci neuronowych – będą one dostępne dla wszystkich licencjobiorców brytyjsko-japońskiego konsorcjum.
Jak widać, w stosunku do ostatniej generacji technologii ARM, jaką dysponuje HiSilicon, zajmujący się produkcją sprzętu dział Huawei, wielkich zmian nie ma. Już wydajność Cortexa-A76 była wystarczająca, by poradzić sobie i z 5G, i z grami AAA (szczególnie przy jakimś lepszym GPU). Jeśli więc przyszłoroczne smartfony Huawei będą wciąż wykorzystywały Cortexy-A76 w procesorach Kirin 980, zwykły użytkownik po prostu nie zauważy większej różnicy – szczególnie jeśli wydajność uda się podnieść dzięki rozwiązaniom software’owym, takim jak ta tajemnicza nowa maszyna wirtualna Androida.