Les processeurs de demain dès aujourd'hui, c'est la promesse d'AMD et d'Apple, avec respectivement l'Athlon 64 et le Power PC 970 d'IBM, la puce qui équipe les Power Mac G5. Ces processeurs 64 bits sont plus rapides avec les logiciels actuels et, selon leurs promoteurs, devraient atteindre des performances inégalées avec les programmes qui leur seront spécifiquement destinés. Bref, ils seraient ré-vo-lu-tion-naires ! Quoi qu'il en soit, leur lancement fera date, car ils s'inscrivent en rupture avec les processeurs 32 bits qui équipent les ordinateurs de bureau depuis plus de vingt ans. Les premiers représentants du genre, lancés au début des années quatre-vingt, furent en effet le Motorola 68000, pour les Mac, et l'Intel 80386, pour les PC.
Les premiers processeurs 64 bits remontent à plus de dix ans
L'Athlon 64 et le Power PC 970 d'IBM, il faut le souligner, ne sont pas les premiers processeurs 64 bits. Ce titre revient à l'Alpha de Digital Equipment et au R4000 de Mips, apparus en 1992. Depuis, le 64 bits a conquis le monde des gros serveurs et des stations de travail des ingénieurs avec les Sparc de Sun, les Power d'IBM, les PA-Risc de HP et l'Itanium d'Intel. Il s'est même aventuré dans l'univers des consoles de jeux dès 1996 avec la N64 de Nintendo, équipée d'une version spécifique du R4000 de Mips. Et avec son Emotion Engine, la PS2 de Sony lancée en 2000 dispose même d'un coeur de 128 bits !
Mais que signifient réellement ces chiffres ? Pour le comprendre, il faut savoir que les processeurs ne travaillent qu'à l'intérieur de petites zones de mémoire spécifiques nichées au coeur de leurs unités de traitement : les registres. Chacun de ces registres est caractérisé par sa taille, c'est-à-dire le nombre de bits qu'il peut contenir. Le Motorola 68020 et l'Intel 80386 furent les premiers microprocesseurs à disposer de registres de 32 bits. Ceux de leurs prédécesseurs, comme le 68000 qui équipait l'Atari ST et les premiers Mac, par exemple, n'en comptaient que 16. D'ici à penser que l'Athlon 64 et le PowerPC 970 d'IBM sont les premiers processeurs pour PC de bureau équipés de registres de 64 bits, il n'y a qu'un pas... qu'on se gardera de franchir ! En fait, aujourd'hui, le Power PC 750FX des Power Mac G4 ainsi que les Athlon XP, les Celeron et les Pentium 4 disposent déjà de registres de 128 bits spécialisés dans les traitements multimédias et de 64 bits ou 80 bits pour les calculs mathématiques.
Ce qui fait la spécificité des nouveaux processeurs d'AMD et d'IBM, c'est le passage en 64 bits d'un type particulier de registres : les registres « généraux » . Ces derniers servent essentiellement à deux choses : gérer les accès à la mémoire centrale et... réaliser les opérations qui n'ont pas besoin de plus de 32 bits pour s'exécuter ! Il s'agit là d'un incroyable paradoxe : dans l'immédiat, l'augmentation de la taille de ces registres à 64 bits une opération qui implique la révision de A à Z des bus internes au processeur et de toutes ses unités de calcul arithmétique et logique ne sert à rien ! C'est le prix à payer pour garantir la compatibilité de ces nouveaux processeurs avec les logiciels actuels.
Quels gains pour l'utilisateur ?
Le changement de taille de ces registres laisse quand même entrevoir deux bénéfices possibles. Le premier, c'est de permettre aux ordinateurs de travailler efficacement avec plus de 4 Go de données (voir « 40 bits, pour gérer plus d'informations en mémoire » , page précédente). A condition de disposer d'un système d'exploitation adapté, c'est-à-dire qui mette en oeuvre les instructions exploitant l'adressage mémoire sur plus de 32 bits. C'est déjà le cas de certaines versions de Linux pour les PC à base d'Athlon 64. Microsoft sortira une version de Windows compatible en septembre prochain. Du côté d'Apple en revanche, aucune date n'a été communiquée pour la sortie d'un Mac OS 64 bits.
Le second avantage, c'est qu'il deviendra possible de confier aux registres généraux 64 bits quelques-uns des travaux normalement dévolus aux registres 128 bits, afin de désengorger ces derniers. Les développeurs sont partagés sur les gains de rapidité que l'on peut en escompter. Cela suppose par ailleurs une recompilation des logiciels, ainsi que la réécriture des éventuelles routines écrites directement en langage assembleur. Une ou deux tâches que les éditeurs de logiciels ne semblent pas pressés d'entreprendre...
Un processeur, c'est un peu comme une usine, avec des unités de calcul qui travaillent à la chaîne. Et à un rythme effréné : chaque opération élémentaire doit être réalisée en moins d'un milliardième de seconde ! Lorsqu'un processeur travaille en 32 bits, ces opérations ne peuvent être appliquées qu'à des « paquets » d'informations de 32 bits au plus. C'est largement suffisant pour effectuer une opération arithmétique sur un ou deux nombres ou pour traiter des lettres de l'alphabet. Mais avec 32 bits, on ne peut traiter qu'un tout petit « morceau » d'image, de son, de photo ou de vidéo. Une seule seconde de musique en MP3, par exemple, représente des dizaines de milliers de bits. Heureusement, le traitement des images et des sons met souvent en oeuvre des actions répétées à l'identique sur des données indépendantes les unes des autres. D'ici à imaginer des instructions capables de traiter plusieurs données à la fois, il n'y a qu'un pas, qui fut franchi en 1997 avec les Pentium MMX. Et depuis la sortie du Pentium III d'Intel en 1999, ces instructions bénéficient de zones de calcul de très grande taille, des registres de 128 bits qui permettent au processeur de traiter d'un coup de 2 à 16 données, suivant la nature des informations considérées. Le Power PC 750FX des Power Mac G4 dispose lui aussi de tels registres.
Quand on lance un logiciel, l'ordinateur lit sur le disque dur les fichiers contenant les instructions du programme et les charge en mémoire centrale. Au sein de cette mémoire, chaque octet d'information est rangé dans une case, identifiée par un numéro que l'on appelle adresse mémoire. Ce sont ces adresses qui permettent au processeur d'indiquer où se trouvent les informations dont il a besoin, et où il faut ranger les résultats de ses calculs. Lorsqu'un processeur ne dispose que de registres de 32 bits pour exprimer ces numéros, il ne peut adresser directement que 4 294 967 296 cases (2 32 ) soit 4 Go de données. Pour accéder à une plus grande quantité d'informations, il doit « ruser » en jonglant avec des mécanismes d'adressage compliqués et gourmands en temps de calcul. Pour l'instant, seuls les serveurs partagés entre plusieurs utilisateurs ont besoin d'une capacité d'adressage de plus de 4 Go. Mais dans quelques années, tous les micros seront concernés. Aujourd'hui déjà, quand on lance plusieurs logiciels sous Windows XP, le système d'exploitation manipule un espace mémoire de près de 1 Go. Avec leurs adresses mémoire de 40 bits pour le premier et 42 bits pour le second, l'Athlon 64 d'AMD et le PowerPC 970 d'IBM repoussent la barrière de 4 Go à plus de 1 000 Go !
Avec trois chiffres (un pour les centaines, un pour les dizaines, un pour les unités), on peut compter jusqu'à 999. A condition de manipuler des nombres entiers. Pour obtenir une précision d'un chiffre après la virgule, on est limité à 99,9, et à 9,99 si la précision doit être de l'ordre du centième. Une astuce, pour exprimer des valeurs très grandes avec peu de chiffres, consiste à décrire les nombres avec le système de notation scientifique. Ce système (dit calcul en « virgule flottante » en informatique) permet d'exprimer de très grands et très petits nombres avec peu de chiffres. Ainsi, la notation 0.11E9 (0,11 x 10 9 ) correspond à cent dix millions et 0.23E-9 à deux cent trente millionièmes. La précision de l'expression est ici limitée à deux chiffres significatifs, un problème auquel les processeurs sont confrontés en permanence. Avec des registres de 32 bits, par exemple, la précision des nombres décimaux est limitée à 7 ou 8 chiffres significatifs. Des calculs plus fins peuvent être obtenus en travaillant avec des « paires » de registres de 32 bits, chaque paire étant considérée comme un seul registre de 64 bits. Mais cette solution est coûteuse en temps de calcul. Depuis la sortie des Pentium en 1993, les processeurs pour PC disposent de registres de calcul de 80 bits qui offre une précision d'une vingtaine de chiffres significatifs. C'est un luxe. La majorité des processeurs (dont le Power G5) et les instructions multimédias SSE2 introduites en l'an 2000 avec les Pentium 4 se contentent d'une quinzaine de chiffres significatifs en traitant les nombres décimaux sur 64 bits.
Contraction de Binary Digit , ou chiffre binaire, symbolisé par 0 ou 1. En informatique, toute information élémentaire est représentée par un bit. Les informations plus complexes sont composées de séries de bits, comme les mots du français, toujours formés avec les 26 mêmes lettres.
Octet« Mot » de 8 bits. Avec huit positions binaires, un octet peut prendre 256 valeurs différentes, ce qui suffit pour coder tous les caractères imprimables.
RegistresZones de mémoire du processeur qui stockent les données et les instructions à traiter. Certains registres sont spécialisés : les registres x87 des processeurs de PC sont destinés aux calculs de précision, dits en virgule flottante, avec des nombres codés en notation scientifique.
Virgule flottanteMise en forme des nombres adaptée aux valeurs très grandes, ou très petites. C'est l'équivalent de la notation utilisée par les scientifiques (0,3 x 10 3 pour 300, par exemple). Elle facilite les calculs sur les nombres décimaux.
Adresse mémoireCode binaire indiquant la position d'une information dans la mémoire centrale des micros. Sa longueur maximale dépend du processeur utilisé : 32 bits pour les Athlon XP et les Pentium 4,40 bits sur les Athlon 64, etc.