RISC-V

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Logo
prototype de processeur utilisant l'architecture RISC-V en janvier 2013

RISC-V (prononcé en anglais « RISC five » et signifiant « RISC cinq »), est une architecture de jeu d'instruction (instruction set architecture ou ISA) 64 bits RISC ouverte et libre, c'est-à-dire aux spécifications ouvertes et pouvant être utilisées librement par l'enseignement, la recherche et l'industrie.

Motivations[modifier | modifier le code]

Ce projet, créé initialement dans la division informatique de l'Université de Californie à Berkeley, aux États-Unis, avait d'abord une visée d'étude et de recherche, mais est devenu de facto un standard d'architecture ouverte dans l'industrie.

Le but de ce projet est de faire un standard ouvert de jeu d'instruction de microprocesseur, à l'image du standard TCP/IP pour les réseaux ou de Linux pour le noyau, l'architecture des processeurs étant pour le moment toujours fermée, restreignant les progrès, les implémentations ou le support dans les systèmes d'exploitation[1].

Spécifications[modifier | modifier le code]

Elle implémente un jeu d'instruction RISC, sans microcode, ni surcouche d'architecture du type exécution dans le désordre ou dans l'ordre, ou bien le support d'un type de matériel en particulier (ASIC, FPGA…), mais pouvant être implémenté avec toutes ces fonctions.

  • révision de 2008 du standard IEEE-754 pour l'unité de calcul de nombres en virgule flottante.
  • Adressage 32, 64 ou 128 bits.
  • Possibilité pour chaque implémentation d'apporter des instructions étendues.
  • Support d'implémentation multicœurs hautement parallèles et d'architecture multiprocesseurs hétérogènes.
  • instructions de longueur variable en option, permettant à la fois d'augmenter l'espace d'encodage des instructions disponibles, mais également de rendre les instructions plus denses afin d'améliorer les performances, de réduire la taille du code statique et l’efficacité énergétique.
  • Une architecture complètement virtualisable pour faciliter le développement d'hyperviseur.

Des chercheurs de l'Université de Californie à Berkeley, ont également développé une version appelée BOOM, ajoutant une gestion d'exécution dans le désordre des instructions, dans le modèle RV64G[2].

Support logiciel[modifier | modifier le code]

Une série d'outils libres est proposée pour le développement sur cette architecture, incluant la compatibilité des compilateurs GCC et LLVM (donc Clang), le support du débogueur GDB, ainsi que de l'hyperviseur et émulateur Qemu[3].

Cette architecture est supportée en janvier 2016 par le noyau Linux via un ensemble de patch ainsi que par FreeBSD[4]. Son intégration dans le tronc commun stable de Linux est effective depuis la version 4.15, avec un support plus étendu depuis la version 4.17.

Il est possible de simuler ces architectures via l'hyperviseur Qemu, ainsi que par ANGEL (un simulateur RISC-V en HTML5 et JavaScript) ou via les cartes ZedBoard et Zybo comportant des FPGA Xilinx Zynq[5],[6].

L'émulation de RISC-V (32 et 64 bits) est supporté nativement dans Qemu à partir de la version 1.12.0 sortie le 24 avril 2018[7].

Le langage de script MicroPython, version adapté aux microcontrôleurs de Python, a été porté en 2017 par Microsemi sur architecture RISC−V[8].

Implémentations[modifier | modifier le code]

Le microprocesseur libre LowRISC, est un projet d'implémentation libre et ouverte de RISC-V, créé par Andrew Huang (du MIT, également auteur de la plate-forme ouverte Novena), Julius Baxter (projet OpenRISC et université de Cambridge), Michael B. Taylor (université de Californie à San Diego, UCSD Center for Dark Silicon), Dominic Rizzo (Google ATAP (en)), Krste Asanović (Berkeley).

