Index

Savoir

Faire

Miscellaneous

Power4

 

Si les spécifications du futur processeur de chez IBM ne sont pas encore très nettement dévoilées, les intentions du géant d'Armonk sont elles très claires : détenir la première place en termes de performance. Cette place plairait bien à Intel, qui se tourne de plus en plus vers des marchés à marge plus importante que le marché des PCs. Mais IBM n'a dans les années qui viennent pas l'intention de jouer les assembleurs taïwanais de luxe, offrant une valeur ajoutée sur le service. Il veut à juste titre pouvoir contrôler lui-même son avenir, et n'a pas l'intention de se faire dicter sa technologie. Power4 est l'arme de choix qui devrait non seulement redorer le blason de la gamme POWER mais de plus fournir à IBM un avantage sérieux sur la concurrence.

Constat
Pour comprendre la philosophie et les choix techniques d'IBM, il faut avoir en tête quel marché il vise avec Power4. C'est évidemment le haut de gamme, et pour brasser d'énormes quantités de données. Étudiant le problème sous cet angle, IBM est arrivé à des conclusions quasiment totalement opposées à celles d'Intel et d'HP. Il remarque que :
- rien n'est fait dans l'Itanium pour diminuer les latences mémoire, mais qu'on cherche simplement à mieux s'en accommoder (guérir au lieu de prévenir) ;
- Java, de par son caractère éminemment dynamique, devrait être un cauchemar sur les implémentations d'IA-64 en termes de performance ;
- au fur et à mesure que les unités d'exécution fleurissent dans un coeur de processeur, le rendement par rapport au nombre de transistors utilisé diminue ;
- il n'y a pas de problème pour l'instant à l'élaboration d'un processeur qui distribue dynamiquement 5, voire plus d'instructions par cycle ;
- si en théorie les IA-64 sont susceptibles de mieux utiliser le parallélisme d'instructions (ILP) que Power4, cet avantage disparaît quand il est confronté à la réalité : en effet, les processeurs actuels sont capables de saturer largement n'importe quel système mémoire existant ou à venir, et cette tendance va s'accroître ; ce n'est donc pas le jeu d'instructions des processeurs qui est à revoir, mais leur architecture.
   Le Power4 conserve donc un principe de fonctionnement classique, que nous allons décrire ci-dessous. Mais nous verrons aussi que s'il n'est pas révolutionnaire en lui-même, il combine pour le mieux les principes CISC, RISC et VLIW !

Description succincte
Dans les grandes lignes, voici comment sont utilisés les 170 millions de transistors que devrait contenir chaque Power4 :
- double coeur 64 bits superscalaire 5 voies ;
- fréquence de fonctionnement supérieure à 1 GHz ;
- cache de niveau 2 ECC intégré et partagé par les deux coeurs, et logique de gestion de cache niveau 3 intégrée ;
- fiabilité améliorée de deux ordres de magnitude.
De plus, si les Power4 inaugurent le multiprocessing sur une seule puce, ils sont d'origine prévus pour fonctionner de manière optimale dans des modules les regroupant par 4, soit l'équivalent de 8 coeurs fonctionnant en même temps.

Du CISC, du RISC et du VLIW
Le Power4 s'inscrit dans la lignée des POWER et est compatible PowerPC. Pour en tirer la quintessence RISC, il utilise les techniques suivantes :
- les instructions encore trop complexes sont transformées en deux sous-instructions plus simples, ou appellent une sorte de microcode (comme les compatibles x86 actuels) ;
- les instructions ne sont plus suivies individuellement, mais regroupées dans des sortes de bundles VLIW, pour lesquels il est plus facile de vérifier les dépendances.
Ainsi la logique de contrôle est divisée par deux par rapport au Power3 tout en permettant de lancer 25% d'instructions en plus. Et pour à la fois ne rien sacrifier ni à la performance future ni à la compatibilité, certaines instructions extrêmement complexes spécifiques à POWER sont carrément émulées logiciellement, afin de pouvoir conserver une architecture CPU simple et qui monte facilement en fréquence. Et non seulement cette fréquence est censée débuter à plus de 1GHz début 2001, mais aussi augmenter de 25% par an jusqu'au milieu de la décennie, où le Power5 devrait prendre la suite !

Perspectives
Avec le Power4, IBM a mis l'accent sur l'utilisation de la mémoire. Par exemple, 8 flux de préchargement mémoire sont disponibles afin que le coeur ne soit jamais à court de données. Ou encore, les liaisons à haute vitesse à la fois entre les processeurs d'un module et leur cache de niveau 2, mais aussi vers le cache de niveau 3 et les modules externes. La montée linéaire en puissance est donc largement facilitée par une très bonne communication globale, grâce en partie au regroupement de 2 coeurs et de la mémoire cache de niveau 2 sur une seule puce. Les 400mm
2 de la puce semblent impressionnants, au même titre que les 125W dégagés (ces chiffres restent incertains). Mais IBM s'est apparemment donné les moyens techniques de réussir son projet.
   En fait, à sa sortie en 2001, il est même difficile de voir en l'Itanium, en l'UltraSparc4 et en l'Alpha 21364 des concurrents sérieux ! Car si même sur certains benchmarks monothreads il pourra potentiellement se faire battre (ce qui n'est même pas sûr, tant un unique coeur de Power4 est tout de même performant), aucune de ces architectures n'apporte autant de bénéfices en termes de fonctionnement multiprocesseur et de bande passante mémoire.
   Grâce à lui, nous, utilisateurs de micro-ordinateurs, pouvons encore rêver aux jours meilleurs qui feront petit à petit (nous l'espérons) descendre toutes les recettes miracles qui ont été appliquées dans le Power4 dans nos petites machines.