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

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 ? 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

Le 64 bits selon AMD

x86 : une vieille histoire…

Lorsque les ingénieurs d’AMD ont commencé à travailler sur leur nouvelle génération de processeurs ils ont du faire face à un véritable challenge : comment faire évoluer une architecture vieille de plus de vingt ans et qui avait déjà connu sept générations successives ? Et surtout : était ce une bonne idée ?

Pour répondre à la première question il faut se plonger dans le passé et regarder les évolutions apportées par les générations successives de microprocesseurs compatibles x86. Tout a commencé avec le 8086, un processeur 16 bits conçu par intel et basé sur le 8080, son précédent processeur. Celui-ci reposait sur un système de type accumulateur étendu, ce qui signifie que les différents registres avaient un rôle particulier et ne pouvait pas être utilisés pour stocker n’importe quoi. Le 8086 bénéficiait aussi d’un système d’adressage mémoire sous forme de segmentation que beaucoup de programmeurs ont appris à détester. Le 80286 a pour sa part étendu l’espace d’adressage, précédemment limité à 20bits, à 24bits et adjoint un certain nombre d’instructions destinées à la gestion de la mémoire et aux protections ce qui fut appelé « le mode protégé ». Il disposait cependant toujours d’un « mode réel » le faisant fonctionner comme un 8086 à titre de compatibilité.

Le 80386 a marqué une grosse évolution par rapport à ses prédécesseurs. Outre le passage à une architecture 32 bits. Il se libère de plusieurs contraintes de l’architecture x86 : désormais le 80386 offre un adressage 32 bits (pouvant simuler un adressage à plat) et surtout il permet d’utiliser les 8 registres de l’ISA x86 de manière générique devenant ainsi une machine à registres généraux. En revanche, le nombre de registres reste inchangé à 8.
À partir de là les changements seront moins radicaux, ne touchant quasiment plus au jeu d’instructions et se concentrant sur des techniques permettant de tirer les meilleures performances possibles de l’architecture.


Ainsi le 486 s’est vu adjoindre une mémoire cache interne et un coprocesseur arithmétique. En outre l’exécution est désormais « pipelinée », ce qui signifie que chaque instruction est décomposée en succession d’opérations simples un peu à la manière d’une chaîne d’assemblage. Cette technique permet un recouvrement des instructions et de s’approcher ainsi du débit d’une instruction par cycle d’horloge tout en maintenant un cycle assez court et donc des fréquences élevées.

Le processeur suivant d’intel : le Pentium a poursuivi dans cette voie du changement dans la continuité. Il a ainsi étendu le bus de données à 64 bits et restera surtout dans les mémoires comme le premier processeur x86 superscalaire, c’est-à-dire à même d’exécuter deux instructions entières simultanément grâce à ses deux UAL. A partir de ce moment intel a pris conscience qu’il serait difficile de rester compétitif face à ses concurrents utilisant une architecture RISC plus récente. Intel a donc procédé à un changement en profondeur des fondements de son architecture interne. Mais seulement de l’architecture interne, il n’était pas question de perdre ce qui a fait la force de l’ISA x86 jusqu’à présent : sa rétrocompatibilité.


La stratégie adoptée par intel a consistée a offrir un mode d’exécution découplé : au lieu d’exécuter nativement les instructions x86 complexes, celles-ci sont décomposées en instructions simples (de type RISC) appelées µops et ainsi envoyées aux unités d’exécution. Cette technique a permis à intel et à son nouveau processeur, le Pentium Pro, de rester compétitif dans la course aux performances face à ses concurrents RISC (PowerPC, Alpha, SPARC). Pendant longtemps intel s’est contenté de décliner son architecture P6, profitant du contrecoup subi par ses concurrents, sonnés par le niveau de performance atteint par le P6. En effet ils avaient longtemps cru qu’ils bénéficieraient d’un avantage substantiel de performances pour imposer leurs architectures et que cet avantage irait en grandissant. Cette assurance était d’ailleurs particulièrement bien illustrée dans une des publicités de l’alliance AIM (Apple-IBM-Motorola) vantant les avantages de l’architecture RISC de leur PowerPC :


Mais l’erreur commise par intel était de considérer qu’il s’était débarrassé ainsi de toute concurrence, alors que son plus sérieux adversaire ne venait pas du monde RISC mais était un ancien allié : AMD. Ce dernier a ainsi été le premier à disposer d’une architecture de 7ème génération avec son Athlon. Ce processeur reprenait le concept d’exécution découplée du Pentum Pro tout en l’étendant en offrant plus d’unités d’exécution. Il avait également l’ambition d’offrir des performances de haut niveau dans le domaine du calcul flottant qui restait jusqu’alors le dernier bastion du monde RISC. Avec son architecture à base de pseudo pile et son manque de registres, amener l’architecture x87 au niveau des implémentations RISC était un véritable défi… qui n’a été que partiellement accompli. Si l’Athlon restera sans doute la meilleure implémentation x87 de l’histoire et s’il a permis de combler un peu le fossé séparant les processeurs RISC des processeurs x86, il n’en reste pas moins que malgré d’énormes ressources (l’Athlon a été le premier processeur x86 a offrir une FPU superscalaire) il n’est pas parvenu à égaler le niveau des ténors comme l’Alpha 21264. En revanche les UltraSparc et les PowerPC perdaient leur dernier avantage.

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