SiFIve, une startup annonce en juillet 2016, le SiFIve U5 Coreplex, utilisant l'architecture RISC-V et permettant d'implanter jusqu'à huit cœurs U54 par SoC, comprenant chacun du cache instruction et données de 1er niveau, le SoC contient un plus large cache de 2e niveau. Le but va être d'implémenter d'abord des versions pour du matériel très spécifique n'ayant pas besoin de beaucoup de puissance, mais de fonctions spécialisées dans un premier temps, pour pouvoir améliorer les technologies par la suite[9].

Lors du 7e RISC-V workshop, Western Digital a annoncé que la compagnie allait développer des processeurs RISC-V. Le but de Western Digital est d'entamer une transition vers des solutions open-source pour ses serveurs de stockage. À terme, WD espère vendre près de deux milliards de processeurs RISC-V par an.

En 2018, la startup SiFive, créé par des développeurs de RISC-V, présente au FOSDEM la carte HiFive Unleashed, comportant un processeur SiFive Freedom U540 SoC (4+1 cœurs RISC-V jusqu'à 1,5 GHz) et 8 Gio de RAM ECC, port ethernet Gb, et capable de faire tourner GNU/Linux[10].

La carte en matériel libre, LicheeTang, de LicheePi, présenté en septembre 2018, est une carte utilisant microcontrôleur basé sur l'architecture RISC-V et utilisant un FPGA utilise un Anlogic EG4S20. Elle comporte des GPIO afin de pouvoir y connecter différent types d'éléments électroniques[11]. Elle a également développé la carte Sipeed M1 (ou Kendryte K233), comportant 2 cœurs RISC-V 64 bits et un processeur d'intelligence artificielle Kendryte K210. Ces cartes sont prévues pour fonctionner avec FreeRTOS[12]. Cette carte utilise MAIXPy, une version adaptée de MicroPython.

Le série de cœur de processeurs Hummingbird E200 (ou HBird E200) est une implémentation chinoise open-source de RISC-V et comprend des implémentation FPGA[13].

Annexes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) « RISC-V: An Open Standard for SoCs », EETimes (consulté le 17 août 2014)
  2. (en) « BOOM Open Source RISC-V Core Runs on Amazon EC2 F1 Instances », sur CNX Software,
  3. (en) « Download - RISC-V », sur riscv.org` consulté le=17 août 2014
  4. « [base] Revision 295041 », sur svnweb.freebsd.org (consulté le 29 janvier 2016)
  5. (en) « Getting Started with RISC-V », sur riscv.org (consulté le 17 août 2014), archive
  6. (en) « riscv-tools », sur riscv.org (consulté le 11 juillet 2016)
  7. (en) « ChangeLog/2.12 - RISC-V », sur qemu
  8. « RISC-V Poster Preview — 7th RISC-V Workshop », (consulté le 17 décembre 2018)
  9. (en) Nicole Hemsoth, « Startup Takes a Risk on RISC-V Custom Silicon », sur The Next Platform,
  10. Alasdair Allan, « Is RISC-V Finally Taking Off? », sur Hacksters.io,
  11. (en) « LicheeTang Anlogic EG4S20 FPGA Board Targets RISC-V Development », sur CNX Software,
  12. (en) Brian Benchoff, « New Part Day: The RISC-V Chip With Built-In Neural Networks », sur Hack a Day,
  13. (en + zh) « Hummingbird E200 Opensource Processor Core », sur GitHub

Bibliographie en ligne[modifier | modifier le code]

Bibliographie papier[modifier | modifier le code]

  • (en) John L. Hennessy et David A. Patterson, Computer Organization and Design RISC-V Edition, Morgan Kaufmann, , 696 p. (ISBN 9780128122754)
  • (zh) 胡振波, 手把手教你设计CPU:RISC-V处理器篇, 人民邮电出版社,‎ , 480 p. (ISBN 9787115480521, présentation en ligne)

Liens externes[modifier | modifier le code]