Osnovni dizajn RISC-V otvorenog koda, zašto je Googleu stalo i zašto su važni

RISC-V je besplatni i otvoreni standard arhitekture skupa instrukcija (ISA) za Systems-on-a-Chip (SoC).

CPU je jedna od najvažnijih komponenti naših računala, odgovorna za izvođenje osnovnih izračuna, logičkih usporedbi i premještanja podataka. Ovi jednostavni zadaci građevni su blokovi svake složenije operacije i omogućuju pokretanje naših sustava i programa.

Način na koji se te operacije izvode nije nasumičan: arhitektura skupa instrukcija (ISA) definira što su te operacije i što bi računalni procesori trebali raditi.

ISA definira podržane upute i značajke, ali ne i kako se te upute konkretno provode. Zamislite to kao recept za kuhanje -- recimo da je to za pecivo: dok je recept isti, svaki kuhar će ga drugačije izvesti, na primjer drugačije rasporediti sjemenke sezama. Kuhar koji kuha na temelju recepta je, u našem primjeru, računalni procesor koji izvršava upute prema definiranom ISA. No rezultat će u teoriji uvijek biti isti: ukusna peciva.

ARM logoDrugi skup uputa možda neće izravno definirati kipuću vodu, ali vam umjesto toga omogućuje određene operacije na objektima: zagrijavanje, mjerenje i usporedbu. Kuhar bi sada morao zagrijati vodu i usporediti njezinu izmjerenu temperaturu s poznatom temperaturom vrenja. Postoje dvije glavne vrste arhitekture za procesore: Complex Instruction Set Computing (CISC) i Reduced Instruction Set Computing (RISC).

Jednostavno rečeno, cilj CISC-a je olakšati stvari programerima (nudeći upute za kuhanje vode, druge za zagrijavanje ulja, itd.) po cijenu većeg procesore, dok RISC pokušava imati jednostavniji skup instrukcija, zahtijevajući nešto više truda od programera, ali rezultira manjim procesorima i manjom snagom potrošnja. Budući da dvije arhitekture imaju različite mogućnosti, program koji se izvodi na jednoj obično se mora ponovno napisati da bi se izvodio na drugoj. Jedna od najpopularnijih arhitektura danas na pametnim telefonima dio je RISC obitelji: ARM, što je kratica za Acorn RISC Machine.

Vrijedno je napomenuti da se ovo uglavnom odnosi na kompajlere za programiranje/portiranje. Za druge svrhe, kao što je izrada korisničkog programa, obično biste koristili jezik visoke razine koji je donekle usporediv s CISC-om na razini softvera. Još jedna važna napomena je da je cilj ove usporedbe dati vam jednostavno, ali intuitivno razumijevanje ovih koncepata. Točno, dubinsko objašnjenje bilo bi mnogo duže i više tehnički.

Ovo nas konačno dovodi do RISC-V (izgovara se "rizik pet"), koji je besplatni ISA otvorenog koda za SoC-ove (Sustavi na čipu, koji u osnovi sadrže CPU i druge potrebne komponente za pokretanje sustava zajedno). Većina drugih ISA-a, kao što su oni Intela, IBM-a ili ARM-a, u vlasništvu su i drugi ih ne mogu koristiti bez licenci (čije pregovaranje može potrajati i do nekoliko godina). S druge strane, RISC-V može koristiti, implementirati i proizvoditi bilo tko, besplatno, uz jedini pravi uvjet da se priznaju autori RISC-V.

To omogućuje neovisnim istraživačima i programerima implementaciju vlastitih procesora ili modificiranje open source RISC-V implementacija, nešto što nije moguće s ARM licencom na primjer (za to je potrebna zasebna licenca, koju oko 15 velikih tvrtki imati). U isto vrijeme, ISA također mogu proširiti i modificirati tvrtke bez objavljivanja izvornog koda, na način usporediv s Androidom. Nepostojanje naknada za licenciranje također znači jeftinije procesore, iako to u praksi neće mnogo smanjiti cijene pametnih telefona čak i ako RISC-V dugoročno postaje naširoko korišten: naknada za SoC jednostavno ne čini veliki dio cijene pametnog telefona (Qualcomm uzima 2.5—5% prodajne cijene kao tantijeme, na primjer).

RISC-V nije prvi besplatni ISA, budući da postoje i drugi. Najpopularniji i najaktivnije razvijen od ostalih je OpenRISC, koji je započeo 2000. godine i objavljen je pod GNU GPL. Ignoriranje druge razlike, dopuštajuća licenca RISC-V čini ga vjerojatnijim da ga prihvate veće tvrtke i to čini razliku. Na primjer, Google, Hewlett-Packard Enterprise (HPE) i Oracle tri su veće tvrtke koje imaju nedavno se pridružio standardnu ​​radnu skupinu RISC-V, učinkovito pokazujući svoj interes za RISC-V kao otvoreni standard. Sve dok se sve implementacije pridržavaju specifikacija ("RISC-V usklađeno"), kupci bi i dalje mogli koristiti jedan ekosustav ili drugi (npr. GNU/Linux) u teoriji, dok bi tvrtke imale poticaj za to kako bi izbjegle pisanje ili prijenos svojih sustava s ogrepsti. U isto vrijeme, RISC-V dobiva na snazi ​​znači da manje tvrtke zapravo mogu podržati zajednicu otvorenog koda dok još uvijek imaju fleksibilan sustav (jedna takva tvrtka zainteresirana za RISC-V je lowRISC).

Ostaje za vidjeti može li RISC-V donijeti stvarna poboljšanja ili ne za korisnike koji bi mogli biti zainteresirani za otvorene sustave ili pokretanje bilo kojeg podržanog operativnog sustava na usklađeni SoC-ovi. U isto vrijeme, postoje i drugi potencijalni problemi osim trakcije RISC-V-a: iako dopuštena licenca dolazi s određenim prednostima, također bi mogla omogućiti divovima da koristiti Strategija Embrace, Extend and Extinguish (koji je nedvojbeno slučaj kada su u pitanju Android/AOSP i Googleove usluge ili čak Android Wear) -- iako bi se moglo reći da bi to ipak bilo bolje od trenutne situacije. Čak bi se mogla povući i usporedba između toga i današnje Android scene, s raznim OEM proizvođačima kako bi razlikovali svoje maske kako bi dobili više korisnika, i prilagođene ROM zajednice koje ustraju na moći korisnika.

Posjetiti RISC-V web stranica ako želite saznati više o povijesti i ciljevima projekta ili čak pokušajte sami implementirati RISC-V.