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

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) 7 : AMD64 (suite) 8 : Le 64 bits selon IBM 9 : Le PowerPC 970 10 : Le PowerPC 970 (suite) 11 : Conclusion

AMD64

Comme bien souvent dans ces cas là, la solution consiste à s’inspirer de ce qui a déjà été fait dans le passé. Puisqu’il est difficile et coûteux d’obtenir plus de performances de l’ISA x86 alors il faut changer de discours, ne plus miser uniquement sur la performance mais plutôt marquer une petite révolution en offrant le support du 64 bits. Comme nous l’avons vu précédemment, hormis quelques applications verticales, le 64 bits n’était pas vraiment nécessaire pour l’instant mais cela permet à AMD d’investir le monde des stations de travail et des serveurs qui eux en ont vraiment besoin. Et puis comme intel a décidé de ne pas étendre l’architecture x86 afin de supporter le 64 bits (tout du moins officiellement) cette fois AMD est seul en course ce qui lui permet de définir les standards et de ne plus se borner à respecter les choix d’intel. Pour le passage à une architecture 64 bits tout en maintenant une compatibilité totale, AMD s’est inspiré du passé.

Comme intel l’avait fait en passant les registres de 16 a 32 bits AMD a donc étendu les GPR de 32 à 64 bits. Mais contrairement à intel AMD ne s’est pas arrêté là, il en a aussi profité pour résoudre un des principaux problème de l’architecture x86 : le nombre de GPR a enfin été augmenté. Comme nous l’avons vu jusqu’à présent toutes les architectures x86 ne présentaient que 8 registres au programmeur. Pourquoi « présentaient » ? Tout simplement parce qu’en fait ils en possédaient bien plus en interne, c’est ce que l’on appelle les registres de renommage.

Ainsi les microprocesseurs modernes disposent de nombreux registres physiques mais ceux-ci sont principalement utilisés pour résoudre les fausses dépendances introduites par l’exécution des instructions dans le désordre. Ils ne sont pas visibles par le programmeur (ou le compilateur vu qu’aujourd’hui rares sont les personnes à encore écrire du code assembleur) et par conséquent ne peuvent pas être utilisés directement pour améliorer les performances du code. Leur utilisation est à la charge de l’unité de renommage, qui doit dynamiquement en faire le meilleur usage possible. La présence de nombreux registres logiques, directement visibles par le compilateur, est donc toujours nécessaire pour obtenir les meilleures performances en permettant des optimisations statiques. Sans compter que plus de registres signifie aussi moins d’instructions de chargement/rangement et donc moins d’accès mémoire. Et ça AMD l’a bien compris en dotant son architecture de 8 registres supplémentaires. Ainsi de 8 registres généraux on passe à 16 dans l’ISA AMD64 ce qui est appréciable même si les processeurs RISC disposent quasiment tous de 32 GPR. Evidemment ces registres supplémentaires ne sont accessibles que pour les nouveaux programmes tirant parti de l’ISA AMD64, le reste du temps seuls les 8GPR traditionnels sont visibles.

Dans sa grande opération de remise à niveau de l’ISA x86, dés le début du projet Hammer (nom de code de la génération actuelle de processeurs 64 bits) AMD n’a pas oublié de considérer le plus gros point faible comparé aux architectures RISC : la FPU. Cette unité responsable du calcul flottant est restée malgré tous les efforts des ingénieurs d’intel ou d’AMD inférieure à celle des meilleurs processeurs RISC. Si l’Athlon, avec sa FPU superscalaire, n’a pu rétablir l’équilibre, il était clair que continuer ainsi était un gâchis : la limite venait de l’architecture de la FPU. Cette architecture était en fait constituée de 8 registres organisés en pseudo pile. Seul un opérande par instruction était fourni, l’autre était automatiquement le registre situé au sommet de la pile. Pour résoudre ce problème AMD avait initialement choisi de créer une extension au jeu d’instructions appelé Technical Floating Point (TFP). Son but était de ramener les performances FPU de son processeur au niveau de celle des meilleurs processeurs RISC. Pour cela AMD avait abandonné l’architecture à pile hybride du x87 totalement dépassée, et voulait implémenter une FPU disposant d’un ensemble « à plat » de nombreux registres.

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