Bonjour à tous, je suis Shi Kan, de l'Institut de technologie informatique de l'Académie chinoise des sciences, un "chercheur scientifique slash". Je travaille dans le domaine des puces depuis plus de dix ans, et actuellement je mène des recherches académiques sur les puces à l'Académie chinoise des sciences ; mais je suis aussi un créateur de contenu technologique sur Bilibili nommé "Lao Shi Tan Xin" (Vieille Pierre parle des puces), mes spectateurs m'appellent "Lao Shi".
La puce : La pierre angulaire de la société moderne
Quand on parle de puces, tout le monde connaît leur importance.
Que ce soit l'intelligence artificielle en plein essor, la biopharmacie, la conduite autonome, les communications réseau, etc., presque toutes les technologies de la société moderne que vous pouvez imaginer dépendent de la puce — cette technologie fondamentale de l'ère de l'information.
Je travaille sur les puces depuis très longtemps, et le processus de R&D d'une puce est en fait très intéressant, principalement pour deux raisons.
Premièrement, les applications des puces sont extrêmement vastes. Une fois que vous êtes dans cette industrie, il y a de fortes chances que vous n'ayez pas à vous soucier du chômage, car de nombreux secteurs ont besoin de la technologie des puces.
La deuxième raison est peut-être plus importante : le développement de puces est une entreprise très difficile. En tant qu'ingénieurs en puces, nous devons constamment apprendre, nous enrichir, pour affronter et accueillir cette ère pleine d'opportunités et de défis.
Alors la question se pose : où réside exactement la difficulté de la technologie des puces ?
Pourquoi les puces sont-elles si difficiles à fabriquer ?
Terminé : 10% //////////
Vous savez peut-être que le processus de fabrication d'une puce est essentiellement un voyage évolutif d'un grain de sable. Le sable est peut-être l'une des choses les plus abondantes et inépuisables sur cette planète ; mais transformer du sable à faible valeur en puces à haute valeur, c'est l'intelligence humaine qui y est ajoutée.
À partir du sable, nous devons le purifier pour obtenir une tranche de silicium (wafer). Ensuite, nous soumettons cette tranche à une série d'étapes telles que la photolithographie, l'implantation ionique, la gravure, l'encapsulation, etc., pour passer du sable inépuisable à la minuscule puce finale.
Après avoir dit tout cela, avec autant d'étapes, la fabrication des puces n'est en réalité qu'une partie du processus global de développement des puces, elle n'est pas égale au développement de la puce en lui-même.
Il y a un autre maillon très important, c'est la conception de la puce. Cela consiste à réaliser la conception du circuit selon les exigences et à faire fonctionner ce circuit correctement. Ensuite, nous confions le circuit conçu au fabricant de puces pour la fabrication ultérieure, afin d'obtenir enfin l'entité physique de la puce.
Mais voici une autre question : comment garantir que la fonction de la puce est identique à votre conception initiale ?
Il y a une petite histoire intéressante à ce sujet. En 1947, une programmeuse très célèbre, Grace Hopper, a constaté que son ordinateur ne fonctionnait plus. Après une recherche minutieuse, elle a découvert qu'un papillon de nuit (moth) s'était glissé dans un relais de l'ordinateur. Alors, avec des pinces, elle a délicatement retiré ce papillon de nuit et l'a collé sur une feuille de papier.
Il s'agit peut-être du premier "bug" (insecte) découvert dans toute l'histoire du développement informatique, c'est-à-dire une vulnérabilité.
Si l'exemple précédent est trop ancien, nous en avons en réalité beaucoup d'autres. Je vais vous poser un petit problème mathématique : quel est le résultat final de cette expression ? En fait, cette question est simple, car dans la partie suivante de l'expression, le numérateur et le dénominateur sont les mêmes, ils peuvent s'annuler ; puis le nombre devant le signe moins et celui derrière sont aussi les mêmes, donc le même nombre soustrait à lui-même devrait donner 0. Mais, dans les ordinateurs et puces réels, le résultat obtenu pourrait ne pas être cela.
Par exemple, dans une puce Pentium d'Intel, le résultat obtenu était 255.00000000. Que s'est-il passé ? En fait, un scientifique américain, en faisant de la recherche scientifique, lorsqu'il exécutait cette expression, n'arrivait jamais au bon résultat. Il a finalement découvert qu'il existait une faille de conception non détectée dans l'unité de division en virgule flottante de cette puce.
Il ne faut pas sous-estimer cette faille de conception, ses conséquences étaient en réalité très graves. Dans les années 1990, Intel a dépensé 475 millions de dollars pour rappeler dans le monde entier toutes les puces Pentium présentant ce problème.
Revenons donc à la question initiale : où réside exactement la difficulté de la technologie des puces ?
À mon avis, la difficulté des puces réside dans le fait qu'elles doivent réussir du premier coup. Fabriquer une puce n'est pas comme développer un logiciel, où vous pouvez corriger ultérieurement divers problèmes en appliquant des correctifs. En revanche, une fois qu'une puce a terminé son voyage évolutif du sable à la puce, vous avez peut-être déjà dépensé des dizaines de milliers, voire des centaines de millions de yuans pour finaliser le masquage (tape-out) et la fabrication de la puce, et il est très difficile de la modifier à nouveau.
La question suivante est donc : combien de projets de puces aujourd'hui peuvent réussir du premier coup ?
La vérification des puces, un "goulet d'étranglement"
Terminé : 40% //////////
Selon les données d'enquête, seulement 24% des projets de puces réussissent du premier coup. Autrement dit, 3/4 des projets de puces, en raison de failles de conception de toutes sortes, grandes et petites, non détectées, nécessitent au moins un nouveau cycle de fabrication (tape-out), ce qui coûte beaucoup de temps et d'argent.
Donc, la clé du problème est : comment pouvons-nous garantir autant que possible qu'avant la fabrication (tape-out), la puce ait le moins possible, voire pas du tout, de bugs ou de failles de conception. C'est la direction de recherche à laquelle je me consacre depuis plusieurs années.
Toujours selon ces données de recherche, dans l'ensemble du processus de développement des puces, surtout avec le développement actuel de l'intelligence artificielle et de diverses nouvelles technologies de pointe, les puces deviennent de plus en plus complexes. La vérification des puces est ainsi devenue un maillon qui représente une part très élevée du cycle de développement des puces, dépassant même la moitié, atteignant 70% de tout le cycle de conception des puces.
Mais malheureusement, la vérification des puces est aussi une tâche très difficile. Je cite ici quelques chiffres astronomiques, comme la circonférence de la Terre, le nombre d'étoiles qui pourraient exister dans la Voie lactée, ou la distance d'une année-lumière.
Dans la vérification des puces, il existe en réalité aussi un chiffre astronomique, c'est le nombre de cycles nécessaires pour vérifier complètement un cœur de CPU. Quelle est la signification de ce chiffre astronomique ?
Si nous utilisons la technologie de simulation logicielle la plus avancée actuelle pour vérifier complètement un cœur de CPU, cela prendrait au moins 15 000 ans. En utilisant la technologie de simulation matérielle la plus avancée actuelle, nous pouvons réduire légèrement ce temps à 30 ans. Mais nous savons tous qu'il est impossible d'attendre 15 000 ans, ni même 30 ans, pour développer une puce.
Alors, quelle est la nature du problème ? Nous avons en réalité étudié ce point ces dernières années. Nous avons découvert qu'il existe un soi-disant "triangle de l'impossible" dans la vérification des puces, à savoir les trois facteurs cruciaux pour la vérification des puces : hautes performances, bonne capacité de débogage et faible coût ; et ces trois facteurs ne peuvent pas être satisfaits simultanément. Pour les principales méthodes ou recherches actuelles, on peut au mieux en obtenir deux, et c'est là une raison fondamentale de la très faible efficacité de la vérification des puces.
Il faut bien que quelqu'un fasse des choses différentes
Terminé : 60% //////////
Pour ces raisons, la vérification des puces n'a pas connu de grands développements ces derniers temps.
Dans les entreprises de puces, les ingénieurs en puces passent probablement plus de temps à écrire des cas de test, à exécuter des régressions de vérification. Fondamentalement, c'est un travail ingrat et pénible. Dans le milieu académique, c'est pareil, les chercheurs qui se consacrent à la recherche sur la vérification des puces sont en réalité très peu nombreux, surtout comparé aux domaines très populaires comme l'intelligence artificielle ; la recherche liée à la vérification des puces est très rare.
C'est pourquoi un grand chercheur m'a dit qu'avec le même temps, il pourrait publier trois articles, voire plus, dans le domaine de l'intelligence artificielle, mais peut-être pas un seul dans la vérification des puces.
Malheureusement, il avait raison.
Pourtant, il faut bien que quelqu'un fasse des choses différentes.
Ainsi, ces dernières années, j'ai dirigé une équipe dans la recherche sur la vérification des puces, et nous avons construit de zéro un système de recherche de vérification agile. Le cœur de ce système de recherche est une plateforme de vérification nommée ENCORE, basée sur une puce spéciale — le réseau logique programmable (FPGA). ENCORE peut considérablement améliorer l'efficacité de la vérification tout en offrant une bonne débogabilité.
Pour construire ce système de recherche de vérification agile, nous devons d'une part optimiser constamment au niveau algorithmique l'efficacité de la détection, du débogage et de la correction des failles ; d'autre part, nous espérons construire une plateforme d'accélération de vérification agile de bout en bout basée sur les circuits logiques programmables (FPGA). Au niveau applicatif, nous souhaitons que cette plateforme puisse être utilisée aussi bien pour la vérification de processeurs généraux, comme les CPU ou GPU, que pour la vérification de puces spécialisées, comme les accélérateurs d'IA très populaires actuellement.
Ces derniers temps, nous avons réalisé de nombreuses explorations de pointe dans ce domaine, y compris ENCORE mentionné précédemment et beaucoup d'autres nouvelles recherches. Nous avons également publié ces résultats de recherche dans de nombreuses conférences académiques internationales reconnues.
Par la suite, nous menons en réalité des travaux très intéressants, mais comme ces travaux ne sont pas encore publiés, je ne vais pas vous les présenter un par un pour le moment.
Faire mieux connaître les puces à plus de gens
Terminé : 80% //////////
Mais au cours de la recherche, j'ai progressivement réalisé que ces résultats scientifiques ou académiques étaient principalement destinés à notre petit cercle de personnes qui comprennent uniquement la vérification des puces et les domaines associés. Alors, comment faire pour que plus de gens voient notre travail, comprennent notre recherche scientifique, et même participent à notre travail ?
Ainsi, j'ai naturellement pensé à la vulgarisation scientifique sur les puces, ce qui me semble aussi très intéressant. Je fais de la vulgarisation depuis quatre ou cinq ans, d'abord par écrit, puis en faisant des vidéos sur Bilibili. La vulgarisation sur les puces m'a apporté de nombreux bénéfices, m'a aidé à rencontrer beaucoup d'amis partageant les mêmes idées, ainsi que des spectateurs qui m'apprécient et me soutiennent.
Cependant, faire des vidéos de vulgarisation sur les puces n'est pas une tâche simple, surtout aujourd'hui avec la prolifération des vidéos courtes. Un autre créateur de contenu de vulgarisation, un grand nom, m'a dit qu'avec le même temps, si je fais une longue vidéo didactique et technique sur les puces, il pourrait en faire 10, voire plus, de vidéos courtes liées à l'actualité, et le trafic pourrait être bien supérieur au mien.
Malheureusement, il avait raison.
Mais sur cette base, je pense qu'il faut quand même que quelqu'un persévère à faire des choses difficiles. J'espère donc combiner ces deux choses également difficiles mais intéressantes — la vulgarisation sur les puces et la vérification des puces — pour vous présenter, sous forme de vidéos et de textes, ce que nous faisons, les articles que nous avons publiés, ainsi que des contenus comme les puces open-source que notre grande équipe est en train de rechercher.
En dehors des puces, je partagerai aussi avec vous l'intelligence artificielle, l'informatique et d'autres technologies avancées, ainsi que mes expériences de croissance, les livres que j'ai lus, les connaissances que j'ai acquises. Je sais que je ne suis moi-même pas un génie, ni un expert ou un maître complet et polyvalent. J'espère plutôt être un "guide" pour vous tous, partager le chemin que j'ai parcouru.
Alors, pour revenir à la question que je voulais partager avec vous aujourd'hui : la recherche scientifique sur les puces et la vulgarisation sur les puces, laquelle est la plus intéressante ? Bien sûr, pour moi, les deux sont tout aussi intéressantes. La raison est simple : parce qu'elles sont toutes les deux difficiles. En même temps, elles nécessitent toutes les deux que je persévère très longtemps, très longtemps.
Beaucoup de gens disent qu'il faut faire des choses difficiles mais justes. Mais en réalité, le problème est : avant de faire quelque chose, comment juger si cette chose est juste ? Si une chose est considérée par les autres comme un travail de fond, comme un travail ingrat et pénible, continuerez-vous à la faire ?
C'est pourquoi je préfère faire des choses difficiles et de longue haleine, comme la recherche académique sur la vérification des puces, comme faire de longues vidéos didactiques et techniques sur les puces. Parce que si une chose est difficile et nécessite une persévérance à long terme, alors elle a de fortes chances d'être juste.
C'est tout ce que je voulais partager avec vous aujourd'hui. Je suis Lao Shi, merci à tous !
Cet article provient du compte WeChat public : Gézhilundao Jiangtan , auteur : Shi Kan, titre original : « À quel point est-il difficile de fabriquer une puce ? Une erreur de division et 475 millions de dollars sont partis en fumée | Shi Kan »




















