Le PowerPC, puce à tout faire grâce à IBM

Mobilité

Il va falloir encore inventer de nouveaux mots pour caractériser la énième évolution de l’informatique ! IBM, fondeur des G3 d’Apple, se lance dans les processeurs à « très longs mots d’instruction ».

Pour le moment, et pour schématiser, un ordinateur fait tourner des programmes qui ont été « compilés », c’est-à-dire traduits, pour utiliser les jeux d’instructions propres au processeur. Ainsi que nous l’avons déjà vu (voir édition du 8 novembre 2000), la vitesse et la puissance de fonctionnement desdits processeurs reposent sur un nombre de variables impressionnant comme le temps et le nombre d’accès à la mémoire.

Des instructions plus longues pour soulager le processeur

Mais une autre condition vient complexifier ce fonctionnement : la longueur des instructions utilisées. Les processeurs sont passés de « mots » très courts (4 ou 8 bits) à des mots de plus en plus longs (32 ou 64 bits), un peu comme les bébés agrègent les phonèmes et finissent par faire des phrases. Problème : plus le mot est long, plus le processeur est complexe et donc difficile à réaliser. Pour pallier ce problème, Transmeta a eu l’idée de s’appuyer sur la philosophie des débuts de l’architecture Risc : faire faire le moins de chose possible au processeur (et optimiser son fonctionnement en le simplifiant) pour augmenter le travail du logiciel. Sa puce Crusoe traite des instructions prédigérées par son logiciel de code morphing (de transformation de code) qui s’acharne à lui simplifier les opérations à traiter. Il utilise des « mots » de 128 bits, dont la longueur contrebalance les capacités de traitement limitées du processeur. Transmeta utilise là une technique basée sur des instructions très longues (VLIW ? Very Large Instruction Words).

IBM s’est lancé dans cette quête dès 1986 en étudiant sur son site de Yorktown, dans l’Etat de New-York, des VLIW qui atteignent 576 à 759 bits ! Les chercheurs ont ainsi mis au point un modèle de processeur appelé « Daisy » pour Dynamically Architected Instruction Set from Yorktown (jeu d’instruction à architecture dynamique de Yorktown).

Daisy, un processeur expérimental

Ce modèle s’appuie sur un processeur « Daisy » (encore inexistant) de type Risc à jeu d’instructions très réduit (à l’instar de ce que fait Transmeta). Un prototype de processeur expérimental a été réalisé en laboratoire par IBM. Le compilateur assemble des opérations primitives (très petites) en une seule instruction (très longue) et se charge de gérer en parallèle la charge de travail du processeur. Le logiciel sert donc de gestionnaire du temps et de la charge de travail du processeur, ne lui permettant plus de temps de latence, comme c’est souvent le cas dans les autres architectures.

Le centre de recherche a réussi à implémenter les algorithmes de parallélisation dynamique compatibles avec le processeur PowerPC. Les résultats montrent un très haut degré de parallélisme, une remise en forme agressive du code pour faire fonctionner les programme sur le processeur Daisy et donc une capacité de traduction élevée des jeux d’instructions existants. Traduit en français courant, on peut quasiment avancer qu’IBM a trouvé comment changer le plomb en or ! Son système est en effet en mesure de faire tourner sur une seule et même machine les anciennes architectures de processeurs, qu’il s’agisse de celle des PC, des Mac, de la machine virtuelle Java ou de ses serveurs S390 de manière dynamique par le biais de Daisy ! Il ne s’agit là pour le moment que de recherche, mais la voie suivie par Big Blue ne laissera pas indifférents les chasseurs d’innovation et de coûts !

Pour en savoir plus :

Le site de recherche IBM (en anglais)