AMD Athlon 64 & Athlon 64 FX

Publié le 23/09/2003 par
Imprimer
Le x86-64 / AMD64 ISA en théorie
AMD va toutefois plus loin avec l'introduction d'une extension 64 bits du jeu d'instruction x86 qui est celui utilisé par vos processeurs Intel ou AMD. Qu'est-ce qu'une architecture 64 bits ? En fait, il s'agit tout simplement d'une architecture dotée de registres capables de stocker des données sur 64 bits. Pour rappel, les registres sont de petites zones mémoire au sein du processeur qui font office de stockage temporaire pour les données.

Le fait de travailler sur des données 64 bits n'a rien d'exceptionnel en soit. En fait, c'était déjà le cas pour les nombres flottants depuis le x87 qui va même jusqu'à travailler en interne sur des registres 80 bits pour une précision accrue et même pour les nombres entiers via certaines instructions SSE2.


Le x86-64, dont le nouveau nom est AMD64 ISA, va plus loin puisque cette fois tout passe en 64 bits, que ce soit les entiers standard ou les adresses, qui étaient jusqu'alors codées en 32 bits. Ainsi, en mode x86, les AMD64 disposent de 8 registres x87 80 bits, de 8 registres généraux 32 bits et de 8 registres SSE/SSE2 128 bits. En mode x86-64, les registres x87 ne changent pas alors que les 8 registres généraux passent à 64 bits et sont compléter par 8 confrères. Côté SSE, on passe de 8 à 16 registres, ce qui prouve que AMD va dans le même sens que Intel et pousse donc les développeurs à délaisser le x87 au profit du SSE.

En ce qui concerne le 64 bits à proprement parler, l'intérêt est double. En termes d'adressage mémoire tout d'abord, il permet d'outrepasser la limite de 4 Go liée au codage binaire sur 32 bits pour la passer à 256 Teraoctet du fait d'une "limitation" à 48 bits du codage de la mémoire virtuelle. Certes, Intel a de son côté pu outrepasser cette limitation sur ces Xeon pour atteindre 64 Go, mais il en faudra toujours plus (640K ought to be enough for anybody, isn't it ?).

L'autre avantage se situe bien entendu au niveau des calculs sur les nombres entiers. En effet, dans les applications nécessitant des calculs sur des entiers très importants (la limite est tout de même de 4.29e9 en 32 bits, et atteint 1.84e19 en 64 bits), le fait de coder l'entier sur 64 bits permet au processeur de pouvoir manipuler plus simplement et plus rapidement ce type de nombre, sans avoir à doubler le nombre de registres et de cycles d'horloges nécessaires aux calculs. Là encore, et comme pour la limite en taille mémoire, cela ne concerne pour le moment que des applications bien spécifique comme par exemple l'encryptage de données ou les calculs scientifiques.

Dans un premier temps, les gains vont donc être relativement faibles, et l'on va surtout bénéficier de l'augmentation du nombre de registres, ce qui n'est déjà pas si mal.
Vos réactions

Top articles