RISC-V és un conjunt d'instruccions o ISA de codi obert i de tipus RISC. RISC-V fou creada el 2010 per investigadors de la Universitat de Berkeley a Califòrnia. L'any 2024 hi havia un conflicte obert pels Estats Units per a evitar l'ús de RISC-V a la Xina.

Motivació Les noves ISA acostumen a ser molt cares, pels costos en dissenyadors de computadors. A més, desenvolupar una CPU requereix coneixements en múltiples especialitats: lògica digital electrònica, compiladors i sistemes operatius. És difícil trobar un equip com aquest fora d'una organització d'enginyers professional. L'equip normalment és pagat amb els diners que cobren pels seus dissenys. Per tant, els venedors de dissenys de computadors, com ARM Holdings i MIPS Technologies cobren regalies per l'ús dels seus dissenys, patents i drets d'autor. Sovint requereixen acords de confidencialitat abans d'entregar documents que descriuen els avantatges detallats dels seus dissenys i el joc d'instruccions. En molts casos, no es descriuen les raons de les decisions de disseny. Tots aquests costos i aquest secretisme fan que el desenvolupament de nou hardware i software sigui molt més difícil. També dificulta les auditories de seguretat. Un altre resultat és que els jocs d'instruccions moderns, d'alta qualitat i de propòsit general no s'han explicat ni han estat disponibles, excepte per motius acadèmics.

RISC-V es va iniciar per donar solució a aquests problemes. L'objectiu era fer una ISA pràctica, de codi obert, utilitzable en qualsevol disseny de hardware o software sense càrrecs. A més, s'expliquen les raons de cadascuna de les parts del projecte, com a mínim en termes generals. Els autors de RISC-V són acadèmics però amb una experiència considerable en el disseny de computadors. La ISA de RISC-V és un desenvolupament directe d'un conjunt de projectes acadèmics en l'àrea del disseny d'ordinadors. En part es va originar per ajudar aquests projectes.

Per a fer front al cost de disseny, el projecte es va iniciar com una recerca acadèmica finançada per DARPA. Per a construir una gran comunitat d'usuaris amb continuïtat i, per tant, acumular dissenys i programari, els dissenyadors de RISC-V ISA planegen donar suport a una àmplia varietat d'usos pràctics. Són petits, ràpids i redueixen el consum de les implementacions en el món real, sense haver-se de dissenyar per cada microarquitectura en particular. La necessitat d'una àmplia base de col·laboradors és part del motiu pel qual RISC-V ha estat dissenyat per a adaptar-se a tants usos. Per aquesta raó, molts col·laboradors de RISC-V veuen el projecte com un esforç unificat de la comunitat.

Història Predecessors El terme RISC data del 1980. Abans d'això, hi havia un cert coneixement que els ordinadors més simples podrien ser eficaços, però els principis de disseny no van ser descrits àmpliament. Els ordinadors simples i efectius sempre han estat d'interès acadèmic.

Els acadèmics varen crear el joc d'instruccions DLX per la primera edició de Computer Architecture: A Quantitative Approach el 1990. David Patterson n'era un dels autors, i posteriorment va col·laborar en RISC-V. DLX va ser dissenyat amb propòsit educacional. Els acadèmics i aficionats l'implementaven utilitzant matrius de portes programables. Aquesta ISA no va tenir èxit comercial.

Les versions 2 i anteriors dels processadors ARM tenien un joc d'instruccions de domini públic, i encara són suportades per la GNU Compiler Collection (GCC), un compilador de codi obert. Per aquesta ISA existeixen 3 nuclis de codi obert, però no s'ha fabricat mai.

OpenRISC és una ISA de codi obert basada en DLX, associada amb dissens de RISC. Es troba completament suportada per implementacions de GCC i Linux. Així i tot, disposa de poques implementacions comercials.

