RISC-V er en gratis og åpen kildekode Instruction Set Architecture (ISA) standard for Systems-on-a-Chip (SoCs).
CPU er en av de mest avgjørende komponentene på datamaskinene våre, ansvarlig for å utføre grunnleggende beregninger, logiske sammenligninger og flytte data rundt. Disse enkle oppgavene er byggesteinene i enhver mer kompleks operasjon, og gjør det mulig å kjøre systemene og programmene våre.
Hvordan disse operasjonene gjøres er ikke tilfeldig: en Instruction Set Architecture (ISA) definerer hva de er og hva dataprosessorer skal gjøre.
En ISA definerer støttede instruksjoner og funksjoner, men ikke hvordan disse instruksjonene spesifikt utføres. Tenk på det som en matlagingsoppskrift -- la oss si at det er for bagels: mens oppskriften er den samme, vil hver kokk utføre den annerledes, for eksempel arrangere sesamfrøene annerledes. Kokken som lager mat basert på oppskriften er, i vårt eksempel, datamaskinprosessoren som utfører instruksjoner i henhold til den definerte ISA. Resultatet vil alltid være det samme i teorien: en velsmakende bagel.
Et annet instruksjonssett definerer kanskje ikke kokende vann direkte, men lar deg utføre visse operasjoner på objekter i stedet: varme opp, måle og sammenligne. En kokk må nå varme opp vann og sammenligne den målte temperaturen med den kjente koketemperaturen. Det er to hovedarkitekturtyper for prosessorer: Complex Instruction Set Computing (CISC) og Reduced Instruction Set Computing (RISC).
Enkelt sagt, CISCs mål er å gjøre ting enklere for programmerere (å tilby en instruksjon om å koke vann, en annen om å varme opp olje, osv.) på bekostning av større prosessorer, mens RISC prøver å ha et enklere sett med instruksjoner, som krever litt mer innsats fra programmerere, men resulterer i mindre prosessorer og mindre kraft forbruk. På grunn av at de to arkitekturene har forskjellige funksjoner, må et program som kjører på den ene vanligvis skrives om for å kjøre på den andre. En av de mest populære arkitekturene i dag på smarttelefoner er en del av RISC-familien: ARM, som står for Acorn RISC Machine.
Det er verdt å merke seg at dette stort sett gjelder programmerings-/porteringskompilatorer. For andre formål som å lage et brukerprogram, vil du normalt bruke et høynivåspråk som er litt sammenlignbart med CISC på programvarenivå. En annen viktig merknad er at denne sammenligningen er rettet mot å gi deg en enkel, men intuitiv forståelse av disse konseptene. En nøyaktig, dyptgående forklaring ville være mye lengre og mer teknisk.
Dette bringer oss til slutt til RISC-V (uttales "risk five"), som er en gratis og åpen kildekode ISA for SoCs (Systems-on-a-Chip, som i utgangspunktet pakker CPU og andre nødvendige komponenter for å kjøre et system sammen). De fleste andre ISA-er som Intel, IBM eller ARM er proprietære og kan ikke brukes av andre uten lisenser (som kan ta opptil et par år å forhandle). På den annen side kan RISC-V brukes, implementeres og produseres av alle, gratis, med den eneste reelle betingelsen å anerkjenne RISC-V-forfatterne.
Dette lar uavhengige forskere og utviklere implementere sine egne prosessorer eller modifisere åpen kildekode RISC-V-implementeringer, noe som ikke er mulig med en ARM-lisens for eksempel (det kreves en egen lisens for det, noe rundt 15 store selskaper ha). Samtidig kan ISA også utvides og modifiseres av selskaper uten å gi ut kildekoden, på en lignende måte som Android. Fraværet av lisensavgifter betyr også billigere prosessorer, men det vil ikke redusere smarttelefonprisene mye i praksis selv om RISC-V blir mye brukt på lang sikt: royaltyen på SoCs utgjør ganske enkelt ikke en stor del av kostnadene til en smarttelefon (Qualcomm tar 2.5—5% av salgsprisen som royalties, for eksempel).
RISC-V er ikke den første gratis ISA, ettersom andre også eksisterer. Den mest populære og mest aktivt utviklede av de andre er ÅpenRISC, som startet i 2000 og er utgitt under GNU GPL. Ignorerer andre forskjeller, den tillatelige lisensen til RISC-V gjør det mer sannsynlig å bli adoptert av større selskaper, og det gjør en forskjell. For eksempel er Google, Hewlett-Packard Enterprise (HPE) og Oracle tre større selskaper som har ble akkurat med RISC-V standard arbeidsgruppen, som effektivt viser sin interesse for RISC-V som en åpen standard. Så lenge alle implementeringer overholder spesifikasjonene ("RISC-V-kompatibel"), vil kundene fortsatt kunne bruke ett økosystem eller en annen (f.eks. GNU/Linux) i teorien, mens selskaper ville ha et insentiv til å gjøre det for å unngå å måtte skrive eller portere systemene sine fra ripe. Samtidig som RISC-V får gjennomslag betyr at mindre selskaper faktisk kan støtte åpen kildekode-fellesskapet mens de fortsatt har et fleksibelt system (et slikt selskap som er interessert i RISC-V er lavRISC).
Det gjenstår å se om RISC-V kan gi faktiske forbedringer eller ikke for kunder som kan være interessert i å ha åpne systemer, eller kjøre et hvilket som helst støttet operativsystem på kompatible SoCs. Samtidig er det andre potensielle bekymringer enn RISC-Vs trekkraft: mens den tillate lisensen kommer med visse fordeler, kan den også gjøre det mulig for giganter å bruke Omfavne, utvide og slukke strategi (som er uten tvil tilfelle når det kommer til Android/AOSP og Googles tjenester, eller til og med Android Wear) -- selv om man kan hevde at det fortsatt ville være bedre enn dagens situasjon. En sammenligning kan til og med trekkes mellom det og Android-scenen i dag, med forskjellige OEM-er som prøver å differensiere deres skins for å få flere brukere, og tilpassede ROM-fellesskap vedvarer etter makt brukere.
Besøk RISC-V nettside hvis du ønsker å finne ut mer om prosjektets historie og mål, eller å til og med prøv en RISC-V-implementering selv.