Un processeur 64 bits est un processeur dont la largeur des registres est de 64 bits sur les nombres entiers.

Un processeur 64 bits AMD.

Extension de l’adressage 32 bits modifier

Les processeurs 32 bits ne peuvent normalement pas adresser plus de 4 Gio (232 octets) de mémoire centrale, tandis que les processeurs 64 bits peuvent en adresser 16 Eio (264 octets). C'est pourquoi dès qu'il y a plus de 4 Gio de RAM sur une machine, la mémoire au-delà de ce seuil ne sera directement adressable qu'en mode 64 bits.

Diverses techniques contournent cette limitation sans franchir le pas du mode 64 bits. Elles offrent de prolonger la durée de vie des environnements 32 bits lorsque le passage au 64 bits n'est pas possible pour des raisons de compatibilité (non prise en charge par les pilotes ou applications).

Parmi elles, l’extension d'adresse physique (en anglais : Physical Address Extension[1], ou PAE) est un système de pagination fourni par les processeurs x86, qui étend à 36 bits la taille des adresses mémoire qui font normalement 32 bits, ce qui permet d’adresser 64 Gio (236 octets) de mémoire physique au lieu de 4 Gio (232 octets).

D’autres techniques incluent l’extension de taille des pages (en)[2] (autre fonctionnalité des processeurs x86), les Address Windowing Extensions (en)[3] (fonctionnalité des systèmes Windows) ou le recours à mmap (fonctionnalité du noyau Linux).

Processeurs 64 bits modifier

En 64 bits, les bus de données et d'adresse passent de 32 bits (4 octets) à 64 bits (8 octets). Mais dans le cas de l'architecture x86, ce n'est pas l'unique changement. Les processeurs x86 32 bits conçus par Intel (Celeron, Pentium, Pentium II, Pentium III, Pentium 4 jusqu'au Prescott) sont en fait des processeurs 8 bits (l'Intel 8088) améliorés pour faire du 16 bits, et à nouveau améliorés pour faire du 32 bits. La structure des registres dans un processeur x86 32 bits hérite donc de ce passé, tant dans le nombre réduit de registres que dans leur structure archaïque. Passer de x86 32 bits à x86 64 bits permet de passer de 8 registres généraux 32 bits à 16 registres généraux 64 bits. Ceci ne vaut que pour l'architecture x86, les autres architectures qui existent en 32 bits et 64 bits (MIPS, SPARC, PowerPC…) n'ont pas leur version 32 bits encombrée d'une structure archaïque.

Le passage de 32 bits à 64 bits augmente la consommation de mémoire. En effet, les entiers et les adresses passent de 32 bits (4 octets) à 64 bits (8 octets). Il faut donc deux fois plus d'octets pour les représenter. Cela ne signifie pas forcément qu'un programme consommant 256 Mio en 32 bits consommera automatiquement 512 Mio en 64 bits. Il consommera un peu plus de mémoire, mais pas nécessairement le double.

Exemples de processeurs 64 bits modifier

Systèmes d'exploitation 64 bits modifier

Il ne suffit pas d'avoir une machine avec processeur 64 bits et d’y installer les versions « habituelles » du système d'exploitation et des logiciels. De cette façon, le processeur 64 bits tournera en mode 32 bits (compatibilité descendante). Pour réellement utiliser un ordinateur 64 bits en mode 64 bits, il faut disposer des versions 64 bits du système d'exploitation, des pilotes et des logiciels.

Tous les systèmes d’exploitation modernes supportent au moins partiellement le mode 64 bits. La majorité d’entre eux présentent une version 32 bits et une version 64 bits, et il faut donc choisir laquelle installer. Certains systèmes existent en une seule version « unifiée ». C'est le cas, par exemple, de Solaris, dont le noyau est 64 bits mais pour lequel les exécutables peuvent être 64 bits ou 32 bits.

macOS, lui, n'est, depuis la version 10.8 « Mountain Lion », disponible qu'en 64 bits. Le système reste rétrocompatible avec les applications 32 bits mais le noyau n'existe qu'en 64 bits puisque Apple a délaissé le 32 bits sur Mac OS System.

Systèmes Unix et dérivés modifier

Produits Microsoft modifier

  • Des versions 64 bits des produits Microsoft pour l'architecture Itanium sont disponibles depuis 2001. Les systèmes suivants existent en version 64 bits pour Itanium : Windows 2000, Windows XP, Windows Server 2003 et Windows Server 2008. Aucun n’est aujourd’hui supporté ;
  • Des versions 64 bits des produits Microsoft pour l'architecture x86 sont disponibles depuis 2005. Les systèmes suivants existent en version 64 bits pour x86 : Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2008 R2, Windows 7, Windows 8 et 8.1, Windows 10 et Windows 11. Actuellement, seuls Windows 10 et Windows 11 sont encore supportés par Microsoft ;
  • Des versions des produits Microsoft conçues pour des architectures 64 bits ont été disponibles bien avant l'apparition de Windows 2000 : Windows NT 3.x et Windows NT 4.0 ont existé en versions adaptées aux processeurs DEC Alpha ou MIPS R4000. Comme les versions équivalentes pour x86, toutes ces versions ne sont plus supportées par Microsoft.
  • Depuis 2012, Microsoft impose le 64 bits aux utilisateurs professionnels désireux d'installer la virtualisation et les produits « cloud ».

Notes et références modifier

  1. (en) « Physical Address Extension », Microsoft, (consulté le ).
  2. (en) « 4-Gigabyte Tuning: BCDEdit and Boot.ini », Microsoft, (consulté le ).
  3. (en) « Address Windowing Extensions », Microsoft, (consulté le ).

Autres modifier

  • OS/400 et i5/OS d’IBM pour AS/400 - iSeries et i5.
  • Z/OS d’IBM pour mainframe.

Liens externes modifier