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, mais c’est véritablement en 2018 qu’il aura pris son envol.
Entendons‐nous bien, le RISC-V, pour Reduced Instructions Set Computing 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.
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 (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 ;
- Patmos, le processeur temps réel ;
- Shakti, de l’université indienne de Madras ;
- et certainement plein d’autres.
Il existe une tripotée de processeur RISC-V « soft » que l’on peut synthétiser dans des FPGA. Mais, à ma connaissance, le premier composant silicium sorti des chaînes de fabrication de fondeurs est le E310 de la société SiFive. Ce composant est sorti en 2017 et il est possible d’acheter un kit de développement « compatible Arduino » 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 », 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 et la sortie de nombreux processeurs « en silicium » bien concrets.
On pensera notamment aux :
- U540, 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 de Greenwaves Technologies, un processeur PULP octocœur pour l’Internet de objet ;
- K210 de Kendryte, un microcontrôleur chinois double cœur RV64I ;
- RV32M1 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, avant de très vite se raviser et de lancer une timide « riposte » au travers d’un partenariat avec Xilinx pour fournir gratuitement des Cortex-Mx 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 !
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 (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 !
Comme j’aimerais voir ça dans le domaine des FPGA ! 😉
# étonnement
Posté par abriotde (site web personnel, Mastodon) . Évalué à 6.
Le plus incroyable dans cette histoire c'est l'importance du succès commercial de RISC-V et l'échec rapide et cuisant de la campagne de dénigrement d'ARM.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: étonnement
Posté par martoni (site web personnel, Mastodon) . Évalué à 10.
La campagne de dénigrement d'ARM n'as pas été un échec mais une bourde. Ils n'ont pas mis de temps à virer leurs site internet d'ailleurs, ils ont assez vite compris leur erreur.
Dans ce genre de cas la «bonne» manière d'aborder le concurrent est de l'ignorer, surtout pas en parler, encore moins le dénigrer ! En tout cas pas quand on est déjà en position dominante.
J'ai plus qu'une balle
[^] # Re: étonnement
Posté par tao popus . Évalué à 3.
Surtout que c'était au moment ou une des failles processeurs étaient annoncées, que les processeurs ARM était touché comme Intel par l'une d'elles, mais pas RISC-V. Et qu'ils disaient que RISC-V serait forcément moins fiable sur ce site de dénigrement ;). Tout ceux qui se préoccupent de la sécurité était au courant de la faille sur les ARM, ça leur à permis de découvrir qu'il existait RISC-V qui ne l'avait pas.
[^] # Re: étonnement
Posté par martoni (site web personnel, Mastodon) . Évalué à 10.
Dire que Risc-V n'a pas la faille est discutable. La faille (meltdown et spectre) dépend de l'implémentation du jeux d'instructions et non du jeux d'instruction lui même.
En gros ces deux failles sont liées à la capacité des processeurs moderne à pouvoir réordonner les instructions assembleurs «à la volée» pour accélérer l’exécution (out-of-order execution).
C'est un peu comme dire que le C à des fuites mémoire et des erreurs de débordement de buffer !
J'ai plus qu'une balle
# Commentaire supprimé
Posté par Anonyme . Évalué à 4. Dernière modification le 24 décembre 2018 à 02:59.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: pipeline = chaîne de traitement
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 4.
Pour les non initiés dont je fais partie, peux tu préciser si ce sont des "pipelines scalaires" ou bien des "pipelines vectoriels" ?
# Le RV32M1 a même deux cœurs RV32I
Posté par Aurélien Jarno (site web personnel) . Évalué à 5.
Le RV32M1 a même deux cœurs RV32I. En fait les deux cœurs rapides (Cortex-M4 et RI5CY) et deux cœurs basse consommation (Cortex-M0 et ZERO-RISCY). J'imagine que côté logiciel doit être sympa pour faire tout fonctionner ensemble.
[^] # Re: Le RV32M1 a même deux cœurs RV32I
Posté par Benoît Sibaud (site web personnel) . Évalué à 4.
Corrigé, merci.
# Le Kendryte K210
Posté par tao popus . Évalué à 3.
C'est un double cœur RV64 400 MHz + un cœur réseau neuronal (les pilotes de ce dernier ne sont visiblement pas encore libre). On trouve des cartes microcontrôleur (Sipeed MAIX, différents modèles à partir de 5$) l'embarquant, dont notamment dans une campagne Indiegogo qui s'est terminée la semaine dernière et qui a atteint 428 % du but initial.
Elle est du coup moins chère qu'une Arduino Uno, mais plus chère qu'une blue pill (~2€, STM32 103C8T6, Cortex-M, 32 bits, 72 MHz), déjà plus puissante que l'Arduino de base AVR 8 bit, 16 MHz d'Amtel.
Ces cartes ont l'air assez sympa, il y a une compatibilité Arduino au niveau des broches de la MAIX bit, et, par défaut, une interface dérivée de MicroPython (appelée MAIXpy) sous FreeRTOS. J'espère que le processeur AI sera bientôt libéré.
# Un projet de SoC complet avec GPU libre
Posté par tao popus . Évalué à 3.
Autre projet intéressant, un SoC complet avec GPU libre et pilote Vulkan, en cours de développement, je n'ai pas trop suivit où ils en sont.
https://libre-riscv.org/3d_gpu/
Les pilotes GPU sont vraiment un des plus gros point faible de l'architecture ARM sous GNU/Linux (pas de specs ouvertes, donc pilotes fermés, peu stables et très limités). Espérons que ces GPU libre 3D de RISC-V ne bloqueront pas le développement de la plate-forme pour le bureau pendant des années comme ça a été le cas pour ARM. Les pilotes libres ont cependant bien progressé cette année sur ARM.
Pour les GPU Mali d'ARM (probablement un des derniers GPU utilisé sur architecture ARM à ne pas avoir de pilotes DRM/Linux et Mesa en mainline), les hauts de gammes (Mali-T6xx, T7xx et T8xx, je ne suis pas sur pour les Gxx), le pilote Panfrost permet déjà d'utiliser Weston, pas mal de fonction 3d, dont des texture/shaders, avec déjà des meilleurs perfs que les blobs.
Les plus anciens et bas de gamme (Mali-400 et 450) avec le pilote Lima, commencent à peine à afficher le cheval de GLmark-ES2 mais visiblement depuis ce mois-ci à afficher de la vidéo. LibreElec/Kodi avec son interface au GPU, et MythTV ne doit pas en être très loin d'après ce ticket.
Mes vœux pour 2019 : Ces pilotes rapidement main-linés Linux et Mesa et dans les distro, et des SOC libres RISC-V + GPU libres.
[^] # Re: Un projet de SoC complet avec GPU libre
Posté par fallen . Évalué à 2. Dernière modification le 26 décembre 2018 à 13:40.
(Je m’aperçois que j'ai répondu sous un message qui parle de GPU et non de CPU, my bad)
Il existe aussi Litex développé par enjoy-digital qui est un SoC open source qui peut être configuré pour utiliser au choix plusieurs CPU softcore open source, dont OpenRISC (mor1kx), LatticeMico32 mais aussi le choix parmi 2 implémentations de RISC-V (PicoRV32, VexRiscv) : https://github.com/enjoy-digital/litex
[^] # Re: Un projet de SoC complet avec GPU libre
Posté par Benjamin Henrion (site web personnel) . Évalué à 2.
"https://libre-riscv.org/"
Luke est de retour! Le pionnier des Allwinner A10 et de http://rhombus-tech.net/ .
# Commentaire supprimé
Posté par Anonyme . Évalué à 1. Dernière modification le 27 décembre 2018 à 12:01.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Projet "Libre Silicon" : LSA
Posté par martoni (site web personnel, Mastodon) . Évalué à 3.
C'est le projet LSA, ils ont déjà fait une présentation à la conférence ORCONF2018 en Pologne. J'ai hâte de voir sur quoi ça débouche !
J'ai plus qu'une balle
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 0.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -5.
Ce commentaire a été supprimé par l’équipe de modération.
# Commentaire supprimé
Posté par Anonyme . Évalué à -4.
Ce commentaire a été supprimé par l’équipe de modération.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.