Hardware, software, tabula ? 3


Au début, tout était clair : un ordinateur était un assemblage de circuits électroniques formant le hardware, piloté par du software définissant la séquence d’opérations à effectuer. Et puis tout est devenu compliqué.

Charles Babbage, inventeur de la première machine programmable, et Ada Lovelace, auteur du premier logiciel

D’une part, pour réaliser des opérations plus complexes, il est apparu plus simple de les « microprogrammer » : les puces des processeurs incorporent du logiciel « figé » qui décompose chaque instruction du langage machine en opérations encore plus simples.

D’autre part, les circuits logiques programmables permettent désormais de réaliser des circuits électroniques très complexes par programmation. A l’aide d’un langage spécifique comme VHDL, on décrit le fonctionnement du circuit, puis un compilateur génère des données que l’on écrit dans le circuit comme dans une mémoire afin de le configurer comme souhaité. De plus en plus de puces trônant dans vos téléphones portables, appareils photo, voitures ainsi que dans toutes les machines industrielles imaginables sont de ce type. On peut ainsi y implanter des fonctions spécifiques à l’application s’exécutant de façon extrêmement rapide, et au besoin adjoindre sur la même puce, par programmation toujours,  un « processeur softcore » permettant d’exécuter un logiciel traditionnel. Bref, maintenant on peut programmer un circuit vierge pour qu’il se comporte comme un microprocesseur microprogrammé programmable, vous me suivez ?

Les circuits « PLD » peuvent être programmés une fois pour toutes, éventuellement reprogrammés de temps en temps à l’instar d’une mémoire flash. Les FPGA, plus récentes, se programment comme des mémoires RAM, et sont donc reprogrammables souvent et rapidement.

L’étape suivante pourrait être de les reprogrammer en fonctionnement. C’est ce que propose l’entreprise Tabula avec sa technologie « 3D Spacetime » incarnée dans ses circuits ABAX . Ces circuits peuvent être reprogrammés des milliers de fois par seconde et peuvent donc réaliser sur une seule puce des fonctions qui auraient nécessité plusieurs circuits très différents.

En quelque sort, Tabula réalise l’équivalent de puces « multicouches » en empilant des surfaces de silicium selon la dimension du temps.  On peut objecter que ceci réduit d’autant la vitesse des circuits, mais d’autre part, on peut optimiser la surface de silicium réellement utilisée à chaque étape, par exemple pour traiter plus de données en parallèle. Point non négligeable, cette technologie réduit aussi beaucoup le coût de l’interconnexion des puces : on remplace des connecteurs en or et du circuit imprimés multicouches par des bits de données. Bientôt un PC au format d’une boite d’allumette, voire au même prix ?

Plus ça avance, plus la Loi de Moore me semble avoir encore de beaux jours devant elle. Merci à Malcolm pour avoir renforcé mon optimisme en me parlant de Tabula. Et peut-être bien que j’achèterai quelques actions quand ils seront cotés…

  • barmic

    Je ne comprends pas très bien. Les puces actuelles sont déjà réalisées en 3 dimensions je ne comprends pas pourquoi du « multi-couche » serait une nouveauté.

    • http://drgoulu.com Dr. Goulu

      A moins que je n’aie loupé quelque chose d’extrêmement important, pour l’instant on n’arrive à graver qu’une seule couche de transistors à la surface d’un wafer de silicium (http://fr.wikipedia.org/wiki/Fabrication_des_dispositifs_%C3%A0_semi-conducteurs la version anglaise est beaucoup plus complète).

      On peut effectivement déposer plusieurs couches de métallisation séparées par des couches d’isolants et permettre ainsi de croiser des pistes conductrices, mais tant qu’on ne parviendra pas à redéposer une couche de silicium cristallin pour y regraver des transistors (et à trouver un truc pour évacuer la chaleurqu’ils produisent), la microélectronique restera confinée à la 2D, ou disons à la 2D+1 ou 2 microns…

  • Raijmond

    Je mets quelle-que bémols.
    Les FPGA’s sont toujours pas beaucoup utilisé, car les ASIC (non configurable) produit en grand quantité sont bien moins cher.
    Chaque configuration doit être mappé sur la puce FPGA-3D et être vérifié. Ce que je ne crois pas possible en temps réel. Donc les configuration possible doit être déterminée au départ du produit.