Pieter Edelman
13 December 2018

Chipmakers storten zich massaal op Risc-v, een processorarchitectuur die volledig opensource is. Vergelijkingen met het opensource besturingssysteem Linux worden al getrokken. Kan de chiparchitectuur een zelfde rol gaan vervullen?

NXP, Qualcomm, Western Digital, Rambus; een hoop belangrijke namen uit de chipindustrie waren er vorige week bij in San Jose voor de allereerste summit gewijd aan Risc-v, een processorontwerp dat volledig opensource beschikbaar is. En het bleef niet bij presentaties. De een na de ander kondigden aan met Risc-v bezig te zijn. Nvidia wil de core bijvoorbeeld gebruiken in zijn gpu’s, Microsemi bakt ze in zijn fpga’s in en Western Digital zegt volgend jaar al meer dan een miljard Risc-v-cores te verschepen in zijn dataproducten.

Risc-v (uitgesproken als risc-five) is een initiatief van de University of Berkeley waar sinds 2010 aan gewerkt wordt. Nog lang niet alles is af, maar de basis ligt er ondertussen. Het is niet het eerste opensource ontwerp dat op de chipwereld afkomt, maar het is nu wel voor het eerst dat er echt wat broeit in de industrie. Vooralsnog gaat het vooral om microcontrollers en andere low-end toepassingen, maar er wordt ook al enthousiast gesproken over andere gebieden, tot aan supercomputers aan toe. De Risc-v Foundation is in drie jaar uitgegroeid tot honderddertig leden, met onder meer NXP, Qualcomm, Nvidia, Marvell, Micron en Samsung met de platinum-status. Sifive, de belangrijkste startup die met de architectuur bezig is, haalde eerder dit jaar een investering van 51 miljoen dollar op.

De vergelijking met de jonge jaren van Linux wordt dan al veelvuldig getrokken. Daar bestond het idee van opensource ook al wel langer, maar het bedrijfsleven was er niet bewust mee bezig, vond het zelfs eng. En ineens bereikte Linux een kritische massa en ging iedereen ermee aan de slag, of had het er op zijn minst over.

NXP heeft nog geen Risc-v-producten aangekondigd, maar wel een experimenteerbordje uitgebracht. Het Vegaboard bevat twee Risc-v-microcontrollers en is bedoeld om de interesse in het opensource chipontwerp te stimuleren.

Alleen een interface

De vergelijking met Linux gaat echter een beetje mank – op twee manieren zelfs. Ten eerste de licentie: Linux volgt namelijk de Gnu-filosofie, wat kort door de bocht betekent dat alles wat je aanpast of baseert op de Linux-code ook opensource moet worden. Risc-v gebruikt daarentegen de licentie uit de BSD-familie van besturingssystemen. Ook opensource, maar bedrijven mogen wijzigingen voor zichzelf houden als ze dat willen. Wanneer ze een een eigen Risc-v-processor op de markt brengen, hebben ze dus de optie de blauwdrukken geheim te houden.

Ten tweede is Risc-v geen implementatie; het is een isa (instruction set architecture), een beschrijving van de instructies die de processor moet kunnen verwerken en de registers die beschikbaar moeten zijn. Een pak papier met specificaties dus, een daadwerkelijk chipontwerp is geen onderdeel van het aanbod. Wie er wat mee wil, zal dat zelf nog moeten maken.

De isa speelt echter een sleutelrol in het ecosysteem rond een processor. Het is de interface tussen de fysieke chip en de software. Een implementatie van een chipbedrijf kan rekenen op compatibiliteit met de bestaande compilers, firmware en systeemsoftware. De Risc-v-beweging ontfermt zich dan ook niet alleen om hardware, maar ook alles wat nodig is om de software aan de praat te krijgen – compilers, emulators, en zo voorts.

Het lijkt er dan ook een beetje op dat Risc-v volwassen genoeg geworden is voor chipmakers. Door de tractie rondom de hardware is er een heel ecosysteem van software aan het ontstaan, wat het op zijn beurt weer aantrekkelijker maakt om er chips bij te gaan maken. En dat leidt weer tot meer reuring, wat verdere ontwikkeling weer aanjaagt.

Vrijheid

Risc-v biedt chipmakers het voordeel dat ze zich van niemand wat aan hoeven te trekken. Ze hebben de volledige vrijheid om hun implementaties te optimaliseren voor energiegebruik, performance of welke eisen dan ook. Ook kunnen ze zonder problemen uitbreidingen maken op de isa, bijvoorbeeld om een eigen accelerator te ontwerpen.

Toch is dat niet het hele verhaal. Het werkt ook zo voor bijvoorbeeld voor Arm, de meest populaire processorarchitectuur van het moment. Hardwarefabrikanten kunnen kant-en-klare chipontwerpen kopen, maar ze kunnen ook een architectural license nemen op de specificatie en er hun eigen chips bij ontwikkelen.

