Quand le processeur se fond dans le logiciel

Mobilité

Dernier volet de notre histoire des jeux d’instructions. Aujourd’hui, nous sommes dans l’ère du post-Risc, selon l’université du Michigan. Une ère où les processeurs Cisc se voient complétés d’un module dynamique Risc et où les processeurs Risc accueillent des fonctions complémentaires, de sorte que les deux familles se sont rapprochées. C’est le moment pour une nouvelle famille d’émerger : le post-Risc ou méta-Cisc, dont le Crusoe de Transmeta est un représentant.

Economiquement parlant, l’architecture X86, la plus représentée, est aussi la plus avantageuse. Techniquement parlant, il n’y a plus réellement d’architecture X86 ! L’électronique s’oriente vers l’émulation ou plus précisément la traduction.

Le “Code Morphing”, du matériel vers le logiciel

Car voilà bien la dernière évolution des processeurs : disposer maintenant d’une architecture leur permettant de se préparer le travail avant de le réaliser. Ce modèle de fonctionnement fait partie de la définition initiale des processeurs Risc. Toutefois, ces processeurs ont fini par se perdre en complexité. L’un des pères du processeur Risc, David Ditzel, a désormais beau jeu de condamner cette dérive du processeur de son invention, et de lancer un nouveau type de puce qui poursuit le mouvement de balancier du matériel vers le logiciel en émulant lui-même une architecture ! C’est ce que fait le Crusoe de Transmeta, dont Ditzel est le patron, et qui n’est autre qu’un processeur Risc qui décharge sur la couche logicielle l’émulation de l’architecture X86 (voir édition du 20 janvier 2000). Ce type de fonctionnement appelé “Code Morphing” a fait ses preuves sur des processeurs comme le HP PA-8000 dans sa variante la plus simple : l’interprétation d’instructions du processeur PA-8000 lui-même ! Il s’agissait du projet “Dynamo” de Hewlett Packard.

Quelle idée, direz-vous ! En fait, cet “émulateur” est un traducteur interprétant des programmes qui pourraient fonctionner très bien directement sur le processeur utilisé ! Cette interprétation permet d’augmenter de 20 % la performance de la puce, par optimisation de l’utilisation du code ! Chez le Crusoe de Transmeta, c’est la même chose, sauf que le processeur réalise cette interprétation non pas pour lui-même, mais pour une autre architecture.

Et si MacOS X passait sur x86 grâce à l’émulation ?

S’agit-il d’une tendance lourde de l’industrie, et verra-t-on bientôt ces machines partout ? Difficile à dire. Mais ce modèle démonte complètement le précédent en ne justifiant plus l’utilisation d’un type de processeur pour un type de système d’exploitation. Une justification que les différentes versions d’Unix mettent déjà à mal, puisqu’elles tournent indifféremment sur des processeurs Risc ou Cisc sans problème, tout comme le faisait le système d’exploitation de NeXT. De là à dire que la partie à gagner est effectivement reportée sur les développements logiciels, il n’y a qu’un pas, qu’on peut franchir allègrement tant la tendance actuelle des firmes repose sur les équipes de programmeurs plus que sur les ingénieurs électroniciens. Les rumeurs entourant le portage de MacOS X vers l’architecture X86 ou la possibilité pour Apple de penser à l’utilisation d’autres types de processeurs que la famille des PowerPC vont dans ce sens.

Alors ? La guerre entre architectures Risc et Cisc est bel et bien terminée d’un point de vue technique. Le modèle Risc, tout comme le modèle Cisc, va petit à petit se trouver dépassé par un nouveau modèle post-Risc qu’on pourrait aussi appeler méta-Cisc. Un modèle abstrait où le matériel n’a pas l’importance que la course à la puissance de ces dernières années lui a donnée, mais où la plus grosse partie du travail est reportée sur les couches logicielles ! La révolution électronique se poursuit donc à l’inverse de la tendance lancée dans les années 60 par les chercheurs d’IBM, du matériel vers le logiciel…

Pour en savoir plus :

* Transmeta (en anglais)

* Le projet Dynamo de HP (en anglais)


Lire la biographie de l´auteur  Masquer la biographie de l´auteur