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 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 bits. Malheureusement, en interne, les registres ne
gèrent les données et instructions reçues qu'en 32 bits. 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 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. L'utilisation des modes 64 nécessite un processeur conçu pour le 64 bits et une version de systèmes
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 assembleur. 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 du 8088. 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 l'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
seveur - 2008 ou 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
microprocesseurs 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 la version du 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, Core 2 et suivants utilisent strictement la même idée et les mêmes instructions.
Utiliser un Athlon 64 ou un Intel Core 5 avec Windows Seven 32 bits revient exactement au
même qu'utiliser un Intel Core incompatible.
En gros: compatibilité
contre performance même si des anciens logiciels 32 bits ne
fonctionnent pas forcément sur ce type de système d'exploitation.