Centrum badawczo-rozwojowe firmy Samsung Austin (SARC) opublikowało artykuł szczegółowo opisujący mikroarchitekturę wycofanego, niestandardowego rdzenia procesora Exynos M6.
Wiemy, że niestandardowy projekt rdzenia procesora w Centrum Badawczo-Rozwojowym firmy Samsung w Austin (SARC) dobiegł końca w październiku 2019 r. Jak na projekt, który był promowany z takim entuzjazmem wraz z premierą w 2016 roku procesora Exynos 8890 z procesorem Exynos M1, był to smutny koniec. Dlaczego SARC zawiesiło projekt? Niestandardowy rdzeń Exynos M5, zastosowany w Exynos 990 SoC to ostatni w najbliższej przyszłości w pełni niestandardowy rdzeń zaprojektowany przez Samsunga. Z perspektywy czasu łatwo zrozumieć, dlaczego Samsung zrezygnował z niestandardowych rdzeni, ponieważ po prostu nie były one wystarczająco konkurencyjne. Obecnie wiadomo, że rdzeń Exynos M5 ma 100% deficyt sprawności energetycznej przeciwko Cortex-A77 ARM, co wiele mówi. Jednak nie musiało to tak wyglądać. Projekty Exynos M1 i Exynos M2 były obiecujące, a projekt niestandardowego rdzenia procesora był wówczas postrzegany jako ważny ze względu na konkurencję w przestrzeni procesorów mobilnych. Exynos M3 odnotował duży spadek pomimo znacznego wzrostu IPC i
Exynosa M4 i Exynos M5 nie nadążały za standardowym adresem IP procesora ARM. Jakie zmiany w mikroarchitekturze nastąpiły w kolejnym niestandardowym rdzeniu, anulowanym Exynos M6?Do tej pory odpowiedź na to pytanie nie była znana. Teraz jednak zespół programistów procesorów SARC przedstawił artykuł zatytułowany „Ewolucja architektury procesora Samsung Exynos” (który poznaliśmy poprzez AnandTech) na Międzynarodowym Sympozjum Architektury Komputerów (ISCA), które jest konferencją IEEE. Ujawnia wiele szczegółów na temat poprzednich procesorów Exynos z serii M, a także architektury anulowanego Exynos M6.
Artykuł przedstawiony przez zespół ds. rozwoju procesorów SARC szczegółowo opisuje wysiłki zespołu na przestrzeni ośmiu lat jego istnienia, a także ujawnia kluczowe szczegóły dotyczące niestandardowych rdzeni ARM, począwszy od Exynos M1 (Mongoose) po Exynos M5 (Lion), a nawet niewydany jeszcze procesor Exynos M6, który przed wycofaniem miał znaleźć się w układzie SoC Exynos 990 na rok 2021 następca.
Zespół Samsung ds. procesorów SARC powstał w 2011 roku w celu opracowywania niestandardowych rdzeni procesorów, które następnie były wykorzystywane w systemach Samsung SoC Exynos firmy LSI. Pierwszym układem SoC Exynos, w którym zastosowano niestandardowy rdzeń, był Exynos 8890, który pojawił się w Samsungu Galaxy z 2016 roku S7. Niestandardowe rdzenie pozostawały częścią układów Exynos SoC aż do Exynos 990 z rdzeniami Exynos M5, które były dostępne w wariantach Samsunga Galaxy S20 z procesorem Exynos. (Nadchodzący Exynos 992, który prawdopodobnie pojawi się w Galaxy Note 20, będzie wyposażony w procesory ARM Kora-A78 a nie Exynos M5.) Jednakże firma SARC ukończyła architekturę Exynos M6 zanim zespół ds. procesorów otrzymałem wiadomość o rozwiązaniu w październiku 2019 r., a rozwiązanie zaczęło obowiązywać w r Grudzień.
Artykuł ISCA zawiera tabelę przeglądową różnic mikroarchitektonicznych pomiędzy niestandardowymi rdzeniami procesorów Samsunga od Exynos M1 do Exynos M6. Niektóre z dobrze znanych cech projektu zostały ujawnione przez firmę podczas pierwszego szczegółowego omówienia architektury procesora M1 podczas wydarzenia HotChips 2016. Na HotChips 2018 Samsung szczegółowo omówił Exynos M3. Szczegółowo opisano także architekturę rdzeni Exynos M4 i Exynos M5, a także M6.
AnandTech Zauważa, że kluczową cechą projektów Samsunga na przestrzeni lat było to, że opierały się one na tym samym projekcie RTL, który rozpoczął się od rdzenia Exynos M1 Mongoose. Przez lata Samsung nadal udoskonalał bloki funkcjonalne rdzeni. Exynos M3 stanowił zmianę w porównaniu z pierwszymi iteracjami, ponieważ znacznie poszerzył rdzeń pod kilkoma względami, przechodząc z konstrukcji o szerokości 4 do rdzenia środkowego o szerokości 6. (Z drugiej strony Apple A11, A12 i A13 mają szerokość dekodowania wynoszącą 7 szerokości, podczas gdy Cortex-A76, A77 i A78 mają szerokość 4 szerokości. Cortex-X1 zwiększa szerokość dekodowania do 5 szerokości.)
Raport zawiera także pewne ujawnienia, które wcześniej nie były publiczne, dotyczące Exynos M5 i M6. W przypadku Exynos M5 Samsung wprowadził większe zmiany w hierarchii pamięci podręcznej rdzeni, zastępując prywatne pamięci podręczne L2 nową większą współdzieloną pamięć podręczną, a także ujawnienie zmiany w strukturze L3 z projektu 3-bankowego na projekt 2-bankowy z mniejszą liczbą czas oczekiwania.
Anulowany rdzeń M6 byłby większym skokiem pod względem mikroarchitektury. SARC wprowadził duże ulepszenia, takie jak podwojenie instrukcji L1 i pamięci podręcznej danych z 64 KB do 128 KB - AnandTech zauważa, że jest to wybór projektowy, który został dotychczas wdrożony wyłącznie w rdzeniach Apple z serii A, począwszy od Apple A12.
Przepustowość L2 została podwojona do 64B/cykl, podczas gdy L3 odnotowała wzrost z 3MB do 4MB. Exynos M6 byłby rdzeniem dekodującym o szerokości 8. Jak zauważył AnandTechbyłaby to najszersza obecnie znana komercyjna mikroarchitektura pod względem dekodowania. Jednakże, mimo że rdzeń był znacznie szerszy, w jednostkach wykonawczych na liczbach całkowitych nie zaobserwowano zbyt wielu zmian. Jeden złożony rurociąg dodał możliwość drugiego dzielenia liczb całkowitych, podczas gdy rurociągi załadunku/magazynu pozostały takie same jak w przypadku M5 z jedną jednostką ładunkową, jedną jednostką magazynującą i jedną jednostką ładunkową/magazynową. W rurociągach zmiennoprzecinkowych/SIMD zainstalowana byłaby dodatkowa czwarta jednostka z funkcjami FMAC. L1 DTLB zwiększono z 48 do 128 stron, a główny TLB został podwojony ze stron 4 tys. do 8 tys. stron (pokrycie 32 MB).
Exynos M6 stanowiłby kolejną znaczącą zmianę w stosunku do swoich poprzedników, zwiększając okno nieprawidłowej kolejności rdzenia po raz pierwszy od M3. Byłyby większe pliki rejestrów fizycznych z liczbami całkowitymi i zmiennoprzecinkowymi, a ROB (bufor ponownego zamówienia) wzrósłby z 228 do 256. AnandTech zauważa, że jedna ważna słabość niestandardowych rdzeni Exynos jest nadal obecna w M5 i byłaby obecna również w M6. To głębsze etapy potoku skutkowałyby kosztowną karą za błędne przewidywanie wynoszącą 16 cykli, która była wyższa niż w przypadku rdzeni procesorów ARM, które podlegają karze za błędne przewidywanie w ciągu 11 cykli. Artykuł SARC jeszcze bardziej zagłębia się w projekt predyktora rozgałęzień, prezentując konstrukcję rdzenia procesora opartą na Scaled Hashed Perceptron. Projekt ten byłby stale udoskonalany na przestrzeni lat i wdrożeń, poprawiając dokładność gałęzi i stale redukując błędne przewidywania na kilogram instrukcji (MPKI). SARC przedstawia tabelę pokazującą ilość struktur pamięci, które predyktor rozgałęzień zajmuje w obrębie frontonu. W artykule opisano również szczegółowo technologie pobierania wstępnego rdzenia, obejmujące wprowadzenie pamięci podręcznej µOP w M5, a także wysiłki zespołu mające na celu wzmocnienie rdzenia przed lukami w zabezpieczeniach, takimi jak Widmo.
SARC szczegółowo opisała w artykule wysiłki mające na celu poprawę opóźnienia pamięci w niestandardowych rdzeniach Exynos. W Exynos M4 zespół SARC zastosował mechanizm kaskadowy obciążenia, który zmniejszył efektywne opóźnienie cyklu L1 z czterech do trzech cykli przy kolejnych obciążeniach. W rdzeniu M4 wprowadzono także obejście ścieżki z nowym interfejsem prowadzącym z rdzeni procesora bezpośrednio do kontrolerów pamięci, co pozwoliło uniknąć ruchu przez połączenie międzysieciowe. Według AnandTech, wyjaśnia to niektóre z większych ulepszeń w zakresie opóźnień, które udało się zmierzyć w publikacji za pomocą Exynos 9820. W Exynos M5 wprowadzono obejście spekulatywnego wyszukiwania pamięci podręcznej, które wysyłało żądanie jednocześnie do połączenia międzysieciowego i znaczników pamięci podręcznej. Prawdopodobnie pozwoliłoby to zaoszczędzić na opóźnieniach w przypadku braku pamięci podręcznej w trakcie żądania pamięci. Średnie opóźnienie obciążenia było również stale poprawiane w kolejnych generacjach z 14,9 cykli na M1 do 8,3 cykli na M6.
Chociaż powyższe cechy mikroarchitektury są dość techniczne, entuzjaści procesorów będą zaznajomieni z terminem „Instrukcje na zegar” (IPC), co oznacza na MHz wydajność procesora jednowątkowego (jest to główny, główny czynnik określający wydajność procesora jednowątkowego, a drugim czynnikiem jest szybkość zegara procesora) rdzeń). Zarówno liczba całkowita IPC, jak i zmiennoprzecinkowa IPC są wyznacznikami IPC. Zespołowi SARC udało się uzyskać średnio 20% rocznych ulepszeń z M1 do M6. W szczególności M3 reprezentował dużą procentową poprawę IPC, chociaż został zawiedziony przez inne czynniki. Exynos M5 stanowił poprawę IPC o 15–17%, podczas gdy poprawa IPC w przypadku niewydanego Exynos M6 ujawniono, że średnia wynosi 2,71 w porównaniu z 1,06 dla M1, co stanowi poprawę o 20% w stosunku do M5.
Brian Grayson, prezenter gazety, podczas sesji pytań i odpowiedzi odpowiedział na pytania dotyczące odwołania programu. Powiedział, że zespół zawsze osiągał wyznaczone cele i działał zgodnie z harmonogramem, poprawiając wydajność i efektywność z każdą generacją. (Czy to oznacza, że cele nie były od początku wystarczająco wysokie?). Z drugiej strony największą trudnością zespołu było zachowanie szczególnej ostrożności w przewidywaniu przyszłości zmiany w projekcie, ponieważ zespół nie miał zasobów, aby zacząć od zera lub całkowicie przepisać plik blok. Z perspektywy czasu można stwierdzić, że w przeszłości zespół podjąłby inne decyzje, kierując się niektórymi kierunkami projektowania. Dla kontrastu ARM ma wiele zespołów zajmujących się procesorami, pracujących w różnych lokalizacjach, które faktycznie ze sobą konkurują. Umożliwia to „przeprojektowanie od podstaw”, np Kora-A76. The Kora-A77 i Cortex-A78 są bezpośrednimi następcami A76.
Zespół SARC miał pomysły na ulepszenia nadchodzących rdzeni, takich jak hipotetyczny Exynos M7. Jednak podobno to bardzo wysoko postawiona osoba w Samsungu zdecydowała się anulować niestandardowy program podstawowy. Jak AnandTech zauważa, że niestandardowe rdzenie nie były konkurencyjne pod względem efektywności energetycznej, wydajności i wykorzystania obszaru (PPA) w porównaniu z procesorami ARM dowolnej konkretnej generacji. W zeszłym miesiącu firma ARM ogłosiła program Cortex-X Custom obejmujący nowość Kora X1, rdzeń nowej generacji przeznaczony dla urządzeń mobilnych w 2021 roku. Kieruje się filozofią projektowania polegającą na przełamywaniu powłoki Cortex-A PPA i zamiast tego dążeniu do absolutnej wydajności. Dlatego Exynos M6 miałby trudności z konkurowaniem z nim. Mimo to wydaje się, że Samsung nie dostosuje Cortex-X1 i w Exynos 992 będzie korzystać wyłącznie z kombinacji Cortex-A78 + Cortex-A55 – może jednak zostać zastosowany w przyszłorocznym flagowcu Galaxy S.
Zespół SARC nadal projektuje niestandardowe złącza i kontrolery pamięci dla Samsung Systems LSI. Pracował także nad niestandardowymi architekturami GPU, ale Samsung Systems LSI podpisał umowę z AMD do wykorzystania architektury procesorów graficznych RDNA nowej generacji (architektura graficzna Next) firmy AMD w przyszłych procesorach graficznych Exynos, począwszy od 2021 r.
Ogólnie rzecz biorąc, projekt niestandardowego rdzenia procesora był pouczającą lekcją dla dostawców układów mobilnych na temat tego, co może pójść nie tak. Zespół SARC CPU miał duże ambicje konkurowania z firmą Apple, która jest niekwestionowanym liderem w przestrzeni procesorów mobilnych. Niestety nie udało mu się konkurować z ARMem, nie mówiąc już o Apple. Problemy można było rozwiązać, ale rok po roku wysiłki SARC były o krok lub dwa w tyle odbiło się to negatywnie na produktach wysyłkowych, takich jak warianty Exynos 9810 Samsunga Galaxy S9. Teraz wszyscy główni dostawcy chipów mobilnych z Androidem będą używać standardowego adresu IP procesorów ARM od 2021 roku, a ta lista obejmuje Qualcomm, Samsung, MediaTek i HiSilicon. Walka zostanie przeniesiona do Apple z rdzeniami takimi jak Cortex-X1, a nie niestandardowymi rdzeniami ARM zaprojektowanymi od podstaw.
Źródło: Ewolucja architektury procesorów Samsung Exynos | Przez: AnandTech