RISC-V kärndesigner med öppen källkod, varför Google bryr sig och varför de är viktiga

click fraud protection

RISC-V är en gratis och öppen källkod Instruction Set Architecture (ISA) standard för Systems-on-a-Chip (SoCs).

CPU: n är en av de mest avgörande komponenterna i våra datorer, ansvarig för att utföra grundläggande beräkningar, logiska jämförelser och flytta runt data. Dessa enkla uppgifter är byggstenarna i alla mer komplexa operationer och gör det möjligt att köra våra system och program.

Hur dessa operationer görs är inte slumpmässigt: en Instruction Set Architecture (ISA) definierar vad de är och vad datorprocessorer ska göra.

En ISA definierar instruktioner och funktioner som stöds, men inte hur dessa instruktioner specifikt utförs. Se det som ett matlagningsrecept -- låt oss säga att det är för bagels: medan receptet är detsamma, kommer varje kock att utföra det på olika sätt, till exempel ordna sesamfröna på olika sätt. Kocken som lagar mat baserat på receptet är, i vårt exempel, datorprocessorn som utför instruktioner enligt den definierade ISA. Resultatet kommer dock alltid att vara detsamma i teorin: en välsmakande bagel.

ARM logotypEn annan instruktionsuppsättning kanske inte definierar kokande vatten direkt, men låter dig göra vissa operationer på föremål istället: värma, mäta och jämföra. En kock skulle nu behöva värma upp vatten och jämföra dess uppmätta temperatur med den kända koktemperaturen. Det finns två huvudarkitekturtyper för processorer: Complex Instruction Set Computing (CISC) och Reduced Instruction Set Computing (RISC).

Enkelt uttryckt är CISC: s mål att göra saker enklare för programmerare (erbjuda en instruktion att koka vatten, en annan att värma upp olja, etc) till bekostnad av större processorer, medan RISC försöker ha en enklare uppsättning instruktioner, som kräver lite mer ansträngning från programmerare men resulterar i mindre processorer och mindre kraft konsumtion. På grund av att de två arkitekturerna har olika kapacitet måste ett program som körs på den ena vanligtvis skrivas om för att köras på den andra. En av de mest populära arkitekturerna idag på smartphones är en del av RISC-familjen: ARM, som står för Acorn RISC Machine.

Det är värt att notera att detta mest gäller programmerings-/porteringskompilatorer. För andra ändamål som att skapa ett användarprogram, skulle du normalt använda ett högnivåspråk som är något jämförbart med CISC på mjukvarunivå. En annan viktig anmärkning är att denna jämförelse syftar till att ge dig en enkel men intuitiv förståelse av dessa begrepp. En korrekt, djupgående förklaring skulle vara mycket längre och mer teknisk.

Detta för oss äntligen till RISC-V (uttalas "risk fem"), som är en gratis och öppen källkod ISA för SoCs (Systems-on-a-Chip, som i princip paketerar CPU: n och andra nödvändiga komponenter för att köra ett system tillsammans). De flesta andra ISA som de från Intel, IBM eller ARM är proprietära och kan inte användas av andra utan licenser (vilket kan ta upp till ett par år att förhandla fram). Å andra sidan kan RISC-V användas, implementeras och produceras av vem som helst gratis, med det enda verkliga villkoret att erkänna RISC-V-författarna.

Detta tillåter oberoende forskare och utvecklare att implementera sina egna processorer eller modifiera RISC-V-implementeringar med öppen källkod, något som inte är möjligt med en ARM-licens till exempel (en separat licens krävs för det, vilket runt 15 stora företag ha). Samtidigt kan ISA också utökas och modifieras av företag utan att släppa källkoden, på ett jämförbart sätt som Android. Frånvaron av licensavgifter innebär också billigare processorer, men det kommer inte att sänka smartphones priser mycket i praktiken även om RISC-V blir allmänt använd på lång sikt: royaltyen på SoCs utgör helt enkelt inte en stor del av en smartphones kostnad (Qualcomm tar 2.5—5% av försäljningspriset som royalties, till exempel).

RISC-V är inte den första gratis ISA, eftersom det finns andra också. Den mest populära och mest aktivt utvecklade av de andra är ÖppnaRISC, som startade 2000 och släpps under GNU GPL. Ignorerar andra skillnader, den tillåtande licensen för RISC-V gör det mer troligt att bli adopterad av större företag och det gör skillnad. Till exempel är Google, Hewlett-Packard Enterprise (HPE) och Oracle tre större företag som har nyligen gått med RISC-V standardarbetsgruppen, som effektivt visar sitt intresse för RISC-V som en öppen standard. Så länge alla implementeringar följer specifikationerna ("RISC-V-kompatibla"), skulle kunderna fortfarande kunna använda ett ekosystem eller en annan (t.ex. GNU/Linux) i teorin, medan företag skulle ha ett incitament att göra det för att slippa skriva eller porta sina system från repa. Samtidigt som RISC-V vinner dragkraft innebär att mindre företag faktiskt kan stödja open source-gemenskapen samtidigt som de fortfarande har ett flexibelt system (ett sådant företag som är intresserad av RISC-V är lågRISC).

Det återstår att se om RISC-V kan ge faktiska förbättringar eller inte för kunder som kan vara intresserade av att ha öppna system eller köra något operativsystem som stöds på kompatibla SoCs. Samtidigt finns det andra potentiella bekymmer än RISC-V: s dragkraft: medan den tillåtande licensen kommer med vissa fördelar, kan den också göra det möjligt för jättar att Använd Omfamna, utöka och släcka strategi (vilket är utan tvekan fallet när det kommer till Android/AOSP och Googles tjänster, eller till och med Android Wear) -- även om man kan hävda att det fortfarande skulle vara bättre än den nuvarande situationen. En jämförelse kan till och med göras mellan det och Android-scenen idag, med olika OEM-tillverkare som försöker för att differentiera sina skal för att få fler användare, och anpassade ROM-gemenskaper som envisas för makt användare.

Besök RISC-V webbsida om du vill veta mer om projektets historia och mål, eller till och med prova en RISC-V-implementering själv.