Les CPUs tels que nous les connaissons actuellement s’approchent d’un mur. La réduction de la finesse de gravure du silicone devient de plus en plus complexe et chère. Dans un futur proche il sera quasiment impossible de l’améliorer au point que ce sera économiquement pas intéressant de le faire. C’est pourquoi le monde scientifique se penche sur différents matériaux visant à remplacer le silicone, notamment les nanotubes de carbone (CNT).
Un groupe de chercheurs du MIT en collaboration avec des scientifiques de Analog Devices ont réussi à mettre au point un CPU entièrement construit à partir de nanotubes de carbone. Doté d’une architecture RISC-V (pensée pour ce matériau) montant jusqu’à 10Khz de fréquence c’est, à ce jour, le CPU le plus fonctionnel utilisant des CNTs. Il est dénommé le RV16X-NANO.
Les avantages des CNTs sont nombreux. Que ce soit le fait qu’ils peuvent être naturellement sous forme de semi-conducteurs, leur très faible taille, leur conductivité thermique ou encore leur propriétés électriques, ces CNTs sont sur le papier en tout point supérieur au silicone. Cela fait maintenant quelques années que divers groupes de chercheurs travaillent sur ce matériau pour créer des CPUs.
Ces nanotubes de carbone pourraient donc être le candidat parfait pour remplacer le silicone vieillisant. Cependant beaucoup de problèmes techniques se présentent.
Des difficultés techniques à surmonter
Dans un premier temps, en fonction de la configuration 3D des atomes de carbone sur le tube, celui-ci peut passer de semi-conducteur à métallique (conducteur) à quasi-métallique. Il s’avère que le processus pour créer exclusivement des CNTs semi-conducteurs n’est pas parfait,. En effet, le taux de pureté s’élève à 99.9%, ce qui n’est pas suffisant quand on veut mettre des millions de nanotubes dans un CPU.
On peut caractériser cette configuration 3D via seulement deux nombres entiers. Pour cela il faut découper le tube dans sa longueur pour l’aplatir, ce qui donne une bande de graphène. Ensuite il faut prendre un atome qui se situe pile au niveau de la découpe. On peut créer deux points, A1 et A2, à partir de cet atome, qui, si l’on « referme » le tube, se toucheront au niveau de cet atome.
Avec cet atome on peut créer deux vecteurs linéairement indépendants en prenant les deux atomes les plus proches. Cela nous donne une base d’un espace vectoriel qui crée une grille d’atome dans cette bande de graphène. Enfin, il suffit de décomposer le vecteur A1-A2 dans cette base pour obtenir notre couple d’entiers.
Par ailleurs, il existe deux types de semi-conducteurs, les n- et les p-, pour transmettre soit des charges négatives, soit positives. Pour le silicone on « dope » les semi-conducteurs en ajoutant différents éléments pour obtenir le type que l’on veut. Les CNTs étant très très petits, il est très difficile de les « doper ».
Enfin, leur faible taille pose un autre inconvénient, car dans un processeur il faut que les semi-conducteurs soient très précisément placés. Ce placement est quasiment impossible à effectuer, et on ne sait pas non plus directement les synthétiser dans une position qui conviendrait directement.
Les méthodes utilisées
Malgré ces difficultés techniques, ce nouveau processeur basé sur l’architecture RISC-V en 16-bits supporte 32 bits d’instruction et est cadencé à 10Khz ! Certes, on est loin des 5 Ghz d’aujourdhui, mais cela reste un bel exploit technique et la marge de progression est importante. Contrairement au silicone qui n’ira jamais bien plus loin.
Pour palier à l’impossibilité de placer précisément les nanotubes de carbone, les chercheurs se sont simplement dit « plaçons en plein sur une surface de silicone conducteur, il y en aura bien qui seront dans le bon sens ». Une solution qui peut sembler peu raffinée mais qui est en réalité plus complexe que cela.
Pour obtenir des semi-conducteurs n- ou p- ils ont ajouté une couche d’oxyde variable sur le dessus de ces nanotubes. Cette couche, avec le métal utilisé pour relier les différents nanotubes permet de changer leur configuration électronique et ainsi obtenir le type souhaité. Même si cela « dope » une zone de nanotubes et pas un seul nanotube, le résultat était suffisamment convaincant pour les chercheurs.
Pour ce qui est des 0.1% de nanotubes métalliques (pas semi-conducteurs), les chercheurs les ont laissés tels quel mais ont modifié l’architecture de la puce pour les prendre en compte.
Au niveau le plus bas de la programmation informatique, avant même l’addition de deux nombre binaires, se situent les portes logiques (NON, OU, NON OU etc). Ces portes logiques peuvent se combiner pour former des unités logiques plus complexes, et on peut utiliser différentes combinaisons de portes logiques pour obtenir la même chose.
Il se trouve que certaines de ces portes logiques sont plus sensibles que d’autres à la présence de quelques nanotubes métalliques. Ainsi, ils ont simplement enlevé ces portes logiques et remplacées par d’autres combinaisons de portes logiques.
des Workarounds qui ne sont pas des solutions
Au final, 14 000 transistors sont fonctionnels et 100% utilisés par le RV16X-NANO. Cependant ce CPU a vu le jour qu’en utilisant des méthodes contournant les réels problème de la technologie. Il y a certes une forte marge de progression en utilisant ces méthodes, néanmoins il serait nettement plus efficace de résoudre directement ces problèmes plutôt que d’essayer de les contourner. Même si les résoudre s’avérera très complexe.
Globalement, cela reste une technologie extrêmement intéressante et prometteuse, et il nous faudra, de toutes manières, trouver un remplacement pour le silicone dans un futur plus ou moins proche.