Ús acadèmic Krste Asanović de la Universitat de Califòrnia, Berkeley, va trobar múltiples usos per a un sistema basat en codi obert. El 2010 va decidir desenvolupar i publicar en "short, three-month project over the summer". El pla era ajudar tant als usuaris acadèmics com industrials. David Patterson a Berkeley també hi va contribuir. Originàriament, va identificar les propietats del Berkeley RISC. RISC-V és una de les seves sèries cooperatives dels projectes de recerca RISC. En aquest punt, els estudiants varen proporcionar programari, simulacions i dissenys de CPUs econòmics.

Originàriament, els autors de RISC-V i la seva institució, oferien els documents de la ISA i diversos dissenys de CPU sota llicències BSD, la qual permet treballs derivats —per exemple dissenys de xips RISC-V—, que poden ser o bé oberts i gratuïts, o bé tancats i propietaris.

Inicialment, eren finançats per DARPA.

Fundació Per motius comercials, cal que una ISA sigui estable abans de poder utilitzar-lo en un producte que pot durar molts anys. Per abordar aquest problema, es va formar la fundació RISC-V per posseir, mantenir i publicar la propietat intel·lectual relacionada amb la definició de RISC-V. Els autors originals i els propietaris han cedit els seus drets a la fundació.

El 2019 la fundació va publicar els documents que defineixen RISC-V i permeten la utilització sense restriccions de la ISA tant per disseny hardware com software. Així i tot, només els membres pagats de la fundació RISC-V poden votar per aprovar canvis o utilitzar el logotip de compatibilitat de marca registrada.

