Zespół Google Project Zero zaprezentował Zentool – narzędzie pozwalające na modyfikowanie mikrokodu procesorów AMD opartych na mikroarchitekturze Zen. Chińczycy postanowili wykorzystać potencjalną lukę zabezpieczeń i ogłosili konkurs, którego celem jest opracowanie niestandardowego mikrokodu pozwalającego procesorom AMD wykonywać natywnie… programy napisane w architekturze RISC-V.
Zamiast budować nowy procesor od zera, członkowie projektu Jiachen chcą pójść drogą inżynierii odwrotnej: wykorzystać gotowy, komercyjnie dostępny sprzęt – jak np. AMD EPYC z serii 9004 – i zmienić jego działanie za pomocą nowego mikrokodu. W efekcie ma powstać procesor, który zachowa fizyczną strukturę x86, ale będzie w stanie działać jak układ RISC-V – czyli w architekturze typu RISC (zredukowany zestaw instrukcji).
Nie jest to próba całkowitej transformacji architektury – bardziej eksperyment: czy da się "oszukać" procesor tak, by działał w sposób radykalnie inny, niż zaprojektowano? Jeśli się uda, byłby to pierwszy krok w kierunku stworzenia jednego z najpotężniejszych "RISC-V w przebraniu" na świecie.
Zawody o 20 000 jenów i potencjalnie… przyszłość procesorów
Zgłoszenia do konkursu można nadsyłać do 6 czerwca. Wymagania? Uczestnicy mają przedstawić zmodyfikowany mikrokod, który pozwoli na uruchamianie programów RISC-V bez potrzeby emulacji. Testy mają zostać przeprowadzone przy użyciu popularnych benchmarków, takich jak Coremark czy Dhrystone. Nagroda – choć raczej symboliczna – to 20 000 jenów (ok. 2735 dolarów).
Warunkiem zakwalifikowania jest dostarczenie działających plików binarnych, pełnej dokumentacji, kodu źródłowego (jeśli nie od razu, to w późniejszym pull requeście), zależności i instrukcji testowych. W skrócie: poważny projekt za relatywnie niewielkie pieniądze.
Czy to w ogóle możliwe?
Zdania są podzielone. Eksperci zauważają, że chociaż nowoczesne procesory x86, takie jak te od AMD, korzystają wewnętrznie z tzw. silnika RISC do przetwarzania instrukcji, to ich mikrokod nie jest zaprojektowany do pełnego zastępowania front-endu. Mikrokod ma za zadanie łatać błędy lub wspierać specjalne przypadki – nie służy jako alternatywna warstwa ISA (Instruction Set Architecture).
Użytkownicy portalu YCombinator wskazują, że nawet gdyby cały mikrokod był nadpisywalny (a nie jest), ilość dostępnej pamięci i ścisła integracja z resztą architektury czyni taki projekt praktycznie niemożliwym do realizacji.

Pokaż / Dodaj komentarze do: Chińczycy próbują uruchamiać kod RISC-V na procesorach AMD Zen