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

L’émergence du 64 bits

1 : Introduction 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

Le 64 bits qu’est ce que c’est ?

Pourquoi a-t-on besoin d’une architecture 64 bits ? Et puis en a-t-on vraiment besoin ou tout ceci n’est, une fois de plus, qu’une nouvelle excuse trouvée par les génies du marketing pour nous faire changer de machine ? Est-ce deux fois mieux que le 32 bits ? Pour répondre à toutes ces questions il faut comprendre ce que l’on entend par processeur 64 bits et donc comment on définit la « taille » d’un processeur.

Initialement, vu la simplicité de leurs architectures, définir la taille des premiers processeurs était relativement simple : c’était la taille de leurs registres. Aujourd’hui c’est nettement plus compliqué car avec le temps les architectures se sont complexifiées et les registres multipliés. Dans un processeur x86 récent on trouve ainsi des registres 32 bits, 64 bits, 80 bits et même 128 bits ! Alors pourquoi parle-t-on de CPU 32 bits ? Et bien en fait la norme communément admise est de se baser sur la taille des registres généraux (GPR : General Purpose Registers). Dans l’architecture x86 ces GPR sont au nombre de 8 d’une taille de 32 bits depuis le 386, l’architecture PowerPC offre quant à elle 32 GPR de 32 bits. On peut se demander pourquoi l’on parle de registres « généraux » au lieu de registres entiers vu que finalement c’est bien ce qu’ils stockent : des données entières. Tout simplement par souci d’exactitude : ces registres stockent également des adresses mémoire, techniquement une adresse n’est qu’un entier spécifiant un endroit dans la mémoire mais il convient de faire la distinction. Un autre registre voit sa taille étendue, il s’agit du registre PC pour Program Counter. Celui-ci est un registre particulier qui pointe sur la prochaine instruction à exécuter dans la mémoire.

Les autres changements entre une architecture 32 et 64 bits sont évidents : outre les registres, les Unités Arithmétiques et Logiques qui manipulent les données contenues dans ces registres doivent également être adaptées en conséquences. C’est une des parties les plus coûteuses en termes de transistors car le nombre de portes logiques utilisées dépend directement du nombre de bits des opérandes manipulés. La figure suivante montre une UAL deux bits qui permet de sélectionner la valeur de sortie (R) en fonction des deux bits entrés (a et b) et d’un code Op qui détermine l’opération effectuée (0 pour effectuer un ET logique, 1 pour effectuer un OU logique et 2 pour une addition).


Une architecture 32 bits nécessitera 32 de ces UAL de base contre 64 pour une architecture 64 bits. Il ne faut pas non plus oublier qu’outre la taille des registres et l’UAL, la taille des bus internes doit également être étendue. Le bus amenant les valeurs du cache de données aux registres et le bus amenant les valeurs des registres aux UAL voient ainsi leur taille doublée.

Il convient en revanche de noter que la taille des instructions n’augmente pas avec le passage à une architecture 64 bits, les architectures 64 bits se contentent d’instructions codées sur 32 bits afin d’économiser de la mémoire (notamment le cache d’instructions) et de la bande passante.

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