Premis 2017: Premi a l'elecció de l'analista de The Linley Group a la millor tecnologia (per al conjunt d'instruccions)

Requisits Els dissenyadors diuen que el conjunt d'instruccions és la interfície principal d'un ordinador, ja que es troba entre el maquinari i el programari. Si un bon conjunt d'instruccions estigués obert, disponible per a tothom, hauria de reduir dràsticament el cost del programari permetent una reutilització molt més gran. També hauria d'incrementar la competència entre els proveïdors de maquinari, que poden utilitzar més recursos per al disseny i menys per al suport de programari.

Els dissenyadors afirmen també que les grans innovacions són poc freqüents en el disseny de conjunt d'instruccions, ja que els dissenys més exitosos dels últims quaranta anys s'han fet cada vegada més semblants. De les que van fallar, la majoria ho va fer perquè les seves empreses patrocinadores van fallar comercialment, no perquè els conjunts d'instruccions tècnicament fossin pobres. Per tant, un conjunt d'instruccions obertes ben dissenyat amb principis ben establerts hauria d'atreure un suport a llarg termini per molts proveïdors.

La majoria de les ISA obertes anteriors van utilitzar la GNU General Public Licence (GPL), animant els usuaris a obrir les seves implementacions per copiar-les i utilitzar-les altres persones.

A diferència d'altres dissenys acadèmics que només estan optimitzats per simplificar l'exposició, els dissenyadors afirmen que el conjunt d'instruccions RISC-V és per a ordinadors pràctics. Segons diuen, té funcions per augmentar la velocitat de l'ordinador tot i que redueix el cost i l'ús de l'energia. Aquests inclouen una arquitectura de load-store, patrons de bits per simplificar els multiplexors en una CPU, un punt flotant basat en estàndards simplificats, un disseny que és arquitectònicament neutre i que situa els bits més significatius en una ubicació fixa per accelerar l'extensió de signes. Es diu que l'extensió de signes sovint es troba en la ruta crítica pel que fa a temps.

El conjunt d'instruccions està dissenyat per a una àmplia gamma d'usos. Admet tres amplades de paraules, 32, 64 i 128 bits, i una varietat de subconjunts. Les definicions de cada subconjunt varien lleugerament per a les tres amplades de paraules. Els subconjunts donen suport a petits sistemes encastats, ordinadors personals, supercomputadors amb processadors vectorials i computadores en paral·lel, muntades en rack, a escala de magatzem.

El conjunt d'instruccions és molt variable i extensible, de manera que sempre es poden afegir més bits de codificació. L'espai per a la versió ampliada de l'ISA de 128 bits es va reservar perquè seixanta anys d'experiència en la indústria han demostrat que l'error més irrecuperable en el disseny d'instruccions és la manca d'espai d'adreça de memòria. A partir de 2016, l'ISA de 128 bits no es defineix intencionadament, ja que encara hi ha poca experiència pràctica amb sistemes de memòria tan grans. Hi ha propostes per implementar instruccions d'amplada variable fins a 864 bits.

RISC-V també dona suport als usos acadèmics dels dissenyadors. La simplicitat del subconjunt sencer permet realitzar exercicis bàsics als estudiants. El subconjunt sencer és un programari ISA senzill que permet controlar les màquines d'investigació. L'ISA de longitud variable permet extensions tant per a estudis com per a investigació. El conjunt d'instruccions privilegiat separat permet la investigació en el suport del sistema operatiu, sense redissenyar els compiladors. La propietat intel·lectual oberta de RISC-V permet publicar, reutilitzar i modificar els seus dissenys.

Innovadors Comercials SiFive, una companyia especialitzada en el desenvolupament de hardware RISC-V, té models de processador publicats en el 2017. Aquests inclouen un sistema quad-core SoCa de 64-bit en un chip (SoC). Syntacore, un membre fundador de la Fundació RISC-V i un dels primers proveïdors comercials de RISC-V IP, desenvolupadors de llicències de RISC-V IP des de 2015. El 2018, els productes que incorporen en el mercat inclouen vuit cores de 32 i 64 bits, incloent SCR MCU core de codi obert. Els primers SoCs comercialitzats, basats en el Syntacore IP van ser demostrats en el 2016. Andes Technology Corporation, membre fundador de la Fundació RISC-V, es va unir al consorci el 2016, va llançar els seus dos primers nuclis RISC-V el 2017. Els nuclis, el N25 i el NX25, venen amb un ecosistema de disseny complet i un nombre de socis RISC-V. Andes està impulsant activament el desenvolupament de l'ecosistema RISC-V i espera llançar diversos nous productes RISC-V el 2018. Codasip i UltraSoC han desenvolupat una propietat intel·lectual totalment compatible per als SOC integrats RISC-V que combinen els nuclis RISC-V de Codasip i altres IP amb depuració, optimització i anàlisi d'UltraSoC. Imperas ha desenvolupat una família de models de processadors ràpids per als diferents subconjunts de les variants ISV RV32GC i RV64GC que formen part de les distribucions simuladores del controlador OVPsim que s'utilitzen per al desenvolupament de programari encastat. GreenWaves Technologies va anunciar la disponibilitat de GAP8, un controlador de 32 bits 1 i 8 nuclis de càlcul, SoC de 32 bits i placa de desenvolupadors el febrer de 2018. La seva placa de desenvolupament GAPuino GAP8 va començar a comercialitzar-se el maig de 2018. Hex Five va anunciar la disponibilitat general de MultiZone Security: el primer entorn d'execució de confiança RISC-V (TEE) que utilitza les extensions de mode RISC-V ISA i les modalitats privilegiades. CloudBEAR és una empresa de processadors IP que desenvolupa els seus propis nuclis RISC-V per a una àmplia gamma d'aplicacions. T-Head, una semiconductora de la BU d'Alibaba Group (NYSE: BABA), té un MCU comercial, Scorpio, en producció el 2019.

En desenvolupament El Centre per al Desenvolupament d'Informàtica Avançada (C-DAC) està desenvolupant un processador RISC-V amb quatre nuclis fora d'ordre de 64 bits. Indian Institute of Technology Madras està desenvolupant sis dissenys de CPU de codi obert RISC-V per a sis usos diferents, des d'una petita CPU de 32 bits per a Internet de les coses (IoT) fins a grans CPU de 64 bits dissenyades per a ordinadors aplicats en granges de servidors basades en tecnologies RapidIO i Hybrid Memory Cube. Nvidia planeja utilitzar RISC-V per substituir el processador Falcon de les seves targetes gràfiques GeForce. ASTC va desenvolupar una CPU RISC-V per a circuits encastats.