Accueil » Dossier » L’émergence du 64 bits » Page 9

L’émergence du 64 bits

1 : Introduction 2 : Le 64 bits qu’est ce que c’est ? 3 : Le 64 bits, quel intérêt ? 4 : Le 64 bits selon AMD 5 : Le 64 bits selon AMD (suite) 6 : AMD64 7 : AMD64 (suite) 8 : Le 64 bits selon IBM 10 : Le PowerPC 970 (suite) 11 : Conclusion

Le PowerPC 970


La philosophie de conception du PowerPC 970 n’a pour sa part rien à voir avec celle de l’Athlon 64. Ici pas question de toucher au jeu d’instructions, l’ISA PowerPC apparu au début des années 90 répond à toutes les exigences de modernité d’un ISA RISC actuel. Nul besoin d’augmenter le nombre de registres non plus : avec 32 registres généraux et 32 registres flottants, les PowerPC sont suffisamment bien fournis à ce niveau. Par conséquent la transition vers le 64 bits est beaucoup plus douce dans le monde PowerPC que chez le concurrent x86. D’ailleurs le 970 n’est pas le premier processeur PowerPC 64 bits : c’est au PowerPC 620, dérivé du 604 apparu dés 1995 que revient ce titre. Cependant le PowerPC 970 sera le premier processeur PowerPC 64 bits disponible pour le grand public. Pour concevoir cette nouvelle puce IBM s’est basé sur son architecture POWER4 en la débarrassant des fonctionnalités trop coûteuses et peu utiles à un processeur grand public. Exit ainsi le dual core, le cache L2 est diminué et le support d’un troisième niveau de cache supprimé. En revanche le PPC970 se voit doté des unités SIMD Altivec afin de permettre la compatibilité avec les applications écrites pour le PPC7450.


Le PPC970 renie plusieurs aspects de son prédécesseur le PPC7450 (aka G4e). En effet alors que ce dernier misait tout sur son efficacité en optant pour de nombreuses unités d’exécution et pour un pipeline court qui limitait les pénalités en cas d’aléas (maximisant ainsi l’IPC : le nombre d’instructions par cycle), le PPC970 prend la voie inverse en faisant le choix d’un pipeline extrêmement long. Ainsi le nombre d’étages du pipeline passe de 7 sur le G4e (il était de 4 étages sur le premier G4) à 16 pour le PPC970 dans le cas d’entiers. L’objectif est ici clair : contrairement aux G3 et G4 qui ont longtemps traîné en terme de fréquence derrière les meilleurs processeurs x86, IBM a clairement décidé d’offrir un processeur qui pourrait subir une montée en fréquence rapide.

Mais prendre la décision de s’orienter vers un pipeline long peut s’avérer risquée, en effet les pénalités de prédiction de branchement ont tôt fait de dégrader très largement les performances. Ainsi les ingénieurs d’IBM ont doté leur processeur d’un système de prédiction de branchement très évolué. Tout d’abord l’unité de prédiction de branchements peut traiter jusqu’à deux branchements par cycle, mais ce n’est pas tout : elle repose aussi sur l’utilisation conjuguée de deux schémas de prédiction de branchement. Le premier repose sur l’utilisation de la classique table d’historique des branchements qui est un tableau, indexé par l’adresse de l’instruction de branchement, contenant des flags de 1 bits indiquant si le branchement a été pris récemment ou non. Celle du PPC970 comporte un nombre conséquent d’entrées : 16K ce qui est autant que pour les processeurs de 8ème génération d’AMD comme nous l’avons vu précédemment. Le deuxième schéma pour sa part consiste en une deuxième table de 16K entrées de 11 bits cette fois, qui garde une trace des chemins pris par les 11 derniers groupes d’instruction traités. Enfin une dernière table de 16K entrées est utilisée pour comparer le résultat des deux méthodes précédentes et conserver pour chaque branche laquelle a donné le bon résultat. Tout ceci peut sembler bien inintéressant ; ce qu’il faut en retenir c’est qu’IBM a dédié un nombre considérable de ressources à la prédiction de branchement et que c’était nécessaire du fait de l’architecture particulière du PPC970.

Car la plus grande originalité du PPC970 ne vient pas de son architecture 64 bits, tout ce qu’il y a de plus classique, elle vient plutôt du fait qu’il s’agit du premier processeur PowerPC à ne plus exécuter nativement les instructions de son ISA. Ainsi comme les processeurs x86 depuis le Pentium Pro, le PPC970 décompose les instructions PowerPC en un format interne, pour obtenir les IOP qui seront ensuite envoyées aux unités d’exécution. Et ce n’est pas la seule particularité du PPC970, ainsi au lieu d’exécuter ces IOP indépendamment comme les autres processeurs il en assemble tout d’abord 5 au sein d’un groupe. L’intérêt est tout simplement de limiter les ressources nécessaires pour conserver une trace des instructions en cours de traitement, ce qui est nécessaire du fait de l’exécution dans le désordre. Ainsi au lieu de conserver indépendamment la trace des instructions en cours de traitement, le PPC970 n’a qu’à traiter des groupes soit 5 fois moins de données. C’est ainsi que le PowerPC peut gérer plus de 200 instructions en cours de traitement contre « seulement » 128 pour le Pentium 4 et 16 pour le G4e.

Sommaire :

  1. Introduction
  2. Le 64 bits qu’est ce que c’est ?
  3. Le 64 bits, quel intérêt ?
  4. Le 64 bits selon AMD
  5. Le 64 bits selon AMD (suite)
  6. AMD64
  7. AMD64 (suite)
  8. Le 64 bits selon IBM
  9. Le PowerPC 970
  10. Le PowerPC 970 (suite)
  11. Conclusion