SiFive U8 oficjalnie. Pierwszy procesor RISC-V, który ma szansę powalczyć z ARM

SiFive U8 oficjalnie. Pierwszy procesor RISC-V, który ma szansę powalczyć z ARM01.11.2019 07:37
RISC-V wreszcie może stawać w szranki z ARM, fot. Shutterstock.com

Ostatnimi czasy o modelu programowym RISC-V mówi się coraz więcej, ale dotychczas jakoś nie miało to szczególnego przełożenia na jego rozwój. Jasne, kilku potentatów pokroju WD czy Red Hata zadeklarowało zaangażowanie, ograniczając jednak swój wysiłek do projektowania prostych mikrokontrolerów. W końcu pojawia się światełko w tunelu.

Można by rzec, że – pomimo powszechnej mody na RISC-V – główne ognisko rozwoju tej architektury wciąż pozostaje niezmienne. Mowa o firmie SiFive, założonej w 2015 roku przez naukowców z Uniwersytetu w Berkeley, którzy są też autorami całej koncepcji RISC-V.

W roku 2017 firma SiFive zaprezentowała czipy z serii U5. Stały się one pierwszymi w pełni funkcjonalnymi procesorami RISC-V na świecie. Należy przez to rozumieć, że potrafią pobrać i zdekodować rozkaz, po czym wykonać go i przeprowadzić zapis do pamięci. Przed nimi w ISA RISC-V budowano głównie proste mikrokontrolery, będące - w pewnym uproszczeniu – samą jednostką arytmetyczno-logiczną, uzależnioną od procesora centralnego w innej architekturze.

Na modelu U54 udało się wreszcie odpalić Linuksa. Powiedzieć jednak, że wydajność tego sprzętu pozostawiała wiele do życzenia, to jak nie powiedzieć nic. Przy cenie rzędu 999 dol. za płytkę deweloperską z 8 GB DDR4 RAM, która zbiera baty od kilkuletniej Cortex-A57, skusić na tę zabawkę mogli się co najwyżej fani plucia pod wiatr i masochiści innego typu.

Wydana rok później seria U7 nie była dużo lepsza. Niby przejście na model dual-issue (możliwość przesunięcia dwóch instrukcji w potoku w jednym cyklu zegara) dało już pewien zalążek dobrego, ale nie ma co się oszukiwać: podstawowa superskalarność w dzisiejszych czasach to żaden rarytas, lecz psi obowiązek inżynierów tworzących jakikolwiek procesor. Oczywiście brawa należą się za eksperyment z raczkującą RISC-V. Tylko że oklaski obliczeń nie przyśpieszają.

Koniec protez, powitajmy procesor

Ale oto nadszedł dla SiFive czas, aby porzucić protetykę i zająć się sprzętem będącym czymś więcej niż przetarciem szlaków. Poznajcie debiutanta z października 2019 roku – serię U8.

Mikroarchitektura SiFive U8 to trójfazowy out-of-order; pierwsza implementacja RISC-V z możliwością wykonywania poza kolejnością, o 12-etapowym potoku i trzech jednostkach wykonawczych. Co kluczowe, koncepcja OoO jest tu bardzo współczesna. Mianowicie układ korzysta z fizycznego rejestru, przesuwając tylko wskaźniki do operandów, a nie duże porcje danych jak starsze ARM-y czy choćby AMD Bulldozer. Ciekawostka: jako pierwszy z takiej koncepcji właśnie korzystał Sandy Bridge i to dawało mu w swoim czasie ogromną przewagę.

Jednostka pobierania ma możliwość żądać z pamięci L1I 16 bajtów kodu na cykl i przekazać je do kolejki we front-endzie. Jako że model programowy RISC-V cechuje się zmienną długością instrukcji, w odróżnieniu od chociażby ARM, nie da się wskazać dokładniej liczby rozkazów, jakie pojawią się na wyjściu z dekodera w cyklu. Przyjmując najbardziej powszechny format 32-bit, wynik wynosi cztery. Sam dekoder jest czterodrożny, więc wszystko gra.

