Odprtokodne osnovne zasnove RISC-V, zakaj je Google mar in zakaj so pomembne

RISC-V je brezplačen in odprtokodni standard arhitekture nabora ukazov (ISA) za sisteme na čipu (SoC).

CPE je ena najpomembnejših komponent naših računalnikov, odgovorna za izvajanje osnovnih izračunov, logičnih primerjav in premikanje podatkov. Te preproste naloge so gradniki vsakega bolj zapletenega delovanja in omogočajo delovanje naših sistemov in programov.

Način izvajanja teh operacij ni naključen: arhitektura nabora ukazov (ISA) določa, kaj so in kaj naj bi računalniški procesorji počeli.

ISA definira podprta navodila in funkcije, ne pa tudi, kako se ta navodila konkretno izvajajo. Pomislite na to kot na recept za kuhanje – recimo, da gre za pecivo: čeprav je recept enak, ga bo vsak kuhar izvajal drugače, na primer drugače razporedil sezamova semena. Kuhar, ki kuha po receptu, je v našem primeru računalniški procesor, ki izvaja navodila po definiranem ISA. Rezultat pa bo v teoriji vedno enak: okusna peciva.

Logotip ARMDrugačen nabor navodil morda ne bo neposredno definiral vrele vode, ampak namesto tega omogoča izvajanje določenih operacij na predmetih: segrevanje, merjenje in primerjava. Kuhar bi zdaj moral segreti vodo in primerjati njeno izmerjeno temperaturo z znano temperaturo vrelišča. Obstajata dve glavni vrsti arhitekture za procesorje: Complex Instruction Set Computing (CISC) in Reduced Instruction Set Computing (RISC).

Preprosto povedano, cilj CISC je olajšati stvari programerjem (ponuditi navodilo za prekuhavanje vode, drugo za segrevanje olja itd.) na ceno večjih procesorji, medtem ko RISC poskuša imeti enostavnejši nabor navodil, kar od programerjev zahteva nekaj več truda, vendar ima za posledico manjše procesorje in manj energije poraba. Ker imata dve arhitekturi različne zmogljivosti, je treba program, ki deluje na eni, običajno prepisati, da deluje na drugi. Ena izmed najbolj priljubljenih arhitektur danes na pametnih telefonih je del družine RISC: ARM, kar pomeni Acorn RISC Machine.

Omeniti velja, da to večinoma velja za prevajalnike za programiranje/prenašanje. Za druge namene, kot je izdelava uporabniškega programa, bi običajno uporabljali jezik na visoki ravni, ki je nekoliko primerljiv s CISC na ravni programske opreme. Druga pomembna opomba je, da je ta primerjava namenjena preprostemu, a intuitivnemu razumevanju teh konceptov. Natančna, poglobljena razlaga bi bila veliko daljša in bolj tehnična.

To nas končno pripelje do RISC-V (izgovarja se "tveganje pet"), ki je brezplačna in odprtokodna ISA za SoC. (Sistemi na čipu, ki v bistvu zapakirajo CPE in druge potrebne komponente za delovanje sistema skupaj). Večina drugih ISA-jev, kot so tisti Intela, IBM-a ali ARM-a, je lastniških in jih drugi ne morejo uporabljati brez licenc (kar lahko traja do nekaj let, da se pogajajo). Po drugi strani pa lahko RISC-V uporablja, implementira in izdeluje kdorkoli, brezplačno, pri čemer je edini pravi pogoj priznanje avtorjev RISC-V.

To neodvisnim raziskovalcem in razvijalcem omogoča implementacijo lastnih procesorjev ali spreminjanje odprtokodnih implementacij RISC-V, nekaj, kar na primer ni mogoče z licenco ARM (za to je potrebna ločena licenca, ki jo približno 15 velikih podjetij imeti). Hkrati lahko podjetja ISA razširijo in spremenijo, ne da bi izdala izvorno kodo, na primerljiv način kot Android. Odsotnost licenčnin pomeni tudi cenejše procesorje, čeprav to v praksi ne bo veliko znižalo cen pametnih telefonov, tudi če RISC-V se dolgoročno pogosto uporablja: licenčnina za sisteme na čipu preprosto ne predstavlja velikega deleža stroškov pametnega telefona (Qualcomm vzame 2.5—5% prodajne cene kot licenčnine, na primer).

RISC-V ni prvi brezplačni ISA, saj obstajajo tudi drugi. Najbolj priljubljen in najbolj aktivno razvit od drugih je OpenRISC, ki se je začel leta 2000 in je izdan pod GNU GPL. Ignoriranje druge razlike, dovoljena licenca RISC-V omogoča večjo verjetnost, da jo sprejmejo večja podjetja, kar pomeni razliko. Na primer, Google, Hewlett-Packard Enterprise (HPE) in Oracle so tri večja podjetja, ki imajo nedavno pridružil delovna skupina za standarde RISC-V, s čimer so dejansko pokazali zanimanje za RISC-V kot odprt standard. Dokler vse implementacije ustrezajo specifikacijam ("RISC-V compliant"), bi stranke še vedno lahko uporabljale en ekosistem oz. drugi (npr. GNU/Linux) v teoriji, medtem ko bi imela podjetja spodbudo, da to storijo, da se izognejo pisanju ali prenosu svojih sistemov iz praskati. Hkrati pa RISC-V postaja vedno bolj priljubljen pomeni, da lahko manjša podjetja dejansko podpirajo odprtokodno skupnost, medtem ko imajo še vedno prilagodljiv sistem (eno od takih podjetij, ki se zanima za RISC-V, je lowRISC).

Še vedno je treba videti, ali lahko RISC-V prinese dejanske izboljšave ali ne za stranke, ki bi jih morda zanimali odprti sistemi ali izvajanje katerega koli podprtega operacijskega sistema na združljivi sistemi na čipu. Hkrati obstajajo še drugi možni pomisleki poleg oprijema RISC-V: medtem ko permisivna licenca prinaša določene prednosti, bi lahko tudi velikanom omogočila, da uporabi Strategija Embrace, Extend and Extinguish (kateri je nedvomno tako ko gre za Android/AOSP in Googlove storitve ali celo Android Wear) -- čeprav bi lahko trdili, da bi bilo to še vedno boljše od trenutne situacije. Lahko bi celo naredili primerjavo med tem in današnjo sceno Android, pri čemer poskušajo različni proizvajalci originalne opreme da razlikujejo svoje preobleke, da pridobijo več uporabnikov, in skupnosti ROM po meri, ki vztrajajo zaradi moči uporabniki.

Obiščite Spletna stran RISC-V če želite izvedeti več o zgodovini in ciljih projekta ali celo sami poskusite implementacijo RISC-V.