211service.com
C'est l'heure des puces sans horloge
Nous remplaçons la dictature par l'anarchie ! Karl Fant me dit catégoriquement. En queue de cheval et animé, le fondateur et directeur technique de Theseus Logic remplit le tableau blanc de vastes exemples illustratifs, s'agenouillant pour utiliser tout l'espace d'écriture disponible. Il est dans ses chaussettes. Finalement, chaque puce sera conçue de cette façon, déclare-t-il. C'est inévitable !
Même dans la Silicon Valley, où les fondateurs d'entreprise sont connus pour céder à leurs tendances non-conformistes, le bureau de Fant à Sunnyvale, en Californie, surprend. Son bureau bas est recouvert d'une masse informe de notes de service, de transcriptions et d'autres documents papier, le tout légèrement vers le milieu. Il n'y a pas d'oreillers de chaises éparpillés naïvement sur le sol. Si vous êtes moi, vous commencez à regretter d'avoir porté une robe et à vous demander où vous êtes censé vous asseoir exactement. Mais non : Fant vous conduit à une salle de conférence conventionnelle juste à côté, où, heureusement, il y a une chaise. C'est là qu'il commence à évangéliser la révolution à venir destinée à arracher les puces informatiques aux contraintes du passé.
Comment? En jetant l'horloge, la manière fondamentale dont les puces, depuis l'aube de l'ère informatique, ont organisé et exécuté leur travail. Même ceux d'entre nous qui ne connaissent rien aux microprocesseurs savent quelque chose à propos de leurs horloges. Depuis des années, Intel utilise la vitesse d'horloge de ses microprocesseurs comme un outil marketing, où le plus rapide est le mieux. Le nombre qui domine la plupart des publicités informatiques, avec le prix, est une étiquette comme 1,3 GHz (ou gigahertz). Ce chiffre fait référence à la vitesse de l'horloge qui régit le fonctionnement interne du microprocesseur de la machine. Dans chaque microprocesseur d'un gigahertz, par exemple, se trouve un cristal oscillant qui tourne un milliard de fois par seconde. Les ingénieurs sont formés pour concevoir des puces où leur première considération est d'effectuer le travail avant le prochain coup d'horloge. Une puce sans horloge serait à peu près aussi utile qu'une page de texte sans aucun espace entre les lettres. Pour la plupart des concepteurs de puces, jeter l'horloge est difficile à imaginer.
Mais pas pour Fant ou ses collègues iconoclastes travaillant sur des puces sans horloge dans des startups, des universités et des laboratoires d'entreprise. C'est un petit groupe de croyants ardents. Leur conférence annuelle n'attire que quelques centaines de participants. Les leaders dans le domaine se connaissent bien et ont mémorisé les numéros de téléphone portable des uns et des autres. Mais alors que leurs méthodes et leurs marchés diffèrent, ils sont unis dans leur conviction que les puces cadencées ont suivi leur cours, et sont convaincus que les avantages de leur approche non-conformiste, connue alternativement sous le nom de conception asynchrone ou circuits auto-synchronisés, sont si importants que la puce l'industrie n'aura finalement pas d'autre choix que de l'adopter.
Les concepteurs se rendent compte que répartir une horloge sur des systèmes de plus en plus compliqués devient de plus en plus difficile, et que tôt ou tard cela ne fonctionnera pas, explique Alain Martin, professeur d'informatique à Caltech, qui a construit le premier microprocesseur sans horloge en 1989. Il souligne qu'à mesure que les puces deviennent plus complexes, de plus en plus de la puissance nécessaire pour les faire fonctionner est consommée par l'horloge elle-même, qui doit maintenant coordonner le travail de millions de transistors.
La suppression de ce surcoût confère de grands avantages aux puces asynchrones. L'un est l'efficacité électrique considérablement améliorée, ce qui conduit directement à une durée de vie prolongée de la batterie. La technologie sans horloge offre également un avantage en termes de vitesse de calcul. Dans les laboratoires de Sun Microsystems, Intel et IBM, les puces sans horloge ont augmenté la vitesse à laquelle les processeurs haut de gamme effectuent leur travail. En 1997, Intel a développé une puce de test asynchrone compatible Pentium qui fonctionnait trois fois plus vite, avec la moitié de la puissance, que son équivalent synchrone.
Chez Theseus, Fant s'est concentré sur un autre avantage de la conception asynchrone. Étant donné que ces puces n'émettent aucun signal à cadencement régulier, comme le font les circuits cadencés, elles peuvent effectuer un cryptage d'une manière plus difficile à identifier et à craquer. Le cryptage amélioré fait des circuits asynchrones un choix évident pour les cartes à puce.
Fant, Martin et d'autres champions sans horloge ont-ils raison ? Franchement, oui. Et pourtant, malgré les avantages évidents de la technologie, les puces sans horloge restent plus théoriques que pratiques. L'appareil Intel, par exemple, n'est jamais sorti du laboratoire. L'échec des puces sans horloge à gagner du terrain, en fait, en fait une étude de cas parfaite d'un développement très prometteur qui fait néanmoins face à d'énormes obstacles à l'introduction sur le marché, même dans une industrie connue pour son innovation continue et rapide.
Le chemin non emprunté
Les fondateurs de la technologie informatique moderne ont envisagé la conception asynchrone dès 1946. Mais ces premiers informaticiens ont plutôt choisi une horloge. À l'époque, c'était le bon choix, déclare Jo Ebergen, ingénieur senior chez Sun qui travaille dans un groupe de recherche asynchrone dirigé par le boursier et vice-président de Sun, Ivan Sutherland. (En 1989, Sutherland, mieux connu comme un pionnier de l'infographie, a écrit un article qui a presque à lui seul ravivé l'intérêt pour la technologie des puces sans horloge.) Les circonstances dans lesquelles ils ont dû concevoir, en utilisant des tubes à vide et des circuits de relais, signifiaient que ils ne pourraient vraiment pas construire un ordinateur fiable sans une horloge régissant le tout, ajoute-t-il. En utilisant une horloge, les ingénieurs pouvaient intégrer des mesures de sécurité qui rendaient les ordinateurs fiables même lorsque les pièces à partir desquelles ils étaient fabriqués ne l'étaient pas.
De ce premier choix est né l'effet rouleau compresseur de la loi de Moore, dans lequel presque toute la recherche, le développement et la production dans l'industrie des semi-conducteurs se sont concentrés sur les puces cadencées. Dans les années 1960, la notion de puces sans horloge avait pratiquement disparu et n'était maintenue en vie que par un ou deux articles ésotériques publiés dans les universités. Dans les jetons d'aujourd'hui, par conséquent, l'horloge reste l'élément clé de l'action. Lorsqu'un microprocesseur effectue une opération donnée, les signaux électroniques se déplacent le long de bandes microscopiques de fourches métalliques, se recoupant à nouveau, rencontrant des portes logiques - jusqu'à ce qu'ils déposent finalement les résultats du calcul dans une banque de mémoire temporaire appelée registre. Disons que vous voulez multiplier 4 par 6. Si vous pouviez ralentir la puce et jeter un coup d'œil dans le registre pendant que ce calcul était en cours, vous pourriez voir la valeur changer plusieurs fois, disons, de 4 à 12 à 8, avant de finalement s'installer dans la bonne réponse. C'est parce que les signaux transmis pour effectuer l'opération parcourent de nombreux chemins différents avant d'arriver au registre ; ce n'est qu'une fois que tous les signaux ont terminé leur trajet que la valeur correcte est assurée. Le rôle de l'horloge est de garantir que la réponse sera prête à un moment donné. La puce est conçue de telle sorte que même le chemin le plus lent à travers le circuit - le chemin avec les fils les plus longs et le plus de portes - soit garanti d'atteindre le registre en un seul coup d'horloge.
Avec un garde-temps central régissant l'action, les ingénieurs n'ont pas à se soucier des longueurs variables de millions de fils infiniment petits ; les signaux peuvent arriver au registre dans n'importe quel ordre, tant qu'ils s'installent tous avant le prochain tick de l'horloge. Des équipes de centaines d'ingénieurs peuvent coordonner leur travail autour du principe fédérateur de l'horloge. Et nous en bénéficions tous : la discipline de la conception basée sur l'horloge a permis à la magie de la croissance exponentielle des performances des puces de perdurer pendant plus de 30 ans. L'horloge doit être considérée comme l'une des idées les plus brillantes en matière de conception, déclare Kevin Normoyle, ingénieur émérite chez Sun qui travaille sur la conception des microprocesseurs Sparc de Sun. C'est si simple, et pourtant c'est une approche qui s'est étendue et qui fonctionne maintenant pour des millions de transistors.
Mais après un certain temps, augmenter la vitesse d'horloge devient un exercice de rendements décroissants. C'est pourquoi une puce d'un gigahertz ne fonctionne pas deux fois plus vite qu'une puce de 500 mégahertz. L'horloge, par le travail qu'elle doit faire pour coordonner des millions de transistors sur une puce, génère son propre surcoût. Plus l'horloge est rapide, plus la surcharge est importante. L'horloge d'un microprocesseur de pointe peut consommer jusqu'à 30 % de la capacité de calcul de la puce, ce pourcentage augmentant à un rythme de plus en plus rapide à mesure que la vitesse d'horloge augmente. C'est comme si une usine était envahie par des contremaîtres au chronomètre qui amélioraient l'efficacité mais prenaient aussi de plus en plus d'espace occupé par les ouvriers et les machines.
Les puces cadencées deviennent également de sérieuses énergivores : le travail de coordination de dizaines de millions de transistors à un milliard de ticks par seconde nécessite une grande consommation d'énergie, dont la plupart se transforme en chaleur. Patrick Gelsinger, directeur de la technologie chez Intel, a évoqué le problème dans son discours d'ouverture à la Conférence internationale sur les circuits à semi-conducteurs en février dernier. Gelsinger ne plaisantait qu'à moitié lorsqu'il a dit que si les microprocesseurs continuaient à fonctionner avec des horloges de plus en plus rapides, d'ici 2005, une puce deviendra aussi chaude qu'un réacteur nucléaire.
Cependant, le problème le plus urgent avec les microprocesseurs conventionnels est peut-être que vous ne pouvez accélérer l'horloge de la puce qu'autant avant de vous heurter à des réalités physiques gênantes. Dans les puces à un gigahertz d'aujourd'hui, les impulsions électroniques signifiant des uns et des zéros binaires peuvent à peine traverser la puce en un seul battement de l'horloge. Mais dans les puces à deux gigahertz qui devraient arriver dans les deux prochaines années, ce ne sera plus vrai. Le rôle que joue désormais l'horloge, synchronisant tout le travail sur une puce, va commencer à s'effondrer.
Sans horloge à la rescousse
En jetant l'horloge, les fabricants de puces pourront échapper à cette impasse. Les puces sans horloge ne consomment de l'énergie que lorsqu'il y a un travail utile à faire, ce qui permet de réaliser d'énormes économies sur les appareils alimentés par batterie ; un téléavertisseur à puce asynchrone commercialisé par Philips Electronics, par exemple, fonctionne presque deux fois plus longtemps que
produits concurrents, qui utilisent des puces cadencées conventionnelles.
Comme un attelage de chevaux qui ne peut courir qu'aussi vite que son membre le plus lent, une puce cadencée ne peut pas courir plus vite que son élément logique le plus paresseux ; la réponse n'est pas garantie tant que chaque partie n'a pas terminé son travail. En revanche, les transistors d'une puce asynchrone peuvent échanger des informations de manière indépendante, sans avoir besoin d'attendre tout le reste. Le résultat? Au lieu que la puce entière fonctionne à la vitesse de ses composants les plus lents, elle peut fonctionner à la vitesse moyenne de tous les composants. Tant chez Intel que chez Sun, cette approche a conduit à des prototypes de puces qui fonctionnent deux à trois fois plus vite que des produits comparables utilisant des circuits conventionnels.
Regardez-le de cette façon, dit Ebergen d'Intel. Vous me donnez un dossier, je travaille dessus, je vous le rends, et le fait que je le rende indique que j'ai terminé. Nous n'avons pas à communiquer toutes les cinq secondes. Nous pourrions faire le travail beaucoup plus rapidement en nous mettant d'accord entre nous deux quand commencer et quand faire les choses et ne pas nous soucier de synchroniser notre travail à chaque étape en cours de route.
Un autre avantage des puces sans horloge est qu'elles émettent de très faibles niveaux de bruit électromagnétique. Plus l'horloge est rapide, plus il est difficile d'empêcher un appareil d'interférer avec d'autres appareils ; se passer de l'horloge élimine pratiquement ce problème. La combinaison d'un faible bruit et d'une faible consommation d'énergie fait des puces asynchrones un choix naturel pour les appareils mobiles. Le fruit à portée de main pour les puces sans horloge se trouvera dans les appareils de communication, à commencer par les téléphones portables, explique Yobie Benjamin, stratège technologique pour la société de conseil Ernst and Young. Benjamin est tellement convaincu de la promesse de la technologie qu'il a personnellement investi dans Asynchronous Digital Design, une startup sans horloge de Caltech.
Deux autres nouvelles entreprises, Theseus et Self-Timed Solutions, basées à Manchester, en Angleterre, se concentrent sur les puces sans horloge pour cartes à puce. Fant soutient qu'un problème clé qui retient les cartes à puce est que les puces conventionnelles permettent de déchiffrer facilement les codes de sécurité de la puce en surveillant les signaux. L'horloge est comme un gros signal qui dit, d'accord, regarde maintenant », dit Fant. C'est comme chercher quelqu'un dans une fanfare. L'asynchrone ressemble plus à une foule qui se presse. Il n'y a pas de signal clair à regarder. Les pirates potentiels ne savent pas par où commencer.
La vitesse, l'efficacité énergétique et la furtivité semblent être des objectifs importants pour n'importe quelle puce, pas seulement ceux utilisés dans quelques applications de niche. Mais alors que Sun, IBM et Intel ont tous de petits groupes de recherche travaillant sur des conceptions asynchrones pour des applications spécialisées, ni eux ni personne d'autre n'ont annoncé de travaux sur un microprocesseur sans horloge à usage général. Cela semble un oubli étrange. Une industrie qui considère l'amélioration de la vitesse des processeurs comme un objectif presque sacré a abandonné l'une des voies les plus prometteuses pour accélérer la vitesse des puces. Vous n'avez qu'à demander pourquoi.
Pourquoi, par exemple, Intel a abandonné sa puce asynchrone ? La réponse est que même si la puce fonctionnait trois fois plus vite et utilisait la moitié de l'énergie électrique que ses homologues cadencés, ce n'était pas une amélioration suffisante pour justifier un passage à une technologie radicale. Une puce asynchrone en laboratoire peut avoir des années d'avance sur toute conception synchrone, mais les systèmes de conception, de test et de fabrication qui prennent en charge la production de microprocesseurs conventionnels ont encore environ 20 ans d'avance sur tout ce qui prend en charge la production asynchrone. Quiconque envisage de développer une puce sans horloge devra trouver un moyen de court-circuiter ce fil.
Si vous obtenez trois fois plus de puissance avec une conception asynchrone, mais qu'il vous faut cinq fois plus de temps pour arriver sur le marché, vous perdez, explique le scientifique senior d'Intel, Ken Stevens, qui a travaillé sur le projet asynchrone de 1997. Il ne suffit pas d'être un visionnaire ou de dire à quel point cette technologie est géniale. Tout revient à savoir si vous pouvez le faire assez rapidement et à moindre coût, et si vous pouvez continuer à le faire année après année.
La puce asynchrone de Philips a permis aux téléavertisseurs de l'entreprise de durer presque deux fois plus longtemps, avec la même puissance de batterie, que les alternatives cadencées. Mais ses débuts en 1998 ont suivi une décennie de recherche dédiée. Dès le début, les chercheurs asynchrones ont compris que leur tâche n'était pas seulement de construire une autre puce, mais plutôt de créer un moyen de concevoir, tester et fabriquer cette puce. Et ce n'était pas facile.
Jouer au rattrapage
Le premier obstacle majeur à la mise sur le marché de puces sans horloge est le manque d'outils automatisés pour accélérer leur conception. Il y a vingt ans, une poignée d'ingénieurs pouvaient disposer les circuits d'une puce sur papier. Aujourd'hui, des centaines d'ingénieurs travaillent en équipe, et le seul espoir de coordonner leurs actions est d'utiliser des outils informatiques sophistiqués. Mais les concepteurs asynchrones sont confrontés à un problème de poule et d'œuf : s'il n'y a pas de marché de masse pour les puces asynchrones, il y a peu d'incitations à créer des outils pour les construire ; s'il n'y a pas d'outils, aucun copeau n'est produit. Le même problème s'applique au développement des technologies de test des puces. Sans une quantité importante de circuits asynchrones à tester, il n'y a pas de marché pour les outils de test tiers.
Dans le cas de ses puces de téléavertisseur, Philips a décidé que le seul moyen de sortir de ce piège était d'investir lui-même dans le développement des outils dont il avait besoin. Après 13 ans de recherche, nous sommes désormais proches d'une approche de test efficace et efficiente pour les circuits asynchrones, déclare Kees van Berkel, chercheur chez Philips, qui travaille dans l'équipe asynchrone du géant néerlandais depuis le début des années 1980. Et Philips n'est pas seul dans cette quête. Dans un effort pour créer une dynamique pour les puces asynchrones, deux informaticiens - Steven Nowick à l'Université de Columbia et Steve Furber à l'Université de Manchester - ont chacun développé des outils de conception qu'ils offrent sous forme de shareware. Les outils sont maintenant les bouchons du spectacle, dit Nowick. Si vous n'avez pas d'outils, vous ne pouvez pas faire les choses de manière portable et vous ne pouvez pas former les gens à devenir des experts.
Au-delà d'une nouvelle génération d'équipements de conception et de test, le développement réussi de puces sans horloge nécessite des personnes qui comprennent la conception asynchrone. Un tel talent est rare, car les principes asynchrones vont à l'encontre de la façon dont presque toutes les universités enseignent à leurs étudiants en génie. Les puces conventionnelles peuvent avoir des valeurs qui arrivent à un registre de manière incorrecte et hors séquence ; mais dans une puce sans horloge, les valeurs qui arrivent dans les registres doivent être correctes la première fois. Une façon d'atteindre cet objectif est de prêter une attention particulière à des détails tels que les longueurs des fils et le nombre de portes logiques connectées à un registre donné, garantissant ainsi que les signaux voyagent vers le registre dans la séquence logique appropriée. Mais cela signifie être beaucoup plus méticuleux sur la conception physique que les concepteurs synchrones ont été formés pour l'être.
Une alternative, utilisée par Theseus et d'autres, consiste à ouvrir un canal de communication séparé sur la puce. Les puces cadencées représentent des uns et des zéros en utilisant des tensions basses et élevées sur un seul fil ; les circuits à double rail, d'autre part, utilisent deux fils, donnant à la puce des voies de communication, non seulement pour envoyer des bits, mais aussi pour envoyer des signaux de prise de contact pour indiquer quand le travail est terminé. Fant propose en outre de remplacer le système conventionnel de logique numérique par ce qu'il appelle la logique de convention nulle, un schéma qui identifie non seulement oui et non, mais aussi aucune réponse pour l'instant - un moyen pratique pour les puces sans horloge de reconnaître quand une opération n'a pas encore été terminée. . Toutes ces idées et approches sont suffisamment différentes pour que leur exécution puisse confondre l'esprit d'un ingénieur formé pour concevoir au rythme d'une horloge. Il n'est pas surprenant que les deux nouvelles startups asynchrones, Asynchronous Digital Devices et Self-Timed Solutions, soient peuplées d'étudiants provenant de Caltech et de l'Université de Manchester, où la recherche sur les puces sans horloge se poursuit depuis le plus longtemps.
Pour qu'une puce réussisse, les trois éléments - outils de conception, efficacité de fabrication et concepteurs expérimentés - doivent être réunis. Le cadre asynchrone a des idées très prometteuses, déclare Max Baron, analyste des microprocesseurs et rédacteur en chef du bulletin d'information de l'industrie Rapport du microprocesseur . Mais ils n'ont pas la machine réelle, et ils n'ont pas prouvé qu'ils savent comment la construire.
Bien qu'il faudra beaucoup plus de temps pour que les puces sans horloge se généralisent, nous voyons déjà les débuts de cette transition également. Intel, qui a abandonné son projet de puces asynchrones en 1997, a incorporé des éléments de sa technologie sans horloge dans la puce Pentium 4 qu'il a lancée cette année. Nous introduisons une conception asynchrone de bas en haut, en concevant certains éléments de logique non cadencée dans une puce qui est toujours de conception conventionnelle, explique Stevens. À ce stade, si nous pouvons faire quelque chose de manière asynchrone, et que c'est mieux en termes de consommation d'énergie, alors nous le ferons.
Alors qu'en est-il de la révolution flamboyante de Karl Fant ? Dans une industrie aussi mature que la fabrication de puces, il n'est pas possible de remplacer la dictature par l'anarchie du jour au lendemain. Mais avec le temps, l'équilibre se déplacera probablement vers une conception sans horloge ; suffisamment d'articles seront écrits, suffisamment d'outils construits, suffisamment d'ingénieurs formés pour qu'il ne soit plus irréaliste d'imaginer commercialiser une telle puce même en dehors des niches spécialisées. Une fois que les gens comprendront comment faire cela facilement, il deviendra plus naturel de penser à l'asynchrone, explique l'ingénieur Sun Normoyle. Les gens ne le feront pas parce que c'est intéressant. Nous le ferons parce que c'est plus facile qu'autre chose. Notre seul objectif est d'être meilleur que les autres gars. Le commutateur viendra lorsque la synchronisation n'est plus assez bonne.
Les gagnants de cette prochaine vague d'innovation seront les entreprises qui choisissent le bon moment pour sauter de la courbe. Les puces sans horloge ont la promesse de révolutionner l'industrie, d'accélérer rapidement la course incessante vers des puces plus rapides et moins chères que nous attendons de la loi de Moore. Qui peut dire ce qui est possible ? Pourquoi pas une puce entièrement asynchrone compatible avec les produits Intel ?
Si quelqu'un fait cela, il aura un sérieux avantage concurrentiel pendant un certain nombre d'années, déclare Stevens d'Intel. Traduction? Alors oui, nous sommes inquiets.
Que l'anarchie commence.