RV64X, procesor graficzny typu open source oparty na technologiach RISC-V

Nad projektem pracuje grupa pasjonatów (przy udziale Pixilica) RV64X, oferuje nasz konfigurator ma na celu tworzenie zestaw uzupełniających instrukcji obróbki grafiki 3D i multimediów, które można wykorzystać do integracji funkcjonalności GPU na procesorach RISC-V.

Projekt jest pozycjonowany jako darmowy, Nie wymaga żadnych opłat licencyjnych ani warunków użytkowania, umożliwiając tworzenie w pełni otwartych procesorów graficznych opartych na RV64X.

Pixilica współpracuje z RV64X, aby zaproponować nowy zestaw instrukcji graficznych przeznaczonych do grafiki 3D i przetwarzania multimediów. Może to być połączony procesor graficzny z procesorem ISA. 

Te nowe instrukcje są oparte na zestawie instrukcji wektora podstawowego RISC-V. Dodadzą obsługę nowych typów danych, które są specyficzne dla grafiki jako rozszerzenia warstwowe w duchu jądra RISC-V ISA.

O RV64X

RV64X jest oparty na instrukcjach wektorowych RISC-V ISA, które są wzbogacone o obsługę nowych typów danych i rozszerzeń specyficznych dla wykresów.

Przykładowo, proponowane są dodatkowe operacje przetwarzania pikseli (RGBA), kropek (xyzw), elementów tekstur (UVW-Texels), wektorów (operacje z 2-4 elementami), parametrów materiałowych, obliczeń oświetlenia, matematyki transcendentalnej, buforów głębi (Z - bufor) i bufor ramki (Framebuffer).

Pierwszy prototyp Procesor graficzny oparty na RV64X jest przeznaczony do użytku w mikrokontrolerach i ograniczy się do obsługi graficznego API Vulkan, chociaż z czasem obiecują dodać obsługę OpenGL i DirectX.

Główna motywacja dla rozwoju jest potrzeba elastycznej architektury, która na to pozwala łączenie rozszerzeń w celu efektywnego rozwiązywania konkretnych problemów, takich jak dwufazowe obcinanie stożków, stosowanie szybkich transformacji Fouriera dla dowolnych głębi kolorów oraz implementacja sprzętu SLAM.

Np. RV64X umożliwia implementację własnych etapów dla potoku obliczeniowego, bufory geometryczne, pikselowe i ramek, a także tworzenie własnych tessellatorów.

Wspomina się również, że dzięki RV64X producenci chipów będą mogli przygotować potrzebne im rozwiązania w oparciu o istniejący szkielet, skupiając się na zaawansowanych możliwościach, bez konieczności tracenia czasu na zwykłe rzeczy.

RV64X ewoluuje jako hybrydowy procesor CPU-GPU ISA, pozwalające na tworzenie wyspecjalizowanych mikrokontrolerów graficznych i procesorów wielordzeniowych, które łączą rdzenie obliczeniowe z blokami w celu wykonywania operacji graficznych.

Procesor, który łączy rdzeń RISC-V z blokiem GPU, wygląda jak pojedyncza jednostka (bez wyraźnego mapowania GPU) i jest zaprogramowany przy użyciu ujednoliconego 64-bitowego zestawu instrukcji i modelu SIMD dla równoległości warstwy danych. Architektura RV64X ewoluuje w kierunku kompaktowej i wydajnej implementacji, którą można zaimplementować w oparciu o układy FPGA i ASIC.

Ruch open source, który zmienił rozwój oprogramowania, zyskuje na popularności wśród twórców sprzętu. Wczesne wysiłki skupione na architekturze RISC-V wiodą prym. Badamy obietnice i pułapki związane z rozwojem otwartego sprzętu w naszym kolejnym specjalnym projekcie Open Source.

Wśród funkcji architektury RV64X użycie jednego modelu pamięci dotyczy procesora i karty graficznej, co eliminuje dodatkowe mechanizmy RPC / IPC do tłumaczenia wywołań między pamięcią GPU a procesorem podczas przetwarzania operacji 3D API.

Standardowe operacje graficzne mogą być realizowane na poziomie mikrokodu. Obsługiwane jest tworzenie niestandardowych modułów cieniujących, rasteryzatorów i rozszerzeń śledzenia promieni. Ponadto operacje wektorowe można zaimplementować na poziomie mikrokodu w celu rozwiązania problemów związanych z symulacją, wizją komputerową i uczeniem maszynowym.

Implementacja wzorcowa RV64X zawiera 1 KB pamięci podręcznej L32 dla instrukcji i danych, 8 KB pamięci SRAM dla mikrokodu, dekoder instrukcji, implementacja sprzętowa zestawów instrukcji RV32V i RV64X, dekoder rozszerzonych instrukcji zdefiniowanych w mikrokodzie, wektorowa jednostka arytmetyczna (ALU), 136-bitowy plik rejestru z 1024 elementami, specjalna jednostka funkcyjna (SFU), jednostka teksturująca i konfigurowalny lokalny bufor ramki.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat możesz sprawdzić szczegóły w oryginalnym poście. Link jest taki.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.