Philosophie de l'ingénierie : Sophie Wilson

Points essentiels
- Elle a conçu le jeu d’instructions présent dans presque chaque téléphone de la planète. Sophie Wilson a spécifié le jeu d’instructions de l’ARM d’origine — l’Acorn RISC Machine — chez Acorn Computers, à partir d’octobre 1983, Steve Furber se chargeant de construire le matériel. L’architecture née de ce travail a été livrée dans plus de 230 milliards de puces, soit bien plus de cœurs ARM qu’il n’y a d’êtres humains, et elle équipe l’écrasante majorité des smartphones du monde.12
- Une simplicité implacable a fait de la basse consommation presque un accident. Le premier ARM, l’ARM1, comptait moins de 25 000 transistors — une fraction de ses contemporains — et dépassait pourtant des machines bien plus volumineuses. Comme si peu de transistors commutaient, il consommait environ un dixième de watt, soit à peu près un vingtième de ce qu’exigeait un Intel 386. La conception minimale avait été retenue pour la vitesse et en raison des contraintes d’une équipe minuscule ; la basse consommation qui allait plus tard conquérir le mobile en a découlé presque par accident.34
- Un projet à deux personnes qui a battu les géants. Wilson et Furber ont conçu un processeur 32 bits compétitif avec une équipe que l’on comptait sur les doigts d’une main, après avoir observé un seul ingénieur, chez le fabricant du 6502, travailler sur le prochain CPU et en avoir conclu qu’il n’était pas besoin d’une armée pour en construire un. Wilson a modélisé l’intégralité du jeu d’instructions en 808 lignes de BBC BASIC avant même que le silicium n’existe.45
- Elle a d’abord bâti l’alphabétisation informatique de la Grande-Bretagne. Avant ARM, Wilson a co-conçu le BBC Micro — prototypé en moins d’une semaine — et écrit le BBC BASIC, le langage qui a appris à programmer à toute une génération d’écoliers britanniques. (Ses premiers travaux chez Acorn et pour la BBC furent à l’origine crédités sous le nom de Roger Wilson ; elle a fait sa transition en 1994.)16
Le principe
« Ignorer qu’une chose est impossible a des effets intéressants sur votre travail. » — Sophie Wilson6
La conception de processeurs est, la plupart du temps, une affaire d’addition. On part d’une machine qui fonctionne et l’on y greffe des fonctionnalités — nouvelles instructions, nouveaux modes, nouveaux cas particuliers — parce que chacune sert tel ou tel programme quelque part, et que le silicium ne cesse de coûter moins cher : pourquoi s’en priver ? Le résultat est un jeu d’instructions qui accumule de la complexité pendant des décennies, où chaque ajout ralentit le décodeur, agrandit le matériel et rend l’ajout suivant plus difficile. L’intuition de Wilson, aiguisée par les recherches RISC de Berkeley et par des limites pratiques brutales, allait dans la direction opposée. On part de ce que la machine doit faire et l’on retire tout ce qui n’est pas porteur, jusqu’à ce que ce qui reste soit assez petit pour être rapide, assez simple pour être correct, et assez peu coûteux pour qu’une équipe minuscule puisse réellement le construire.4
Les contraintes n’avaient rien de théorique. Acorn était une petite entreprise britannique, et l’équipe ARM se résumait en pratique à deux personnes. Elle ne pouvait s’offrir ni les budgets de transistors ni les armées de vérification qu’Intel et Motorola jetaient dans la bataille. La simplicité n’était donc pas une préférence stylistique — c’était la seule manière dont la puce pouvait exister. Wilson a conçu un jeu d’instructions où presque chaque opération s’achevait en un seul cycle, où le décodeur restait trivial, et où l’ensemble tenait dans moins de 25 000 transistors à une époque où un processeur comparable en utilisait cinq à dix fois plus.3 La rareté a imposé l’élégance.
Et puis cette élégance a versé un dividende que personne n’avait prévu. Une puce comptant si peu de transistors en commutation ne tire presque aucun courant — l’ARM d’origine fonctionnait sur environ un dixième de watt tandis qu’un Intel 386 de l’époque en réclamait près de deux.3 À ce moment-là, dans un coprocesseur de bureau, la basse consommation n’était qu’une curiosité. Une décennie plus tard, lorsque la question est devenue celle de faire tenir un véritable ordinateur dans un téléphone alimenté par batterie, cette curiosité s’est révélée la propriété la plus précieuse qu’un processeur puisse posséder. Réduisez la conception à son essence, et l’efficacité que vous obtenez gratuitement peut devenir ce qui fait la victoire.
Contexte
Sophie Wilson est née en juin 1957 à Leeds, a fréquenté la Harrogate Grammar School, puis est entrée à Selwyn College, Cambridge, où elle a étudié les mathématiques pendant deux ans avant de bifurquer vers l’informatique.1 Avant l’université, elle avait déjà conçu des systèmes électroniques pour l’industrie, et pendant les vacances d’été de 1977, elle a construit un automate à base de microprocesseur — une distributrice de nourriture pour vaches, rien de moins — autour du MOS Technology 6502. Ce travail l’a menée chez Acorn Computers à Cambridge, l’entreprise au cœur de l’essor britannique de la micro-informatique.1
C’est chez Acorn qu’elle a laissé sa première marque, avec le BBC Micro. En 1981, la BBC, qui menait un projet national d’alphabétisation informatique, avait besoin d’une machine ; Acorn a remporté le contrat, et Wilson a joué un rôle déterminant dans la conception — le prototype, selon ses propres dires, a été construit en moins d’une semaine.16 Elle a ensuite écrit le BBC BASIC, l’interpréteur intégré à la ROM de la machine, avec ses routines de calcul en virgule flottante écrites à la main. Plus d’un million de BBC Micros se sont vendus, surtout dans les écoles britanniques, et le BBC BASIC est devenu le premier langage de programmation auquel toute une génération d’ingénieurs britanniques ait jamais touché.16 (Les travaux de Wilson chez Acorn et pour la BBC ont d’abord été publiés sous le nom de Roger Wilson ; elle a fait sa transition en 1994.)1
Le chapitre décisif a débuté en octobre 1983, lorsque Wilson a entrepris de concevoir le jeu d’instructions d’un processeur propre à Acorn : l’Acorn RISC Machine, ou ARM. Steve Furber a dirigé l’architecture matérielle — un pipeline à trois étages et un barrel shifter — tandis que Wilson définissait ce que la machine pouvait faire et prouvait que cela fonctionnerait en simulant l’intégralité du jeu d’instructions en 808 lignes de BBC BASIC.5 Le premier silicium, l’ARM1, est arrivé de chez VLSI Technology le 26 avril 1985 et a fonctionné du premier coup — un résultat presque inouï pour un processeur entièrement nouveau.13 Le détail le plus célèbre est survenu quelques instants plus tard : la puce tirait si peu de courant que, lorsqu’elle a été branchée pour la première fois sur le système de développement, elle s’est animée en puisant du courant par ses lignes d’entrée-sortie avant que sa propre alimentation ne soit correctement connectée. L’équipe avait construit quelque chose de si frugal qu’il fonctionnait sur ce qui équivalait à du courant de fuite.5 Wilson est restée proche d’ARM comme consultante après l’essaimage de l’entreprise, et à partir de 2001 elle est devenue architecte en chef du processeur FirePath chez Element 14 — racheté par la suite par Broadcom — un cœur de traitement du signal utilisé dans les modems haut débit ADSL.1 Elle a été élue Fellow de la Royal Society en 2013, faite CBE en 2019, et en 2022 elle a partagé le prix Charles Stark Draper avec David Patterson, John Hennessy et Steve Furber.1
Le travail
Le jeu d’instructions ARM : faire plus avec un matériel plus simple et plus petit
Commençons par le jeu d’instructions, car c’est là que le principe de Wilson se fait silicium. Le jeu d’instructions d’un processeur est son contrat avec le logiciel — la liste complète des opérations qu’il sait exécuter. La tentation, suivie par les conceptions dominantes du début des années 1980, est de rendre cette liste riche : des instructions complexes accomplissant chacune beaucoup de travail, des modes d’adressage pour chaque circonstance, du microcode pour interpréter le tout. La philosophie du jeu d’instructions réduit (RISC) adoptée par Wilson faisait le pari inverse — qu’un ensemble restreint et régulier d’instructions simples, chacune s’achevant en un seul cycle d’horloge, s’exécuterait globalement plus vite et exigerait bien moins de matériel pour être décodé.4
Wilson a poussé une idée au-delà du consensus RISC des manuels, et c’est ce que l’architecture comporte de plus astucieux : l’exécution conditionnelle sur presque chaque instruction. Sur un processeur classique, choisir entre deux actions suppose une comparaison suivie d’un branchement — un saut vers un endroit ou un autre du code. Les branchements coûtent cher, car un processeur à pipeline a déjà commencé à charger et décoder les instructions qui suivent le branchement ; lorsque le branchement est pris, ce travail spéculatif est jeté et le pipeline cale le temps de se remplir à nouveau. L’ARM de Wilson permet à presque chaque instruction de porter son propre code de condition sur quatre bits, si bien qu’une instruction ne fait simplement rien si sa condition est fausse. De courtes séquences de logique conditionnelle qui exigeraient autrement des branchements deviennent du code linéaire, sans branchement. Le pipeline ne cale jamais, et le matériel nécessaire pour le prendre en charge est presque gratuit — quatre bits par instruction et un peu de logique de comparaison.24
Voilà toute la philosophie en une seule fonctionnalité. L’exécution conditionnelle supprime les branchements — un goulot d’étranglement — non pas en ajoutant un astucieux prédicteur de branchement avec sa propre montagne de transistors, mais en rendant les instructions existantes légèrement plus expressives à un coût quasi nul. Davantage de capacité à partir d’un matériel plus simple et plus petit. Wilson a validé l’intégralité de la conception de cette manière avant de la couler dans le silicium, en écrivant un simulateur en 808 lignes de BBC BASIC et en vérifiant que de vrais programmes se compilaient et s’exécutaient efficacement sur la machine imaginée.45 La discipline transparaît dans le résultat : moins de 25 000 transistors, et un silicium qui a fonctionné la première fois qu’il est revenu de la fonderie.3
Le BBC BASIC et le BBC Micro
Avant tout le travail sur ARM, Wilson a construit la machine et le langage qui ont rendu l’informatique britannique alphabète. Lorsque la BBC a lancé son Computer Literacy Project au début des années 1980, il lui fallait un micro-ordinateur de référence, et la proposition d’Acorn — un prototype que Wilson a aidé à monter en moins d’une semaine — est devenue le BBC Micro, sorti en 1981.16 Robuste, extensible et taillé pour l’enseignement, il s’est vendu à plus d’un million d’exemplaires, dont l’essentiel dans les écoles britanniques.6
L’âme de la machine, c’était le logiciel, et celui-ci était l’œuvre de Wilson. Elle a écrit le BBC BASIC, l’interpréteur gravé dans la ROM de la machine, routines arithmétiques en virgule flottante comprises, écrites à la main. Le BBC BASIC était d’une puissance inhabituelle pour un langage d’ordinateur familial — structuré, rapide, doté d’un assembleur en ligne qui permettait aux élèves curieux de passer directement du BASIC au code machine 6502. Pour une génération d’ingénieurs britanniques, ce fut le premier langage qu’ils aient jamais écrit, et le pont entre la saisie de commandes et la compréhension du processeur sous-jacent.16 C’est exactement cette même intuition — modéliser la machine en logiciel, la comprendre depuis l’instruction même — que Wilson allait plus tard mettre à profit pour concevoir ARM : elle a prototypé le jeu d’instructions d’un processeur dans le langage même qu’elle avait écrit pour le précédent.5
Comment la basse consommation née de la simplicité a conquis le mobile
C’est ici que l’accident devient histoire. L’ARM1 avait été conçu comme un coprocesseur rapide pour un ordinateur de bureau, et son faible nombre de transistors avait été retenu pour la vitesse et en raison des limites d’une équipe de deux personnes. La basse consommation — environ un dixième de watt, contre près de deux watts pour un Intel 386 de l’époque — n’était qu’un effet secondaire du fait d’avoir si peu de silicium à commuter.3 Sur un ordinateur de bureau alimenté sur secteur en 1985, cette frugalité n’était qu’une note de bas de page.5
Puis le monde a changé de forme. Dans les années 1990, la question intéressante n’était plus « quelle vitesse sur un bureau » mais « combien de calcul peut-on faire tenir dans une batterie ». Et sur cette question, la propriété qui comptait le plus était la performance par watt — et ARM, presque seul, était frugal de naissance. Acorn a essaimé la conception au sein d’une société distincte, ARM Ltd, en 1990, avec un modèle économique fondé sur la concession de licences de l’architecture plutôt que sur la vente de puces.1 Les licenciés pouvaient glisser un cœur petit, froid et efficace dans un téléphone, un baladeur, un routeur — partout où l’autonomie de la batterie ou la chaleur constituait le mur à franchir. L’architecture que Wilson avait dépouillée jusqu’à moins de 25 000 transistors est devenue le processeur par défaut de l’ère mobile, et plus de 230 milliards de puces à base d’ARM ont désormais été livrées.2 Ce qui a triomphé, ce n’était pas la vitesse brute. C’était l’efficacité qu’une simplicité implacable avait offerte gratuitement, une décennie avant que quiconque ne sache qu’il en aurait besoin.
FirePath, Broadcom et un second acte dans le traitement du signal
Wilson ne s’est pas arrêtée à ARM. Après l’essaimage de l’architecture, et alors qu’elle restait consultante, elle est devenue architecte en chef de FirePath chez Element 14 — une entreprise née d’Acorn et rachetée par Broadcom en 2000. FirePath était un cœur de processeur de signal numérique pour le haut débit ADSL, la technologie qui a fait passer l’internet à grande vitesse sur les ordinaires lignes téléphoniques en cuivre.1 Le travail de DSP relève d’une discipline différente de la conception de CPU généralistes : la charge de travail est faite de flux incessants de calculs, et l’architecture doit être façonnée autour du débit sur ce problème précis. Que Wilson ait réalisé un travail de conséquence à la fois sur un jeu d’instructions généraliste et sur un processeur de signal spécialisé plaide pour l’idée que le talent sous-jacent ne tient à aucun tour unique, mais à l’habitude de se demander ce que la charge de travail exige véritablement et de ne construire rien de plus que cela.1
La méthode
Lisez en travers du BBC BASIC, du jeu d’instructions ARM et de FirePath, et les mêmes gestes reviennent. La méthode de Wilson tient moins d’un slogan que d’un ensemble d’engagements permanents.
Retirer jusqu’à ne laisser que les parties porteuses. L’habitude déterminante est la soustraction. ARM a été bâti en enlevant des éléments — instructions, modes, microcode — jusqu’à ce qu’il ne reste que ce qui était assez petit pour être rapide et assez simple pour qu’une équipe minuscule le réussisse du premier coup. La leçon générale dépasse de loin le silicium : la conception la plus solide est généralement celle qui contient le moins, et la discipline consiste à continuer de couper jusqu’à ce que retirer une chose de plus la casse. C’est le produit minimum digne à l’échelle d’un jeu d’instructions — livrer la plus petite chose qui fait véritablement le travail.4
Laisser la rareté imposer l’élégance plutôt que la subir avec rancœur. Wilson n’avait ni le budget de transistors d’Intel ni son armée de vérification, et plutôt que de traiter cela comme un handicap, elle a laissé cette contrainte pousser l’architecture vers quelque chose de plus propre que ce qu’une équipe bien financée aurait vraisemblablement construit. Les contraintes, prises au sérieux, sont un outil de conception. L’intuition inverse — le « les transistors sont gratuits » de Jim Keller — l’emporte quand le silicium est la ressource abondante ; celle de Wilson l’emporte quand il est la ressource rare, et savoir dans quel régime on se trouve, voilà le véritable savoir-faire.34
Le prouver en logiciel avant de l’engager dans le silicium. Wilson a modélisé l’intégralité du jeu d’instructions ARM en 808 lignes de BBC BASIC et a fait tourner de vrais programmes contre la simulation avant qu’un seul transistor ne soit posé. L’étape coûteuse et irréversible venait en dernier ; l’itération bon marché et rapide venait en premier. C’est la barrière des preuves appliquée au matériel — on ne croit pas que la conception fonctionne, on la fait tourner et l’on regarde.45
Ajouter de la capacité sans ajouter de coût. L’exécution conditionnelle est le geste signature : des instructions plus expressives qui tuent le goulot d’étranglement du branchement pour presque aucun matériel supplémentaire. La leçon est de chercher le changement qui vous achète beaucoup de capacité pour un peu de complexité, plutôt que celui qui achète un peu de capacité pour beaucoup — la même économie de moyens que John Carmack employait pour tirer des performances impossibles d’un matériel figé.24
Construire la chose qui enseigne. Avant le processeur qui fait tourner les téléphones du monde entier, Wilson a construit le langage qui a appris à programmer aux enfants d’un pays. Le BBC BASIC était délibérément accessible tout en restant honnête au sujet de la machine sous-jacente — on pouvait passer du BASIC à l’assembleur. Faire que la chose puissante soit aussi la chose enseignable est une discipline rare et sous-estimée, partagée par des concepteurs de langages comme Bjarne Stroustrup, soucieux que l’outil puisse être appris autant qu’utilisé.6
Chaîne d’influence
Qui l’a façonnée
Les recherches RISC de Berkeley et de Stanford. L’idée du jeu d’instructions réduit — qu’un ensemble restreint et régulier d’instructions à cycle unique l’emporte sur un ensemble vaste et complexe — est issue des projets RISC universitaires du début des années 1980, et Wilson et Furber l’ont adoptée délibérément pour ARM. Ils ont repris le principe et l’ont poussé au-delà du manuel, en ajoutant l’exécution conditionnelle, mais le pari fondateur — que plus simple est plus rapide — revenait à la communauté de recherche. (Influence formatrice)
Le MOS Technology 6502 et un seul ingénieur. Wilson a fait ses armes sur le 6502 — le processeur bon marché et simple qui équipait les premières machines Acorn et le BBC Micro. Lorsque l’équipe d’Acorn a rendu visite au fabricant de la puce et a constaté qu’une seule personne, pour l’essentiel, concevait la version suivante, la leçon a marqué : construire un CPU n’exigeait pas une armée. Cette observation a rendu le projet ARM à deux personnes envisageable. (Influence directe)
Steve Furber. ARM fut un véritable partenariat. Wilson définissait le jeu d’instructions — ce que la machine pouvait faire — tandis que Furber architecturait le matériel qui le réalisait, le pipeline et le barrel shifter. Aucune des deux moitiés n’est la puce ; c’est la collaboration qui l’est. Ils en ont partagé le prix Draper près de quatre décennies plus tard. (Influence directe)
Qui elle a façonné
Chaque smartphone moderne. Le jeu d’instructions conçu par Wilson, ayant évolué sur quarante ans, est le processeur de l’écrasante majorité des téléphones du monde et d’un vaste éventail d’appareils embarqués — plus de 230 milliards de puces. Rares sont les ingénieurs à avoir façonné une part aussi grande de ce que les gens tiennent physiquement chaque jour. (Influence qui définit un domaine)
Apple Silicon et l’ère de la performance par watt. Le modèle de licence d’ARM et son efficacité en ont fait le fondement naturel de la conception basse consommation et haute performance, la lignée qui traverse les puces de chaque iPhone et, à terme, les Mac à base d’Apple Silicon. L’ère de l’informatique mobile s’est bâtie sur la frugalité de l’architecture.
Une génération d’ingénieurs britanniques. À travers le BBC BASIC et le BBC Micro, Wilson a appris à programmer à tout un pays. La machine du Computer Literacy Project, avec son langage à l’intérieur, fut la rampe d’accès d’une part énorme des talents logiciels et matériels du Royaume-Uni.
Le fil conducteur
Wilson est l’image inversée de l’autre grand esprit du matériel de cette série. Jim Keller a fait gagner ses puces en dépensant le silicium sans compter — pipelines plus larges, davantage d’unités d’exécution, plus de transistors pour tuer chaque goulot d’étranglement — sur le pari que le silicium est la ressource bon marché et abondante. Wilson a fait gagner sa puce en n’en dépensant presque aucun : moins de 25 000 transistors, parce que, pour une équipe de deux personnes dans une petite entreprise britannique, le silicium et l’effort d’ingénierie étaient les ressources rares, et non les gratuites. Tous deux ont raison, dans leur régime. Et voici la pirouette autour de laquelle la série ne cesse de tourner — la frugalité de Wilson, choisie pour la vitesse et la rareté, a produit la basse consommation qui a fait d’ARM le processeur de l’âge mobile, lequel est un empire plus vaste que la performance brute n’en a jamais bâti. Là où John Carmack dit de maîtriser le matériel figé qu’on vous donne et où Bjarne Stroustrup dit de ne pas payer pour ce qu’on n’utilise pas, Wilson dit : retirez jusqu’à ce qu’il ne reste presque rien, et l’efficacité que vous obtenez gratuitement pourrait bien être ce qui fait la victoire. Keller dépense pour gagner ; Wilson a économisé pour gagner — et ses économies ont été livrées dans 230 milliards de puces. (Pont de série)
Ce que j’en retiens
La leçon que je garde de Wilson, c’est que les contraintes sont un outil de conception, pas une excuse. Il est facile de lire l’histoire d’ARM comme « voyez ce qu’ils ont accompli malgré l’absence de ressources » — mais c’est un contresens. Ils n’ont pas réussi malgré les contraintes ; ils ont réussi à cause d’elles. Une équipe de deux personnes avec un budget de transistors minuscule ne peut pas construire un processeur baroque : elle a donc été poussée vers la conception simple, à cycle unique, qui s’est avérée plus rapide et bien plus efficace que les alternatives bien financées. Quand je me surprends à souhaiter davantage — plus de temps, plus de puissance de calcul, plus de marge — la carrière de Wilson me rappelle que la contrainte est peut-être en train de me pousser vers la meilleure conception, si je cesse de la subir avec rancœur et la laisse faire ce travail.
La seconde leçon porte sur l’efficacité dont on ne perçoit pas encore la valeur. La basse consommation d’ARM était, en 1985, presque sans valeur — une note de bas de page sur un coprocesseur de bureau. Elle est devenue la propriété la plus précieuse de l’informatique une décennie plus tard, lorsque le monde a voulu des ordinateurs dans les poches. Wilson n’a pas pressenti le smartphone ; elle a simplement refusé de dépenser ce qu’elle n’avait pas besoin de dépenser, et cette discipline a composé jusqu’à former un empire. La morale n’est pas « prédisez l’avenir ». C’est cette chose plus humble et plus durable : ne gaspillez pas de ressources, même quand le gaspillage semble sans danger, car la frugalité qui ressemble aujourd’hui à une curiosité peut être demain le socle sur lequel tout repose. C’est la qualité est la seule variable lue à travers le prisme de la retenue — la conception juste, faite avec le moins, mûrit en quelque chose que vous n’auriez jamais pu planifier.
FAQ
Qu’a conçu Sophie Wilson ?
Sophie Wilson a conçu le jeu d’instructions du processeur ARM d’origine — l’Acorn RISC Machine — chez Acorn Computers, à partir d’octobre 1983, Steve Furber se chargeant du matériel. Cette architecture est aujourd’hui livrée dans plus de 230 milliards de puces et équipe la plupart des smartphones du monde. Avant ARM, elle a co-conçu le BBC Micro et écrit le BBC BASIC, le langage qui y était intégré. Plus tard, elle a été architecte en chef du DSP FirePath chez Element 14, qu’a racheté Broadcom.125
Combien de transistors le premier processeur ARM utilisait-il ?
Le premier ARM, l’ARM1, utilisait moins de 25 000 transistors — une petite fraction des processeurs comparables de son époque, qui en comptaient des centaines de milliers. Comme si peu de silicium commutait, la puce ne consommait qu’environ un dixième de watt, soit à peu près un vingtième de ce qu’exigeait un Intel 386. Ce nombre minimal de transistors, retenu pour la vitesse et en raison des limites d’une équipe minuscule, est à la racine de l’efficacité basse consommation qui allait plus tard rendre ARM dominant dans les appareils mobiles.34
Est-il vrai que la première puce ARM a fonctionné sans son alimentation connectée ?
Oui, et c’est bien documenté. Lorsque le premier silicium de l’ARM1 est arrivé de chez VLSI Technology le 26 avril 1985, il a fonctionné la première fois qu’il a été testé — ce qui est déjà un exploit rare. Plus frappant encore, la puce tirait si peu de courant que, lorsqu’elle a été branchée sur le système de développement, elle s’est animée en puisant du courant par son interface d’entrée-sortie avant que sa propre alimentation ne puisse être correctement connectée. La conception était si frugale qu’elle fonctionnait en pratique sur du courant de fuite, signe précoce et accidentel de l’efficacité qui allait définir ARM.35
Qu’est-ce que l’exécution conditionnelle dans le jeu d’instructions ARM ?
L’exécution conditionnelle est l’un des choix de conception signatures de Wilson : presque chaque instruction ARM porte un code de condition sur quatre bits, de sorte qu’elle ne s’exécute que si sa condition est vraie et, sinon, ne fait rien. Sur un processeur classique, choisir entre des actions exige un branchement, et un branchement pris peut vider le pipeline d’instructions et gaspiller des cycles. Avec l’exécution conditionnelle, de courtes séquences de logique conditionnelle deviennent du code linéaire sans branchement — davantage de capacité à partir de presque aucun matériel supplémentaire, ce qui est l’efficacité implacable au cœur d’ARM.24
Sources
-
« Sophie Wilson », Wikipedia. Née en juin 1957 à Leeds ; Harrogate Grammar School ; Selwyn College, Cambridge (mathématiques, puis informatique). A joué un rôle déterminant dans la conception du BBC Micro (1981) et a écrit l’interpréteur BBC BASIC. A commencé à concevoir le jeu d’instructions de l’ARM (Acorn RISC Machine) en octobre 1983 ; l’ARM1 a été livré le 26 avril 1985 et « a fonctionné du premier coup ». Plus tard architecte en chef du processeur FirePath chez Element 14, racheté par Broadcom. A d’abord publié ses travaux chez Acorn et pour la BBC sous le nom de Roger Wilson ; a fait sa transition en 1994. Parmi ses distinctions : Fellow de la Royal Academy of Engineering (2009), Fellow du Computer History Museum (2012), Fellow de la Royal Society (2013), CBE (2019) et prix Charles Stark Draper (2022, partagé avec David Patterson, John Hennessy et Steve Furber). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
« ARM architecture family », Wikipedia. « Presque chaque instruction ARM possède une fonctionnalité d’exécution conditionnelle appelée prédication, implémentée au moyen d’un sélecteur de code de condition sur 4 bits. » Le jeu d’instructions de l’Acorn RISC Machine a été développé par Sophie Wilson, avec le matériel de Steve Furber chez Acorn Computers ; les premiers échantillons ont fonctionné correctement lors de leur premier test, le 26 avril 1985. « Avec plus de 230 milliards de puces ARM produites… ARM est la famille d’architectures de jeu d’instructions la plus largement utilisée. » L’ARM2 comptait environ 30 000 transistors. ↩↩↩↩↩↩
-
« ARM1 — Microarchitectures — Acorn », WikiChip, et « DEVELOPMENT OF THE ARM CHIP AT ACORN », University of Maryland (CMSC 411). L’ARM1, le premier processeur ARM, a été conçu par Sophie Wilson et Steve Furber et fabriqué chez VLSI Technology selon un procédé à 3 microns, donnant un silicium fonctionnel le 26 avril 1985 — fonctionnant dès sa première fabrication. Il utilisait moins de 25 000 transistors et atteignait environ 2 à 4 fois les performances du DEC VAX-11/780. En raison de son faible nombre de transistors, il consommait très peu d’énergie — environ un dixième de watt, contre près de 2 watts pour un Intel 386. ↩↩↩↩↩↩↩↩↩
-
« Sophie Wilson: ARM And How Making Things Simpler Made Them Faster & More Efficient », Hackaday (8 mai 2018), rendant compte d’une conférence de Wilson. Wilson et Furber ont fondé ARM sur le concept RISC de Berkeley selon lequel « si un CPU était conçu pour n’exécuter qu’un très petit ensemble d’instructions, il pourrait fonctionner plus vite et plus efficacement », et ont « adopté l’approche opposée, retirant des éléments jusqu’à ne garder que le strict nécessaire, créant une puce plus simple et exigeant moins d’énergie que les CPU existants ». Sur la taille de l’équipe : en visitant le fabricant du 6502, ils « se sont rendu compte qu’une seule personne travaillait sur la prochaine version de ce CPU », démontrant « qu’il n’était pas nécessaire d’avoir une équipe énorme pour concevoir un CPU ». Ils ont « créé un simulateur sur un BBC Micro qui a convaincu d’autres membres de l’entreprise que l’approche en valait la peine ». L’article note l’exécution conditionnelle des instructions d’ARM, qui « se débarrasse de tous les courts branchements ». Il rapporte aussi que, lorsque la consommation du processeur de test a été mesurée, le multimètre n’a pas détecté de flux de courant parce que le CPU fonctionnait sur l’énergie fournie par les lignes de signal. ↩↩↩↩↩↩↩↩↩↩↩↩
-
« Happy birthday, ARM1. It is 35 years since Britain’s Acorn RISC Machine chip sipped power for the first time », The Register (27 avril 2020). Les premiers microprocesseurs ARM sont arrivés de chez VLSI Technology, Inc. « à 13 h le 26 avril 1985 », et « à 15 h, l’écran affichait : “Hello World, I am ARM” ». Sophie Wilson « a créé une simulation du jeu d’instructions du microprocesseur 32 bits en 808 lignes de BBC BASIC », tandis que Steve Furber « s’est concentré sur l’architecture matérielle, dotée d’un pipeline à trois étages et d’un barrel shifter ». Sur l’anecdote du courant de fuite : « les premières puces ARM1 exigeaient si peu d’énergie que, lorsque la première sortie d’usine a été branchée sur le système de développement pour être testée, le microprocesseur s’est immédiatement animé en puisant du courant par l’interface d’entrée-sortie — avant que sa propre alimentation ne puisse être correctement connectée. » Les premières puces « surpassaient le 80286 d’Intel tout en consommant moins de courant ». ↩↩↩↩↩↩↩↩↩
-
« Sophie Wilson », Computer History Museum (profil de Fellow CHM 2012). Wilson a co-conçu le BBC Microcomputer avec Steve Furber (prototype achevé en moins d’une semaine), conçu le système d’exploitation du BBC Micro et écrit l’interpréteur BBC BASIC ; plus d’un million de BBC Micros se sont vendus en une décennie, largement utilisés dans les écoles du Royaume-Uni. Elle a co-conçu l’architecture du processeur RISC 32 bits ARM (1985), aujourd’hui utilisée dans des milliards d’appareils. Le profil consigne sa citation : « Ignorer qu’une chose est impossible a des effets intéressants sur votre travail. » ↩↩↩↩↩↩↩↩