Skupina entuzijasta (uz doprinose Pixilice) razvija projekt RV64X, ovo ima za cilj stvaranje skup dodatnih uputa za 3D grafiku i obradu multimedije koji se mogu koristiti za integriranje funkcionalnosti GPU na RISC-V procesorima.
Projekt je pozicioniran kao besplatan, Ne zahtijeva tantijeme i ne nameće uvjete korištenja, omogućujući vam stvaranje potpuno otvorenih GPU-a na temelju RV64X.
Pixilica u suradnji s RV64X predlaže novi set grafičkih uputa dizajniranih za 3D grafiku i obradu medija. To je možda stopljeni ISA CPU-GPU.
Ove nove upute temelje se na RISC-V osnovnom vektorskom skupu uputa. Oni će dodati podršku za nove tipove podataka koji su grafički specifični kao slojevita proširenja u duhu RISC-V ISA kernela.
O RV64X
RV64X temelji se na vektorskim uputama RISC-V ISA, koji su poboljšani podrškom za nove vrste podataka i proširenja specifična za grafikone.
Na primjer, predlažu se dodatne operacije za obradu piksela (RGBA), točkica (xyzw), teksturnih elemenata (UVW-Texels), vektora (operacije s 2-4 elementa), parametara materijala, proračuna osvjetljenja, transcendentalne matematike, međuspremnika dubine (Z - buffer) i međuspremnik okvira (Framebuffer).
Prvi prototip GPU zasnovan na RV64X dizajniran je za upotrebu u mikrokontrolerima i bit će ograničena na podršku za grafički API Vulkan, iako s vremenom obećavaju dodati podršku za OpenGL i DirectX.
Glavna motivacija za razvoj je potreba za fleksibilnom arhitekturom koja omogućuje povezivanje proširenja za učinkovito rješavanje specifičnih problema, poput dvofaznog krnjenja čunjeva, upotrebe brzih Fourierovih transformacija za proizvoljne dubine boja i implementacije SLAM hardvera.
Npr. RV64X omogućuje implementaciju vlastitih faza za računski cjevovod, geometrijski, pikseli i međuspremnici okvira, kao i stvaranje vlastitih teselatora.
Također se spominje da će proizvođači čipova s RV64X moći pripremiti rješenja koja im trebaju na temelju postojeće okosnice, usredotočujući se na napredne mogućnosti, bez trošenja vremena na uobičajene stvari.
RV64X se razvija kao hibridni CPU-GPU ISA, omogućujući stvaranje specijaliziranih grafičkih mikrokontrolera i višejezgrenih procesora koji kombiniraju računske jezgre s blokovima za obavljanje grafičkih operacija.
Procesor koji kombinira RISC-V jezgru s GPU blokom izgleda poput jedne jedinice (bez eksplicitnog mapiranja GPU-a) i programiran je pomoću objedinjenog 64-bitnog skupa naredbi i SIMD modela za paralelizam podatkovnog sloja. Arhitektura RV64X razvija se do kompaktne i učinkovite implementacije koja se može implementirati na temelju FPGA-a i ASIC-a.
Pokret otvorenog koda koji je transformirao razvoj softvera dobiva sve veće mjesto među programerima hardvera. Prednjače rani napori usmjereni na RISC-V arhitekturu. Istražujemo obećanja i zamke otvorenog razvoja hardvera u našem sljedećem Posebnom projektu otvorenog koda.
Među značajkama arhitekture RV64X upotreba jednog modela memorije nalazi se na CPU i GPU, koji eliminira dodatne RPC / IPC mehanizme za prevođenje poziva između GPU memorije i CPU-a prilikom obrade 3D API operacija.
Standardne grafičke operacije mogu se implementirati na razini mikrokoda. Podržano je stvaranje prilagođenih sjenera, rasterezera i proširenja za traženje zraka. Uz to, vektorske operacije mogu se implementirati na razini mikrokoda za rješavanje problema simulacije, računalnog vida i strojnog učenja.
Referentna provedba RV64X uključuje 1 KB L32 predmemorije za upute i podatke, 8 KB SRAM za mikrokôd, dekoder uputa, hardverska implementacija skupova instrukcija RV32V i RV64X, prošireni dekoder instrukcija definiran mikrokodom, vektorska aritmetička logička jedinica (ALU), 136-bitna datoteka registra s 1024 elementa, jedinica posebne funkcije (SFU), jedinica teksture i podesivi lokalni framebuffer.
Konačno, ako želite znati više o tome pojedinosti možete provjeriti u izvornom postu. Poveznica je ovo.