• # Et RISC-V?

    Posté par . En réponse à la dépêche Sortie du noyau Linux 5.13. Évalué à 10. Dernière modification le 21 juillet 2021 à 23:41.

    Dommage de ne pas se porter plus vers l'avenir qui commence à bien s'encrer dans le présent avec l'architecture open source RISC-V. Son support par le noyau Linux continue à se compléter.
    * Support for generic clockevent broadcasts.
    * Support for the buildtar build target.
    * Some build system cleanups to pass more LLVM-friendly arguments.
    * Support for kprobes.

    Au fur et à mesure que les distributions y sont portées. Debian (Bulleseye), Ubuntu, et Fedora tourne à présent sur cette architecture, on commence à avoir des cartes autres que microcontrôleur abordables (enfin, à moins de 800€), c'est limité, plutôt orienté dev, mais ça évolue très vite. Un porteur de Haiku sur RISC-V à [utilisé le pilote radeon_hd pour faire tourner sur du Risc-V, il a visiblement principalement eu une contrainte d'alignement sur 16 bits. Ces pilotes sont aussi présent dans Debian pour RISC-V. C'est vraiment un des grands plus des sources ouvertes la portabilité. Quelqu'un fignole également la partie noyau Linux du pilote Radeon.

    J'ai fait tourner du Debian sur du qemu depuis 2 mois, ça tourne plutôt bien, 95% des paquets sont portés (je pense que ce qui reste c'est ce qui test en dur une version de x86, à vérifier). J'ai quelques microcontrôleurs également pour m'amuser (on en trouve des très complets sur des cartes à partir de 3€ avec FPU, crypto, wifi, audio etc.., j'ai fait quelques essais en assembleur, c'est intéressant la conception, c'est du RISC2. Pour réduire encore le nombre d'instructions par rapport aux autres RISC, il n'y a par exemple plus que les comparateurs < et <=, plus de comparateurs > et >=, ça paraît étrange mais ça permet de réduire pas mal les transistor tout en gardant les mêmes fonctionnalités (il suffit d'inverser les registres dans le test). Les spécifications de l'assembleur comporte des macros pour faciliter l'écriture comme sur des processeurs moins optimisés. Quelqu'un s'est amusé à compiler un noyau 5.0 sur architecture RISC-V et le faire tourner sur un émulateur sur un microcontrôleur embarqué ESP32 (ISA Xtensa alors qu'il y a des ESP32-C qui sont en RISC-V). Il y a plein d'expérimentations folles en RISC-V via différents émulateurs :). Cet émulateur n'a pas l'air libre par contre :(.

    Pour ceux qui s'intéresse un peu au spatial, l'ESA utilisait la famille de processeur LEON basé sur SPARC-8, pour ses satellites, les nouvelles générations baptisées NOEL-V (anagramme), sont basées sur du RISC-V, ce qui permet de réduire encore la conso. L'extension vectorielle (comme à l'époque du Cray) est utilisée pour de l'AI (traitement de photos avant l'envoie sur terre par exemple). Ça utilise le bus AMBA 2.0 d'ARM pour les SoC, dont les specs, je ne le savais pas est sous licence libre également. Les processeurs spatiaux doivent répondre aux contraintes de basse températures, et de rayons ionisants qui fausseraient les calculs sur un processeurs standard. C'est le second projet européen dont j'ai connaissance (avec le processeur européen pour supercalculateur+automobile), qui utilise du RISC-V. L'académie chinoise des sciences à aussi sorti un processeur RISC-V haut de gamme complet sous licence libre (Mulan v2), dont les sources sont en Chisel appelé Xiangshan. Ils ont sorti une implémentation ASIC avec une puissance de calcul/GHz SPEC2006 qui est comparable aux haut de gamme ARM ce mois-ci, ils espèrent atteindre le même rapport calcul/GHz qu'un i9 cet automne et c'est prévu pour faire tourner du Debian de base :).