Un nouveau RISC-V

Binaire a demandé à Bruno Levy, de nous parler d’un processeur spécifique le RISC-V. Ce processeur ouvert/libre pourrait rebattre les cartes des coeurs de processeurs. Bruno Levy est chercheur Inria, spécialiste des optimisations mathématiques, il  a rejoint la nouvelle équipe projet PARMA (une machine mathématique à remonter le temps pour explorer l’univers). Bruno est aussi l’un des ambassadeurs du RISC-V, nous lui avons ouvert nos colonnes. Pierre Paradinas

Risc-V, une nouvelle donne dans le monde des micro-processeurs

Les micro-processeurs, au coeur du numérique… Véritable concentrés de technologie, objets les plus complexes jamais conçu par l’être humain, constitués de milliards d’éléments, mais guère plus grands qu’une tête d’épingle, les microprocesseurs sont omniprésents dans notre quotidien. Que ça soit pour envoyer la photographie du petit dernier à la famille, pour réserver un billet de train, pour nous assister dans la conduite de nos véhicules, et même pour optimiser la consommation d’eau du lave vaisselle, de plus en plus rares sont les gestes du quotidien qui n’impliquent pas de près ou de loin des microprocesseurs. Une évolution majeure, nommée RISC-V, est susceptible de changer en profondeur la donne pour ces objets de haute technologie au coeur de notre quotidien.

Le jeu d’instructions, l’« alphabet » du microprocesseur. En quelque sorte, pour nos appareils numériques, le microprocesseur joue le rôle du « chef d’orchestre », jocoeuruant  la « partition » – un programme – qui décrit le fonctionnement de l’appareil.  Ce programme est écrit dans un langage, qui a son propre « alphabet », constitué d’instructions élémentaires, très simples, encodées sous forme de nombres dans la mémoire de l’ordinateur. De la même manière qu’il existe plusieurs alphabets (mandarin, cantonais, japonais, latin, grec, cyrillique …), il existe plusieurs jeux d’instructions différents : x86 pour les processeurs Intel, ARM très utilisé pour les téléphones portables et les Macs, AVR utilisé par des microcontroleurs dans les systèmes embarqués … Et parmi ces jeux d’instruction, il existe deux grandes classes, les jeux d’instructions dits CISC (pour Complex Instruction Set), qui comportent un grand nombre d’instructions élémentaires, ou encore un grand nombre de lettres différentes dans leur « alphabet » (comme dans les alphabets chinois qui comportent des milliers d’idéogrammes). C’est le cas des processeurs x86 Intel,  dont les dernières évolutions supportent plusieurs milliers d’instructions différentes, la documentation comportant plus de 5000 pages, réparties dans 10 volumes (!). L’autre grande famille de jeux d’instruction, appelée RISC (pour Reduced Instruction Set) se fonde sur un « alphabet » plus restreint, avec tout au plus une petite centaine d’instructions différentes, qui ressemble plus à l’alphabet latin ou grec. D’une certaine manière, les instructions CISC correspondent plus à des syllables qu’à des lettres, et il faudra plusieurs instructions RISC pour faire la même chose.

Ecosystème et normalisation : tout seul, le microprocesseur ne peut rien faire ! Il ne peut vivre qu’au sein d’un réseau d’acteurs différents, fournissant à la fois l’environnement matériel (les ordinateurs ou gadgets électroniques autour du microprocesseur, les périphériques, …) et l’environnement logiciel (les logiciels, le système d’exploitation, les langages de programmation…). Ce qui permet à toute cette chaîne d’acteurs de travailler ensemble, c’est la normalisation du jeu d’instruction (Instruction Set Architecture), un document qui décrit dans le détail chaque instruction élémentaire et ce qu’elle est censée faire. C’est en quelque sorte le « contrat » que passe le micro-processeur (et son fabriquant) avec les autres acteurs, garant du fait que tout ce petit monde saura « se parler » et travailler ensemble. Par exemple, le jeu d’instruction ARM de l’entreprise britannique du même nom est utilisé par beaucoup d’acteur, notamment Apple, Samsung, Qualcomm, MediaTek, Nvidia. Pour obtenir le droit d’utiliser le jeu d’instruction ARM, ces acteurs doivent payer un « ticket d’entrée », à savoir une licence, 1 ou 2 % du prix de vente de la puce, reversé à ARM.  Mais ARM a été rachetée par l’entreprise Japonaise SoftBank (pour 32 milliards de dollars), qui prévoit d’augmenter significativement le prix de la licence. Nvidia prévoyait à son tour de racheter ARM à Softbank (pour 40 milliards de dollars), projet finalement abandonné après que la FTC américaine ait saisi la justice.  Les rachats sont monnaie courante dans le monde des microprocesseurs, comme le rachat d’Atmel par Microchip en 2016 (fabriquant de micro-controlleurs pour les systèmes embarqués). Ces rachats font peser à chaque fois des grandes incertitudes sur les clients utilisant ces microprocesseurs dans leur produit. C’est particulièrement le cas de produits de type « internet des objets », utilisant des microcontrôleurs à quelques centimes d’Euros pièce, pour lesquels le prix d’une licence peut représenter une part significative du coût de revient.