Ale do wykonania przekazuje tylko trzy operacje na cykl. Dlaczego? W dokumentacji wyjaśnienia nie ma. Niemniej w teorii zachwianie równowagi pomiędzy pobieraniem a przekazaniem do wykonywania umożliwia lepsze zarządzanie błędnymi przewidywaniami. Przypuszczalnie pozwala także uprościć blok wykonawczy. Choć wyjaśnienie równie dobrze może być znacznie prostsze. SiFive wiele mówi o skalowalności. Przyszłe układy na pewno zwiększą przepustowość, a wtedy dekoder będzie już przygotowany na dodatkowe jednostki.

Skoro wykonywanie poza kolejnością, to oczywiście musi być bufor ROB (ang. ReOrder Buffer). Towarzyszą mu trzy niezależne dyspozytory dla operacji, odpowiednio: stałoprzecinkowych, zmiennoprzecinkowych oraz load/store. W tym miejscu warto nadmienić, że U8 póki co nie wspiera wektoryzacji. Rozszerzenie wektorowe ma być wprowadzone w najbliższej przyszłości w ramach czipu U87. Obecny to U84, nawiasem mówiąc. Możliwe, że SiFive dołoży wyspecjalizowany blok dla operacji macierzowych/SIMD i oto rozwiązanie zagadki z akapitu wyżej.

Niestety, producent nie dzieli się wiedzą na temat bloków FP i L/S. Wystarczyć musi wiedza na temat bloku stałoprzecinkowego, co jednak nie oznacza, że będzie nudno. Zwróćcie uwagę na trzy potoki, z których każdy ma własną kolejkę, jak również specyficzne ALU.

Tylko jeden pełni rolę typowej jednostki arytmetyczno-logicznej. Kolejny obsługuje skoki, a ostatni ma funkcjonalność rozszerzoną o mnożenie i dzielenie liczb całkowitych.

Panie i panowie, SiFive U84

Jak już zdążyłem gdzieś tam wspomnieć między wierszami, mikroarchitektura U8 debiutuje w formie procesora U84. To z grubsza czterordzeniowy czip o taktowaniu 2,66 GHz, z 2 MB pamięci L2, wytwarzany w procesie litograficznym klasy 7 nm. Według danych producenta, w benchmarku SPECint2006 osiąga wydajność 5,3 raza lepszą niż U54 zegar do zegara i nawet 7,2 raza lepszą, uwzględniając wzrost częstotliwości zegara taktującego.

Jest to zatem poziom Cortex-A72. Konstrukcji nie najnowszej, ale wystarczającej do średniej klasy smartfonów czy urządzeń internetu rzeczy. RISC-V zaczyna wyglądać tym samym jak sensowna alternatywa dla ARM, przynajmniej w średnich i dolnych partiach katalogu.

A warto przy tym zwrócić uwagę, że o ile wydajność to poziom A72, o tyle rozmiar rdzenia jest mniejszy niż A55, i to o ponad 20 proc. (Rdzeń A55 ma jakieś 0,36 mm²).

Zresztą, tę akurat zależność SiFive widzi doskonale, oferując de facto SoC z czterema rdzeniami U8, czterema U7 i koprocesorem S2, który może służyć chociażby do zarządzania bezpieczeństwem. Brakuje rzetelnych danych na temat zużycia energii w porównaniu do ARM, ale rozmiar czipu i technologia 7 nm nakazują sądzić, że jest on co najmniej konkurencyjny. Co by nie mówić, panie i panowie, oto pierwszy CPU RISC-V z szansą na komercyjne wykorzystanie.

Teraz pozostaje czekać na U87 i zapowiadane rozszerzenia wektorowe, które z oczywistych przyczyn powinny pomóc jeszcze bardziej wywindować poprzeczkę. Miło widzieć, że na skostniałym rynku architektur, zdominowanym od lat przez x86 i ARM, dzieje się coś świeżego ;)

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.