2018, l’année de la libération des processeurs ?

Posté par (page perso) . Édité par palm123, tankey, Davy Defaud et Benoît Sibaud. Modéré par Benoît Sibaud. Licence CC by-sa.
Tags :
71
23
déc.
2018
Matériel

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 ! 😉

Aller plus loin

  • # étonnement

    Posté par . É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.

    • [^] # Re: étonnement

      Posté par (page perso) . É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.

      • [^] # Re: étonnement

        Posté par . É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 (page perso) . É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 !

  • # pipeline = chaîne de traitement

    Posté par . Évalué à 4. Dernière modification le 24/12/18 à 02:59.

    Pour les non initiés, le nombre d’étages de pipelines (Wikipédia francophone) est le nombre d'étapes (ou d'étages) qui permettent l'exécution des instructions au sein d'un processeur.

    Je cite Wikipédia :

    Avec un pipeline, le processeur peut commencer à exécuter une nouvelle instruction sans attendre que la précédente soit terminée. Chacune des étapes d’un pipeline est appelé étage.

    Le nombre d'étages d'un pipeline est appelé sa profondeur.

  • # Le RV32M1 a même deux cœurs RV32I

    Posté par (page perso) . Évalué à 5.

    RV32M1 de NXP (eh oui, j’en suis le premier étonné !), un microcontrôleur très spécial, puisqu’il contient un cœur RV32I mais également deux cœurs ARM Cortex-M0 et Cortex-M4.

    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.

  • # Le Kendryte K210

    Posté par . É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 . É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.

  • # Projet "Libre Silicon" (technologie portable de fabrication de puces utilisant des outils libres)

    Posté par . Évalué à 1. Dernière modification le 27/12/18 à 12:01.

    Dans le cadre du projet « Libre Silicon » (visant à élaborer un processus de fabrication de puces avec une technologie portable, utilisant uniquement des outils libres), le premier processus libre de gravure de circuits intégrés à l'échelle de 1 µm a été développé durant les derniers mois, et une première galette de silicium est sur le point d'être gravée. Une fois cette étape réalisée, le parc machines en salle blanche permettra de descendre à 500 nm et moins.

    Aujourd'hui, à 12h50, pendant une heure, aura lieu une présentation du projet au 35c3 (1), cf. la dépêche sur le 35c3 pour les liens utiles.

    (1) 35e édition du Chaos Communication Congress

  • # Évolution de la finesse de gravure — graphique commenté

    Posté par . Évalué à -4.

    J'ai proposé ici (sous le trait de séparation horizontal) des explications pédagogiques et détaillées d'un graphique Wikimedia présentant l'évolution de la finesse de gravure industrielle du silicium et la comparaison des points d'étape avec quelques objets microscopiques et des longueurs d'onde de lumière visible.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.