Berkeley Lab’s Wang Hall – computer research facility -July 6, 2015, Photo credit: Berkeley Lab, Roy Kaltschmidt

 

 RISC-V, un jeu d’instruction et une organisation qui pourraient changer la donne : RISC-V est à la fois une architecture de jeu d’instruction et une organisation visant à développer l’écosystème d’acteurs autour de ce jeu d’instructions. Issue de travaux de recherche académiques, la première mouture du jeu d’instruction a été conçue en 2010. Le jeu d’instruction en lui-même est issu des travaux d’Asanovic, Lee et Waterman au Parallel Computing Lab de l’Université de Berkeley, dirigé par Patterson. Il a été soutenu par différentes sources de financement, par des industriels (dont Intel et Microsoft), par l’état de Californie et par un projet DARPA. En 2015 est créée la fondation RISCV-International, une association à but non lucratif ayant pour objectif de développer le standard et de stimuler l’émergence d’un écosystèmes d’acteurs pour créer du matériel et du logiciel autour du standard.   Afin de mieux garantir son indépendance, l’association a déménagé en Suisse à Zurich en 2020.

Yunsup Lee holding RISC V prototype chip. At UC Berkeley Par Lab Winter Retreat, January 2013.

 

Des petits et des grands microprocesseurs : Du plus petit microcontrôleur intégré au lave-vaisselle jusqu’au grands centres de calculs qui brassent des péta-octets de données, les microprocesseurs peuvent avoir des fonctionnalités et des puissances de calcul très différentes. Malgré cela, tous ces secteurs sont susceptibles d’être impactés par RISC-V. Le jeu d’instruction est conçu en « oignon », avec un « alphabet » pour les tâches les plus simples, et des  « lettres en plus » pour certaines tâches spécialisées. Par exemple, un mathématicien va utiliser en plus des 26 lettres de l’alphabet des symboles spéciaux. Il en va de même dans la norme RISC-V, qui introduit des instructions spéciales pour le calcul. Et pour que tout le monde continue à se comprendre, il est possible pour un processeur de base de comprendre ces instructions supplémentaires en les traduisant à la volée, grâce à un logiciel spécial. Cela prend un peu plus de temps, mais cela fonctionne, et tout le monde reste compatible. D’autre part, la norme RISC-V prévoit la possibilité d’ajouter des instructions. Par exemple, il sera possible de créer des instructions spécifiques pour accélérer les calculs en IA, ou encore pour assurer des propriétés renforcées de sécurité informatique.

Et après, quels enjeux pour le futur ?

En ouvrant la conception de micro-processeurs qui était jusqu’à maintenant contrôlée par quelques gros acteurs, et en offrant des garanties sur la libre utilisation du jeu d’instruction, la norme RISC-V va favoriser l’émergence de petits acteurs dans le monde des micro-processeurs. Une plus grande « bio-diversité » est susceptible de conduire vers plus d’innovation, tant dans les usages que dans l’architecture de ces micro-processeurs : le microprocesseur est une véritable petite « ville », à l’échelle microscopique (et même nano-scopique!), avec ses routes, qui acheminent les données, son réseau électrique qui distribue le courant, ses usines qui traitent les données. Ces « villes » sont conçues par des architectes (c’est le même nom qui leur est donné), à l’aide d’outils logiciels d’aide à la conception (la chaîne EDA, pour Electronic Design and Automation). Cette chaîne d’outil est également en train de s’ouvrir, avec l’émergence de logiciels open-source et d’approches nouvelles, comme l’introduction de l’intelligence artificielle pour optimiser le plan global de la « ville », utilisé par Google pour sa prochaine génération de processeurs. Dans un futur proche, la frontière entre le matériel et le logiciel va devenir de plus en plus floue, avec des nouvelles générations de micro-processeurs plus efficaces, plus économes en énergie, mieux adaptés aux différents usages. Dans cette nouvelle donne, les deux principaux enjeux seront la création et l’accès aux nouveaux outils EDA d’aide à la conception de microprocesseur, et surtout la formation de la nouvelle génération d’architectes, à savoir des ingénieurs « parlant couramment » ces nouveaux paradigmes, outils et langages de description du matériel, qui vont devenir rapidement assez différents des langages de programmation pratiqués par les ingénieurs du numérique actuel.

Bruno Levy, DR-Inria, https://bsky.app/profile/brunolevy01.bsky.social ou https://www.linkedin.com/in/blevy/

Pour aller plus loin

Laisser un commentaire