AMD - Intel : 32 Vs 64 bits
By Samuel D. - 24/01/2005
Sommaire:

 

Conclusion

 

A l'aube de la disponibilité pour le grand publique des premières "vraies" applications compatible x86-64 (Windows en tête), force est de constater que le bilan est mitigé. S'il parait clair que, à l'heure actuelle, l'intérêt du 64-bit en tant que taille maximum des GPR est plus que faible, les autres améliorations du jeu d'instructions x86 (comme le nombre de GPR) peut jouer un rôle crucial dans les mois a venir sur le plan des performances.

Avant de résumer les tests pratiques, voyons, théoriquement, ce qu'il en est. Pour les calculs entiers, la principale source d'innovation vient de l'augmentation du nombre de registres généraux (GPR), qui passent de 8 à 16. Ceci diminuant significativement les accès à la mémoire cache ou pire, à la RAM, les processeurs Intel comme AMD devraient en tirer parti de la même manière en mode AMD64 ou EM64T. Le gain de performance devrait ici être significatif. Côté flottant, il en est autrement puisque, en mode 64 bit, les instructions flottantes ne sont plus exécutées par l'unité x87, mais bien par l'unité SSE/SSE2. Pour cette raison, il semble logique que les processeurs d'Intel soient avantagées puisque nous avons déjà pu mesurer à d'autre occasion une légère faiblesse des CPUs AMD dans le traitement des instructions SIMD, et SSE en particulier. Léger avantage à Intel donc en théorie.

Pourtant, à l'issue de notre test, force est de constater que c'est, de loin, l'AMD qui profite le mieux, pour l'instant, du passage en mode 64-bit. En effet, comme nous l'avons vu sur la plate-forme K8, il est très rare que le mode x86-64 fasse perdre des performances par rapport au mode 32 bits alors que c'est souvent le cas sur P4/Xeon en mode EM64T. Par contre, nous constatons sur certains tests que le Xeon a autant de potentiel que l'Opteron ou l'Athlon 64 en terme de gain en performances avec le passage 32 vers 64 bits. Alors ? La faute à qui ?

Pour le savoir, il convient de remonter deux ans en arrière, au lancement de l'Opteron. A cette époque, plusieurs sites, dont le nôtre, avions exécuté quelques lignes de codes compilées avec la première version à peu prés stable de gcc pour x86-64. A l'époque, nous constations que les performances étaient bien souvent inférieures en mode x86-64 qu'en mode 32 bits. Encore maintenant, il suffit de réinstaller un gcc de l'époque pour ce rendre compte du problème. Bref, les raisons de la faiblesse actuelles de l'EM64T viennent tout simplement du compilateur. En optimisant mal le code pour l'architecture P4 EM64T, le compilateur provoque un ralentissement des opérations sur certains codes 64 bits. L'avancée flagrante d'AMD dans ce domaine est simple a comprendre : Avec des spécifications x86-64 qui datent de 4 ans et un produit disponible depuis 2 ans, les développeurs ont eu tout le temps de peaufiner un compilateur ad-hoc.

Malheureusement pour Intel, le lancement précipité de l'EM64T et sa déclinaison sur toute la gamme dans les mois a venir aura des conséquences sur les performances immédiates. Ayant toujours tenu le discours "Sans Windows 64 bit, pas d'Intel 64 bit", Intel a privé les développeurs d'une plate-forme connue au lancement du fameux Windows x64 et risque maintenant de s'en mordre les doigts. En effet, il faudra du temps pour que les compilateurs comme gcc parviennent à optimiser le code pour EM64T aussi bien que pour AMD64. Planche de salut pour Intel : Les compilateurs les plus utilisés sous Windows sont ceux de Microsoft ... et d'Intel ! Dans ces circonstances et connaissant les ressources d'Intel en terme d'ingénierie, un réel espoir existe que la situation d'améliore au plus vite.

 

 

 

 

 

 

Fermer