Maar Arm-licenties zijn bedrijfseigen technologie, omgeven door copyrights en patenten, en bovendien peperduur – zeker de architecturele variant. De bewegingsruimte om aanpassingen te doen is beperkt, en chipmakers moeten zowel een basisbedrag als per-chip royalties betalen. Het is dus niet zo gek dat ze wel oren hebben voor een open en gratis alternatief. Alhoewel er wel een addertje onder het gras zit; wie een commerciële Risc-v-implementatie wil uitbrengen, moet lid worden van de Risc-v Foundation om die naam te gebruiken.

Daarnaast wijzen Risc-v-voorstanders graag op de technische merites. Het is namelijk niet zo dat de architectuurbeschrijving en implementatie los van elkaar staan. De isa legt de kaders neer waarbinnen de chip ontworpen moet worden. De interface dicteert bijvoorbeeld hoe er met geheugen omgesprongen moet worden en hoe de processor georganiseerd is.

De gevestigde instructiesets gaan vaak decennia terug en hebben in de loop der jaren allerlei bagage opgepikt. Moderne features zoals 64-bitondersteuning zijn er later aan toegevoegd. Risc-v daarentegen is vrij recent begonnen met een schone lei en de isa biedt daardoor een modern processorontwerp met weinig overhead; de hele specificatie past op een kantje, wat gestroomlijnde en zuinige processorontwerpen mogelijk maakt.

Risc-v is ook ontworpen met configureerbaarheid en uitbreidbaarheid in het achterhoofd. Er zijn verschillende uitbreidingen beschikbaar of in ontwikkeling, zoals 128 bit-bewerkingen, floating point, simd- en vectoroperaties en transactional memory. Die kunnen al dan niet worden meegenomen in een daadwerkelijk chipontwerp.

De tijd is rijp

Er zijn ook wel eerdere pogingen geweest om een opensource processoren te ontwikkelen. Openrisc kwam bijvoorbeeld rond de eeuwwisseling op als open isa, en IBM heeft een aantal processorontwerpen van zijn eigen Power-architectuur vrijgegegeven. Deze initiatieven genoten echter beperkt succes.

Misschien was het idee van opensource tot nog toe onvoldoende gerijpt in de directiekamers van hardwarebedrijven. Binnen de software begon zo’n vijftien jaar geleden het besef te groeien dat het beter rendeert om kosten te delen als het om precompetitieve technologie gaat; de onderdelen die niet het verschil maken voor het eindproduct. In plaats van een leverancier betalen voor bijvoorbeeld een besturingssysteem, kan het geld beter gestoken worden een gezamenlijke commodity.

De hardwarewereld steekt natuurlijk anders in elkaar dan de softwarewereld. Hardware is een stuk minder vergevingsgezind voor fouten dan software en de ontwikkeling gaat dan ook langzamer. Aan software kan ook iedereen sleutelen, terwijl hardware een fysieke chip of in ieder geval een implementatie vereist.

Maar de basisprincipes gaan ook op voor de hardwarewereld In heel veel socs en asics is de processor niet de onderscheidende factor. Een nfc-controllers moet uitblinken in nfc-functionaliteit, bij een machinelearning-accelerator draait het om de machinelearning-functionaliteit. De processorcore moet dit faciliteren, maar is niet iets waar een concurrentievoordeel mee te halen valt.

De interesse voor Risc-v beperkt zich dan ook niet tot de interfacespecificatie. Naast commerciële varianten zijn er verschillende opensource ontwerpen voor processorcores in omloop. Het is niet ondenkbaar dat die op den duur zullen uitgroeien tot een ‘Linux voor processoren’, een commodity-component dat gewoon van de plank gepakt kan worden.

En de concurrentie?

Wat in ieder geval anders is dan in de begindagen, is hoe de concurrentie met de nieuwe speler omgaat. De ‘grote gorilla’ in besturingssystemen van weleer, Microsoft, reageerde destijds als door een wesp gestoken toen Linux opkwam. Topman Steve Ballmer vergeleek Linux’ licentiemodel ooit met kanker en het bedrijf zette laagbijdegrondse lastercampagnes op poten om het opensource os in diskrediet te brengen.

Gorilla Arm heeft dat ook even geprobeerd. Eerder dit jaar lanceerde het bedrijf een get the facts-website om de nadelen van ‘opensource processorarchitecturen’ te benadrukken. Maar die werd na een paar dagen al offline gehaald; niet alleen van buitenaf kwam kritiek, vooral de eigen werknemers kwamen in protest.

En Intel, de andere gorilla? Die heeft een belang genomen in Sifive.