Apparue pour les processeurs serveurs PC avec
l'Itanium en 2001 et pour les stations avec l'AMD Athlon64, la technologie 64 bits
repose sur une architecture interne du microprocesseur utilisant des registres
(mémoires internes) d'une largeur de 64 bits (8 octets) pour les instructions et données (notamment le
calcul sur des nombres entiers).
Depuis les Pentium, le bus de donnée externe
est aussi d'une largeur de 64. Malheureusement, en interne, les registres ne gèrent
qu'en 32 les
données et instructions reçues. En gros, les instructions reçues des mémoires
Ram sont deux fois plus grosses que celles traitées par le microprocesseur qui doit
donc utiliser deux cycles d'horloge. En même temps, le processeur ne peut
renvoyer directement sur le bus mais doit finalement compléter le message à
envoyer sur deux cycles.
Ces registres 32 bits ont aussi un autre
désavantage sur le bus d'adresse, le processeur ne peut adresser que 232 adresses différentes,
soit 4 GB de mémoire maximum. C'est le cas depuis le 386.
L'apport du 64 bits dans un processeur permet
finalement de traiter des instructions en un seul passage dans les registres
internes et de dépasser la limite d'adressage des 4 GB de mémoire RAM. Les systèmes
d'exploitation actuels sont optimalisés pour ces instructions en 32. L'utilisation des modes 64 nécessite un système
d'exploitation (Windows, Linux, MacOS, ...) recompilé pour permettre un
adressage mémoire supérieure et gérer de nouvelles instructions spécifiques.
Deux solutions sont adoptées:
INTEL avec l'Itanium a complètement
réécrit les commandes de son processeur. Cette solution a d'abord
l'avantage d'utiliser une nouvelle architecture interne IA64 basée sur l'EPIC plus
performante, ensuite de ne plus passer par un convertisseur d'instructions
X86 en CISC vers un traitement interne en
RISC puisque les commandes ne sont
plus basées sur l'historique. L'Itanium (II) permet par exemple d'exécuter
3 instructions pour faire exactement le même travail que 5 instructions
d'ancienne génération, d'où un fameux gain de traitement et donc de
vitesse. Mais ... cette méthode a le désavantage de rendre incompatible le processeur Itanimum avec les anciens systèmes d'exploitation
et logiciels sur 32, d'où un OS et des logiciels spécifiques. Seules
quelques versions de Windows 2003-2008
serveur l'acceptent (Entreprise Editon et Data Center). Des
émulateurs 32 existent mais sont peu performants.
En gros: performance
contre incompatibilité.
AMD avec l'Opteron - Sempron / Athlon 64
/ Phenom a utilisé
une autre méthode, transformer l'architecture standard (ou plutôt
l'adapter). Outre l'allongement des registres internes de 32 à 64, ces
processeurs basés sur le jeu d'instruction MIPS64™ gèrent un adressage
supérieur. L'architecture interne est peu modifiée, les instructions
restent finalement les mêmes ... Cette technologie gère donc deux modes.
Au démarrage, suivant le système d'exploitation, le processeur va passer
à l'un ou l'autre. L'avantage est la compatibilité avec les anciens
systèmes 32 bits. En mode 64, quelques instructions spécifiques sont
utilisées, d'autres plus utilisées du X86 sont supprimées. Divers
registres complémentaires sont également utilisables, notamment en
multimédia avec les instructions
SSE. Ce deuxième mode nécessite
également des systèmes d'exploitations et des logiciels spécifiques mais
simplement recompilés pour tenir compte des quelques changements. Le Xeon
32/64 utilise strictement la même idée et les mêmes instructions.
Utiliser un microprocesseur de ce type avec Vista 32 revient exactement au
même pour un Intel Core2 incompatible.
En gros: compatibilité
contre performance même si la majorité des logiciels 32 bits ne
fonctionnent pas sur ce type de système d'exploitation.