Wat je moet weten over cpu-architectuur RISC-V

© PXimport

Wat je moet weten over cpu-architectuur RISC-V

Geplaatst: 3 november 2020 - 08:15

Aangepast: 17 november 2022 - 08:57

Koen Vervloesem

RISC-V is een opensource-processorarchitectuur. De laatste jaren is de standaard sterk in populariteit aan het groeien. Western Digital wil RISC-V in zijn harde-schijfcontrollers gebruiken en er zijn ook al Arduino-alternatieven. Er zijn zelfs Linux-computers rond gebouwd. Wat moet je er over weten?

RISC-V (spreek uit als ‘risk five’) werd aanvankelijk ontwikkeld aan de University of California in Berkeley en is ondertussen opgenomen in de RISC-V Foundation, die de standaardisatie onder zijn hoede neemt. De standaard beschrijft de instruction set architecture (ISA) van een processor. Dat is eigenlijk een specificatie van de instructies die een processor moet kunnen verwerken en de registers die hij heeft.

Op basis van deze specificaties kan in principe iedereen zijn eigen chipontwerp maken. Door de licentie mag je daar zelfs mee doen wat je wilt: het ontwerp zelf publiceren of geheimhouden. Dat maakt RISC-V voor vele partijen een interessante processorarchitectuur. Alleen als je het logo van RISC-V op je product wilt kunnen plakken, dien je lid te worden van de RISC-V Foundation. Voor het Silver Membership bijvoorbeeld kost dat 5000 dollar per jaar.

Wil je een propriëtaire ISA zoals van ARM of Intel gebruiken, dan sta je voor maanden tot jaren aan onderhandelingen en een kostprijs van enkele miljoenen euro’s. RISC-V daarentegen heeft een veel lagere instapdrempel: er zijn geen onderhandelingen en geen diepe geldbuidel nodig.

Ecosysteem

De RISC-V Foundation publiceert zelf geen processorontwerpen, het ontwikkelt alleen specificaties van de standaarden. Voor opensource-hardwareontwerpen dien je dus bij projecten te rade te gaan die dit implementeren. Ook software ontwikkelt de RISC-V Foundation niet zelf.

Met alleen de specificatie van de ISA ben je dan ook niet zover: dat is maar wat papier. Om een processor te kunnen gebruiken, heb je een heleboel tooling nodig die deze processor ondersteunt. Je moet een besturingssysteem kunnen draaien op de processor, maar je moet ook software kunnen compileren, emuleren enzovoort. De afgelopen jaren is er grote vooruitgang gemaakt op dit vlak. De compilers ggc en llvm ondersteunen RISC-V en er is preliminaire ondersteuning voor de Linux-kernel, FreeBSD en NetBSD. Er bestaan zelfs al ports van Linux-distributies Debian en Fedora.

RISC en CISC

Er zijn ruwweg twee aanpakken om een instructieset voor processoren te ontwerpen. RISC (reduced instruction set computer) heeft een klein aantal eenvoudige en algemene processorinstructies, die snel door de processor uitgevoerd kunnen worden. Het nadeel is dat complexere taken meerdere instructies nodig hebben. CISC (complex instruction set computer) daarentegen heeft talloze gespecialiseerde processorinstructies.

Het nadeel is dat het uitvoeren van die complexe instructies tot een complexer ontwerp van de processor leidt. In de praktijk is er een heel brede grijze zone tussen RISC en CISC. De x86-familie van processoren wordt doorgaans als CISC beschouwd, maar in deze processoren worden instructies door de decoder in microcode gesplitst, eenvoudigere microbewerkingen die wel wat van RISC weghebben. Echte RISC-architecturen zijn onder andere die van ARM, Atmel AVR (in veel Arduino’s gebruikt), MIPS, PowerPC, SPARC en uiteraard RISC-V.

Implementatievrijheid

Fabrikanten van RISC-V-processoren hebben de volledige vrijheid om de ISA uit te werken op de manier die ze willen, zolang ze maar de specificaties van de ISA volgen. Zo kan de ene fabrikant zijn processor optimaliseren voor energieverbruik, terwijl de andere juist een snelheidsmonster maakt. Beide processoren zijn volledig uitwisselbaar vanuit het standpunt van de software, omdat ze dezelfde ISA volgen.

Nu is dit ook al mogelijk bij ARM, maar daar heb je als fabrikant minder implementatievrijheid en heb je hoge licentiekosten, zeker als je maximale vrijheid wilt: de standaardlicenties zijn voor een processorkern door ARM ontworpen en laten niet toe een eigen processorkern te ontwerpen.

De aanpak van RISC-V is dan ook interessant voor chipfabrikanten, zeker omdat ze de ISA ook probleemloos kunnen uitbreiden, bijvoorbeeld voor versnellerhardware. De RISC-V-specificatie houdt al rekening met uitbreidbaarheid, en de RISC-V Foundation zelf heeft al uitbreidingen uitgebracht en is er meer aan het ontwikkelen.

Ontwikkelbordjes

De oorspronkelijke uitvinders van RISC-V hebben het bedrijf SiFive opgericht. Dit bedrijf ontwikkelt niet alleen RISC-V-processorkernen, maar ook tools waarmee bedrijven zelf aangepaste processorkernen kunnen ontwikkelen. SiFive biedt ook ontwikkelbordjes aan onder de naam HiFive voor wie met de technologie wil experimenteren. Ook SparkFun biedt onder de naam RED-V ontwikkelbordjes aan met processoren van SiFive.

Vorig jaar presenteerde Alibaba een RISC-V-processor met 16 cores, de Xuantie 910. Deze heeft vijftig extra instructies speciaal geoptimaliseerd voor toepassingen in 5G, kunstmatige intelligentie en Internet of Things. Voor Chinese bedrijven is RISC-V een kans om minder afhankelijk van Amerika te worden.

 

© PXimport

Western Digital is jaren een groot pleitbezorger van RISC-V. Het heeft drie processorkernen ontwikkeld waarvan het bedrijf het ontwerp opensource heeft gemaakt als onderdeel van de CHIPS Alliance. WD wil RISC-V in de controllers van zijn ssd’s en harde schijven gebruiken. Dat zouden jaarlijks miljarden RISC-V-kernen zijn.

Ook Nvidia is jaren een groot voorstander van de open architectuur en maakt onder andere gebruik van RISC-V voor zijn security-coprocessor in automobieltoepassingen. De opvolger van de Falcon-microcontroller in zijn gpu’s zal ook op de RISC-V-architectuur gebaseerd zijn.

Samsung kondigde ook al aan dat zijn 5G-smartphones RISC-V-kernen zullen bevatten voor 5G, kunstmatige intelligentie en beveiliging. We zullen in de echte wereld dus snel veel nieuwe RISC-V-processoren zien. Marktonderzoeker Semico Research verwacht dat er tegen 2025 wereldwijd meer dan 60 miljard RISC-V-processorkernen operationeel zijn.

Deel dit artikel
Voeg toe aan favorieten