Skupina nadšenců (s příspěvky Pixilica) vyvíjí projekt RV64X, že si klade za cíl vytvořit soubor doplňkových 3D grafických a multimediálních instrukcí pro zpracování, které lze použít k integraci funkcí GPU na procesorech RISC-V.
Projekt je umístěn jako volný, Nevyžaduje licenční poplatky a neukládá podmínky použití, což vám umožňuje vytvářet plně otevřené GPU založené na RV64X.
Pixilica uzavře partnerství s RV64X a navrhne novou sadu grafických instrukcí určených pro 3D grafiku a zpracování médií. Může to být kondenzovaný ISA CPU-GPU.
Tyto nové instrukce jsou založeny na základní vektorové instrukční sadě RISC-V. Přidají podporu pro nové datové typy, které jsou specifické pro grafiku jako vrstvená rozšíření v duchu jádra RISC-V ISA.
O RV64X
RV64X je založen na vektorových pokynech RISC-V ISA, které jsou vylepšeny podporou nových datových typů a rozšíření specifických pro grafy.
Navrhují se například další operace pro zpracování pixelů (RGBA), teček (xyzw), texturních prvků (UVW-Texels), vektorů (operace s 2-4 prvky), parametrů materiálu, výpočtů osvětlení, transcendentální matematiky, hloubkových nárazníků (Z - buffer) a frame buffer (Framebuffer).
První prototyp GPU založené na RV64X je navrženo pro použití v mikrokontrolérech a bude omezeno na podporu grafického API Vulkan, i když v průběhu času slibují, že přidají podporu pro OpenGL a DirectX.
Hlavní motivace pro rozvoj je potřeba flexibilní architektury, která umožňuje připojení rozšíření k efektivnímu řešení konkrétních problémů, jako je dvoufázové zkrácení kuželů, použití rychlých Fourierových transformací pro libovolné barevné hloubky a implementace SLAM hardwaru.
Např RV64X umožňuje implementaci vlastních fází pro výpočetní potrubí, geometrické, pixelové a rámečkové vyrovnávací paměti a také vytváření vlastních tessellatorů.
Je také uvedeno, že s RV64X budou výrobci čipů schopni připravit potřebná řešení na základě stávající páteře se zaměřením na pokročilé funkce, aniž by museli ztrácet čas běžnými věcmi.
RV64X se vyvíjí jako hybridní CPU-GPU ISA, umožňující vytváření specializovaných grafických mikrokontrolérů a vícejádrových procesorů, které kombinují výpočetní jádra s bloky za účelem provádění grafických operací.
Procesor, který kombinuje jádro RISC-V s blokem GPU, vypadá jako jedna jednotka (žádné explicitní mapování GPU) a je programován pomocí jednotné 64bitové instrukční sady a modelu SIMD pro paralelnost datové vrstvy. Architektura RV64X se vyvíjí směrem ke kompaktní a efektivní implementaci, kterou lze implementovat na základě FPGA a ASIC.
Hnutí open source, které transformovalo vývoj softwaru, se prosazuje mezi vývojáři hardwaru. Na počátku jsou počáteční úsilí zaměřená na architekturu RISC-V. Zkoumáme sliby a úskalí vývoje otevřeného hardwaru v našem dalším speciálním projektu Open Source.
Mezi rysy architektury RV64X použití jediného modelu paměti se nachází na CPU a GPU, což eliminuje další mechanismy RPC / IPC k překladu hovorů mezi pamětí GPU a CPU při zpracování operací 3D API.
Standardní grafické operace lze implementovat na úrovni mikrokódu. Vytváření vlastních shaderů, rasterizérů a rozšíření pro sledování paprsků je podporováno. Navíc lze vektorové operace implementovat na úrovni mikrokódu pro řešení problémů simulace, počítačového vidění a strojového učení.
Referenční implementace RV64X obsahuje 1 KB L32 cache pro instrukce a data, 8 KB SRAM pro mikrokód, dekodér instrukcí, hardwarová implementace instrukčních sad RV32V a RV64X, dekodér rozšířených instrukcí definovaných mikrokódem, vektorová aritmetická logická jednotka (ALU), 136bitový soubor registru s 1024 prvky, jednotka speciální funkce (SFU), jednotka textury a konfigurovatelný místní framebuffer.
Konečně, pokud o tom chcete vědět víc můžete zkontrolovat podrobnosti v původním příspěvku. Odkaz je tento.