URL: https://linuxfr.org/news/2018-l-annee-de-la-liberation-des-processeurs Title: 2018, l’année de la libération des processeurs ? Authors: martoni palm123, bubar🦥, Davy Defaud et Benoît Sibaud Date: 2018年12月22日T15:27:50+01:00 License: CC By-SA Tags: risc-v, mips, cpu et arm Score: 71 2018 aura été l’année du RISC-V. Ce jeu d’instructions libre existait bien sûr avant 2018, puisqu’il a été créé en [2010](https://en.wikipedia.org/wiki/RISC-V), mais c’est véritablement en 2018 qu’il aura pris son envol. Entendons‐nous bien, le RISC-V, pour _**R**educed **I**nstructions **S**et **C**omputing version **V**_, n’est pas un microprocesseur. C’est une définition du jeu d’instructions ainsi que des registres internes du processeur. Bref, cela doit être vu comme une standardisation _open‐source_ du langage d’un processeur. Libre aux fondeurs de développer leurs architectures de processeur compatible RISC-V. Il définit les instructions assembleur et leurs formats (codage) mais il ne définit pas le nombre d’étages de pipelines, comment est gérée la prédiction de branche ni le format de bus de données et d’instructions. Tout cela relève de l’implémentation. ---- ---- Cette standardisation du jeu d’instructions intéresse beaucoup de créateurs de microprocesseurs. En effet, plus besoin d’adapter ou d’écrire les outils logiciels pour son processeur. Comme c’est un standard, il suffit d’utiliser les chaînes de compilation (« _toolchains_ ») classiques comme GCC, OpenOCD ou LLVM, qui, bien sûr, l’intègrent désormais, mais également toutes une série d’outils non libres. Linux n’est pas en reste, puisqu’il intègre complètement l’architecture dans ses versions récentes. C’est également le cas des petits systèmes d’exploitation temps réel comme [Zephyr](https://www.zephyrproject.org/). C’est, entre autres, cette disponibilité des outils qui a poussé de nombreux labos à basculer leurs processeurs sur ce jeu d’instructions. On pense notamment à : - [PULP](https://www.pulp-platform.org/) (_Parallel Ultra Low Power_), une architecture multicœur pour l’embarqué développée par l’université de Zurich et utilisée par les processeurs [GAP8](https://www.seeedstudio.com/GAPUINO-GAP8-Developer-Kit-1st-fully-programmable-multi-core-RISC-V-Processor-for-IoT-Application-p-3090.html) ; - [Patmos](https://github.com/t-crest/patmos), le processeur temps réel ; - [Shakti](https://shakti.org.in/), de l’université indienne de Madras ; - et certainement [plein d’autres](https://riscv.org/risc-v-cores/). Il existe une tripotée de processeur RISC-V « _soft_ » que l’on peut synthétiser dans des [FPGA](https://fr.wikipedia.org/wiki/Circuit_logique_programmable "field‐programmable gate array — circuit logique programmable"). Mais, à ma connaissance, le premier composant silicium sorti des chaînes de fabrication de fondeurs est le E310 de la société [SiFive](https://www.sifive.com/). Ce composant est sorti en 2017 et il est possible d’acheter un kit de développement « [compatible Arduino](https://www.crowdsupply.com/sifive/hifive1/) » pour se faire la main dessus. Le E310 est un microcontrôleur 32 bits, qui a fait un peu parler de lui quand il est sorti mais qui reste un démonstrateur. La société SiFive souhaitant rester une entreprise « _[fabless](https://fr.wikipedia.org/wiki/Fabless)_ », c’est‐à‐dire sans unité de fabrication. Mais c’est véritablement en 2018 que les choses se sont accélérées, avec le ralliement de grands noms de l’industrie électronique à la [fondation RISC-V](https://riscv.org/members-at-a-glance/) et la sortie de nombreux processeurs « en silicium » bien concrets. On pensera notamment aux : - [U540](https://www.sifive.com/boards/hifive-unleashed), le Hifive Unleashed de la société SiFive (encore 😉), un quadricœur RV64G, avec un cœur RV64I supplémentaire pour la supervision temps réel ; SiFive a sorti un kit de développement permettant d’y faire tourner un Linux compatible _desktop_ ; - [GAP8](https://greenwaves-technologies.com/en/gap8-product/) de Greenwaves Technologies, un processeur PULP octocœur pour l’Internet de objet ; - [K210](https://kendryte.com/) de Kendryte, un microcontrôleur chinois double cœur RV64I ; - [RV32M1](https://github.com/open-isa-org/open-isa.org/tree/master/Reference%20Manual%20and%20Data%20Sheet) de NXP (eh oui, j’en suis le premier étonné !), un microcontrôleur très spécial, puisqu’il contient deux cœurs rapides RV32I RI5CY et ZERO-RISCY mais également deux cœurs basse consommation ARM Cortex-M0 et Cortex-M4. Il ne manque plus que le MIPS pour avoir un beau pot‐pourri des processeurs RISC du marché. 😉 Toutes ces sorties ont commencé à faire très peur aux concurrents, et notamment à son concurrent principal : ARM. Ce dernier a tenté [une campagne de dénigrement de RISC-V](https://linuxfr.org/users/martoni/journaux/understand-the-fact-la-campagne-de-arm-contre-le-set-d-instructions-libre-risc-v), avant de très vite [se raviser](https://linuxfr.org/nodes/114877/comments/1743924) et de lancer une timide « riposte » au travers d’un partenariat avec Xilinx pour [fournir gratuitement des Cortex-Mx](https://www.servethehome.com/arm-provides-free-cortex-m-processors-for-xilinx-fpgas/) dans les [[FPGA]] de Xilinx. Mais RISC-V a également fait bouger l’autre concurrent beaucoup moins connu : MIPS, qui, lui, a... [libéré son jeu d’instructions](https://www.mips.com/mipsopen/) ! RISC-V reste pour l’instant dans le domaine de l’embarqué et du microcontrôleur, mais la fondation a clairement l’intention de couvrir les domaines des calculateurs et autres [ordinateurs centraux](https://fr.wikipedia.org/wiki/Ordinateur_central) (_mainframes_), domaine où MIPS est déjà un peu plus installé. RISC-V arrivera‐t‐il à gagner la bataille des supercalculateurs ? La société ARM adoptera‐t‐elle le jeu d’instructions RISC-V ? Intel sentira‐t‐il le roussi quand RISC-V viendra le titiller sur ses plates‐bandes ? MIPS reviendra‐t‐il dans la course avec son ouverture en _open‐source_ ? Des questions auxquelles nous pourrons peu‐têtre répondre en 2019. Un combat qui promet d’être passionnant. Mais une chose est sûre, en 2018, l’_open‐source_ a fait une grande avancée dans le domaine des processeurs grâce à ce jeu d’instructions de l’université de [Berkeley](https://www.berkeley.edu/) ! Comme j’aimerais voir ça dans le domaine des [[FPGA]] ! 😉