Si vous souhaitez concevoir un ordinateur en mode open source, c’est tout à fait possible en matière de logiciel. Toutefois, le processeur, élément essentiel, reste souvent une technologie propriétaire. RISC-V, une architecture de processeur open source, gagne rapidement du terrain et pourrait bien bouleverser le secteur de l’informatique.
Une alternative aux architectures Intel et ARM
Actuellement, deux architectures dominent le marché des processeurs : celles développées par ARM et la technologie x86 d’Intel. Bien que ces deux entreprises soient des acteurs majeurs, leurs modèles économiques sont fondamentalement distincts.
Intel conçoit et fabrique ses propres puces, tandis qu’ARM accorde des licences pour ses architectures à des concepteurs tiers, tels que Qualcomm et Samsung, qui y ajoutent leurs propres améliorations. Si Samsung dispose de l’infrastructure nécessaire pour produire ses processeurs en interne, Qualcomm (et d’autres concepteurs « fabless ») sous-traitent cette étape cruciale à d’autres entreprises.
Dans le cas d’ARM, les licenciés sont fréquemment tenus de signer des accords de confidentialité pour protéger les secrets de conception de la puce. Cela n’est pas surprenant, étant donné que son modèle économique repose sur la propriété intellectuelle, plutôt que sur la fabrication.
Parallèlement, Intel maintient également ses propres secrets de conception sous clé. Étant donné que ces deux types de processeurs sont des produits commerciaux, il est difficile, voire impossible, pour les chercheurs et les passionnés d’open source d’influencer leur conception.
La spécificité de RISC-V
RISC-V se distingue de manière significative. Premièrement, il ne s’agit pas d’une entreprise. Cette architecture a été initialement développée en 2010 par des chercheurs de l’Université de Californie à Berkeley, comme une alternative open source et sans redevance aux architectures existantes.
C’est un peu comme choisir Linux plutôt que Windows, pour éviter d’acheter des licences coûteuses ou de devoir accepter des contrats restrictifs. L’objectif de RISC-V est de transposer ce modèle à la recherche et à la conception de semi-conducteurs.
ARM concède des licences à la fois pour l’architecture du jeu d’instructions (ISA), qui définit les commandes qu’un processeur peut interpréter nativement, et pour la microarchitecture, qui décrit comment celle-ci peut être mise en œuvre.
RISC-V se limite à l’ISA, laissant aux chercheurs et aux fabricants le choix de son implémentation. Cela permet une grande adaptabilité, depuis les puces 16 bits de faible consommation pour les systèmes embarqués jusqu’aux processeurs 128 bits pour les supercalculateurs.
Comme son nom l’indique, RISC-V s’appuie sur les principes du Reduced Instruction Set Computer (RISC), partagés par les puces basées sur les architectures ARM, MIPS, SPARC et Power.
Mais qu’est-ce que cela implique ? Au cœur de tout processeur informatique se trouvent des instructions. Il s’agit, en termes simples, de petits programmes intégrés au matériel, qui indiquent au processeur ce qu’il doit faire.
Les puces RISC ont généralement moins d’instructions que les puces basées sur une architecture Complex Instruction Set Computer (CISC), comme celles proposées par Intel. De plus, ces instructions sont plus faciles à implémenter dans le matériel.
Des instructions plus simples permettent aux fabricants de puces d’optimiser leurs conceptions. L’inconvénient est que certaines tâches complexes ne sont plus exécutées par le processeur lui-même, mais sont décomposées en plusieurs petites instructions par le biais du logiciel.
C’est pourquoi on dit parfois que RISC « relègue les éléments importants au compilateur ». Bien que cela puisse sembler être un défaut, ce n’est pas le cas. Pour comprendre cela, il faut d’abord saisir ce qu’est réellement un processeur d’ordinateur.
Le processeur de votre téléphone ou de votre ordinateur est constitué de milliards de minuscules composants appelés transistors. Dans les puces CISC, un grand nombre de ces transistors servent à représenter les différentes instructions disponibles.
Les puces RISC, ayant moins d’instructions plus simples, nécessitent moins de transistors. Cela permet d’exploiter l’espace disponible pour des fonctionnalités plus intéressantes, telles que davantage de registres de cache et de mémoire, ou encore des capacités supplémentaires pour l’IA et le traitement graphique.
Il est également possible de réduire la taille physique de la puce en utilisant moins de transistors. C’est pourquoi on retrouve fréquemment les puces RISC de MIPS et ARM dans les appareils de l’Internet des Objets (IoT).
La quête de la performance
L’aspect des licences n’est pas la seule justification de RISC-V. David Patterson, qui a dirigé les premières recherches sur les processeurs RISC, a déclaré que RISC-V a été conçu pour surmonter les limites imminentes des performances des processeurs, qui ne peuvent plus être améliorées par la miniaturisation des transistors.
Plus on peut intégrer de transistors sur une puce, plus le processeur devient performant. Les fabricants de puces comme TSMC et Samsung (qui fabriquent des processeurs pour le compte de tiers) s’efforcent donc de réduire toujours plus la taille des transistors.
Le premier microprocesseur commercial, l’Intel 4004, ne contenait que 2 250 transistors, chacun mesurant 10 000 nanomètres (environ 0,01 mm). C’est peu, comparé au processeur A14 Bionic d’Apple, sorti 40 ans plus tard. Cette puce (qui équipe le nouvel iPad Air) compte 11,8 milliards de transistors, chacun ne mesurant que 5 nanomètres de diamètre.
En 1965, Gordon E. Moore, cofondateur d’Intel, avait émis l’hypothèse que le nombre de transistors pouvant être placés sur une puce doublerait tous les deux ans.
« La complexité des coûts minimaux des composants a augmenté d’environ un facteur deux par an », avait écrit Moore dans le numéro anniversaire du magazine Electronics. « A court terme, ce taux devrait se maintenir, voire augmenter. A plus long terme, le taux d’augmentation est plus incertain, bien qu’il n’y ait aucune raison de penser qu’il ne restera pas quasiment constant pendant au moins dix ans. »
La loi de Moore devrait cesser de s’appliquer dans cette décennie. Il existe aussi des doutes sur la capacité des fabricants de puces à maintenir cette tendance à la miniaturisation à long terme. Cela concerne autant les aspects scientifiques fondamentaux que les aspects économiques.
Les transistors plus petits sont, après tout, beaucoup plus complexes et coûteux à fabriquer. TSMC, par exemple, a dépensé plus de 17 milliards de dollars pour son usine de production de puces 5 nm. Face à ce mur de difficultés, RISC-V cherche à améliorer les performances par d’autres moyens que la réduction de la taille et du nombre de transistors.
Des entreprises utilisent déjà RISC-V
Le projet RISC-V a vu le jour en 2010, et la première puce utilisant l’ISA a été fabriquée en 2011. Trois ans plus tard, le projet est devenu public, et l’intérêt commercial a rapidement suivi. Cette technologie est déjà employée par des entreprises telles que NVIDIA, Alibaba et Western Digital.
L’ironie, c’est que RISC-V n’a rien de fondamentalement révolutionnaire. La Fondation note sur sa page Web: « L’ISA RISC-V est basé sur des concepts d’architecture informatique qui remontent à au moins 40 ans. »
Ce qui est sans doute révolutionnaire, c’est son modèle économique, ou plutôt son absence. C’est ce qui permet d’expérimenter, de développer et potentiellement de croître sans entraves. Comme le souligne la Fondation RISC-V sur son site internet :
« L’intérêt est qu’il s’agit d’une norme commune, libre et ouverte, sur laquelle des logiciels peuvent être portés, et qui permet à quiconque de développer librement son propre matériel pour exécuter ces logiciels. »
À l’heure actuelle, les puces RISC-V sont principalement utilisées en coulisses, dans les fermes de serveurs et comme microcontrôleurs. Reste à voir si elles parviendront à ébranler le duopole ARM/Intel ISA sur le marché grand public.
Cependant, si les acteurs historiques stagnent, il est possible qu’un outsider fasse irruption et change complètement la donne.