RISC-V







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.




Sommaire






  • 1 Motivations


  • 2 Spécifications


  • 3 Support logiciel


  • 4 Implémentations


  • 5 Annexes


    • 5.1 Notes et références


    • 5.2 Bibliographie en ligne


    • 5.3 Bibliographie papier


    • 5.4 Liens externes







Motivations |


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 |


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 |


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 2.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 |


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 |



Notes et références |




  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, 13 décembre 2018


  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 », 28 novembre 2017(consulté le 17 décembre 2018)


  9. (en) Nicole Hemsoth, « Startup Takes a Risk on RISC-V Custom Silicon », sur The Next Platform, 11 juillet 2016


  10. Alasdair Allan, « Is RISC-V Finally Taking Off? », sur Hacksters.io, 19 février 2018


  11. (en) « LicheeTang Anlogic EG4S20 FPGA Board Targets RISC-V Development », sur CNX Software, 4 septembre 2018


  12. (en) Brian Benchoff, « New Part Day: The RISC-V Chip With Built-In Neural Networks », sur Hack a Day, 8 octobre 2018


  13. (en + zh) « Hummingbird E200 Opensource Processor Core », sur GitHub



Bibliographie en ligne |



  • The RISC-V Instruction Set Manual


  • Instruction Sets Should Be Free: The Case For RISC-V Whitepaper, Krste Asanović et David Patterson


  • The RISC-V Instruction Set HotChips 25 (2013)


  • The RISC-V Software Ecosystem HPCA 2015, Tutorial


  • Rocket Chip HPCA 2015, Tutorial



Bibliographie papier |



  • (en) John L. Hennessy et David A. Patterson, Computer Organization and Design RISC-V Edition, Morgan Kaufmann, avril 2017, 696 p. (ISBN 9780128122754)

  • (zh) 胡振波, 手把手教你设计CPU:RISC-V处理器篇, 人民邮电出版社,‎ mai 2018, 480 p. (ISBN 9787115480521, présentation en ligne)



Liens externes |




  • http://riscv.org/ — Site officiel


  • http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.pdf — Jeu d'instruction de RISC-V et comparaisons avec d'autres architectures similaires.


  • https://riscv.org/software-tools/riscv-angel/ — ANGEL, simulateur HTTP de jeu d'instruction RISC-V


  • (en) « Analyzing the RISC-V Instruction Set Architecture », sur Adapteva — comparaison entre l'architecture RISC-V (version 32 bits) et l'architecture Adapteva.


  • (en) « RISC-V », sur wiki.debian.org Port de Debian sur RISC-V



  • Portail de l’informatique Portail de l’informatique
  • Portail de l’électricité et de l’électronique Portail de l’électricité et de l’électronique
  • Portail des logiciels libres Portail des logiciels libres



Popular posts from this blog

Quarter-circle Tiles

build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

Mont Emei