Processeur 64 bits
Un processeur 64 bits est un processeur dont la largeur des registres est de 64 bits sur les nombres entiers.
Exemples de processeurs 64 bits
- Les Itanium d'Intel basés sur l'architecture IA-64.
- Les x86-64 ou x64 (AMD64 de AMD ou Intel 64 d'Intel).
- Les IBM POWER.
- Leurs dérivés grande diffusion, comme le PowerPC G5 de IBM.
- Des sociétés comme DEC, SGI ou Sun Microsystems ont depuis le milieu des années 1990 employé des CPU 64 bits respectivement l'Alpha, le MIPS R4000 et l'UltraSPARC. Sorti en 1991 peu avant le DEC Alpha, le MIPS R4000 est probablement le premier processeur de cette génération.
Avantages
- Sans EAP (ou PAE), ni PSE (en), les processeurs 32 bits ne peuvent pas adresser plus de 4 gigaoctets (232) de mémoire centrale, tandis que les processeurs 64 bits peuvent adresser 16 exbioctets (264) de mémoire. C'est pourquoi dès qu'il y a plus de 4 gigaoctets sur une machine, la mémoire au-delà de 4 gigaoctets ne sera directement adressable qu'en 64 bits.
- Avec les systèmes Windows 32 bits, seuls 2 gigaoctets sont disponibles pour les processus utilisateur, le reste est réservé pour le noyau. Il est cependant possible de faire passer la mémoire utilisable par les processus utilisateur à 3 gigaoctets en modifiant le fichier boot.ini.
- Le mode EAP permet pour un système 32 bits d'étendre l'accès à la mémoire physique jusqu'à 36 bits en utilisant un système de pagination pris en charge par le processeur (PAE). Ce système peut augmenter la quantité maximum de mémoire vue par chaque application Windows 32 bits normalement limitée à 3 gigaoctets en utilisant conjointement Address Windowing Extensions (AWE). Il permet également d'adresser la mémoire physique jusqu'à 64 gigaoctets et de servir plusieurs applications non compatibles AWE à concurrence de 3 gigaoctets par application. Windows XP a été compatible EAP jusqu'au service pack 1, puis le support d'EAP pour l'extension mémoire a été abandonné. Le mode EAP sur ce système peut toutefois rester actif mais uniquement pour permettre l'utilisation du mode prévention d'exécution des données (DEP). Windows 7 32 bits version pro ou intégrale ne supporte pas l'extension mémoire par EAP et ne reconnait donc qu'un maximum de 3,25 gigaoctets de mémoire physique. EAP nécessite une modification du noyau (licence spécifique requise) ou une version serveur du système pour fonctionner. Le noyau Linux supporte totalement EAP depuis la version 2.3.23 (octobre 1999) sans restrictions de quantité mémoire (supporte jusqu'à 64 gigaoctets). EAP permet de prolonger la durée de vie des environnements 32 bits lorsque le passage aux systèmes 64 bits n'est pas possible pour des raisons de compatibilité (drivers et applicatifs non pris en charge).
- En 64 bits, les entiers et les adresses 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 actuels (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.
Inconvénients
- 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. Attention, cela ne veut pas du tout dire qu'un programme consommant 256 MB en 32 bits consommera automatiquement 512 MB en 64 bits. Il consommera un peu plus de mémoire, mais pas nécessairement le double.
Passage de 32 bits à 64 bits
Il ne suffit pas d'avoir une machine avec processeur 64 bits et d'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 effectivement utiliser un ordinateur 64 bits en 64 bits il faut disposer des versions 64 bits de :
- système d'exploitation ;
- pilotes ;
- logiciels d'application.
Avec un système d'exploitation open source, il est possible de les obtenir en recompilant les sources (cela dit, il existe souvent des versions précompilées pour des processeurs 64 bits). Dans le cas d'un système d'exploitation propriétaire, il est nécessaire d'obtenir les versions 64 bits de ces trois composants. Une version 64 bits du système d'exploitation est probablement disponible (voir ci-dessous). Or, la société qui vend l'application est la seule qui dispose des sources, donc elle est la seule à pouvoir offrir une telle version. Cependant, il n'est pas certain qu'elle la fournisse, et il est possible de devoir payer la version 64 bits, même en ayant déjà acheté la version 32 bits. Le plus souvent, la version 64 bits est fournie avec la version 32 bits.
Systèmes d'exploitation supportant le 64 bits
Tous les systèmes d’exploitation modernes supportent au moins partiellement le 64 bits.
Pour la majorité des systèmes d’exploitation récents, il existe une version 32 bits et une version 64 bits, et il faut donc choisir d’installer la version 32 bits ou 64 bits.
Certains systèmes existent en une seule version « unifiée ». Exemple dans le cas de Solaris (ou Linux) le noyau est 64 bits mais les exécutables peuvent être 64 bits ou 32 bits.
OS X, 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.
Systèmes Unix et Unix-like
- La majorité des distributions GNU/Linux existent en version 64 bits et 32 bits, dès 2001 (noyau 2.4).
- FreeBSD depuis la version 5.2-RELEASE de janvier 2004.
- NetBSD depuis la version 2.0 de décembre 2004.
- OpenBSD depuis la version 3.5 de mai 2004.
- Le système Mac OS X d’Apple existe en 64 bits pour PowerPC et x86.
- Solaris, développé par Sun Microsystems, dès 1998 (Solaris 7).
- HP-UX.
- IRIX premier système 64 bits.
- iOS depuis la version 7 de septembre 2013
- Android (Depuis Android L 5)
Produits Microsoft
- 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. Actuellement, seuls Windows Server 2003 et Windows Server 2008 sont encore supportés pour cette architecture ;
- 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 et Windows 8. Actuellement, toutes ces versions sauf Windows XP sont encore supportées pour cette architecture ;
- 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 ».
Autres
- OS/400 et i5/OS, d’IBM pour AS/400 - iSeries et i5
- Z/OS, d’IBM pour mainframe
Liens externes
- (en) Introduction to 64bits computing and x86-64
- (en) OpenVMS.org OpenVMS sur la plate-forme 64 bits originale
- (en) Dual Core Click - BBC, Click Online, 8 septembre 2005
- (en) Apple Mac OS X 64-bit Transition Guide
- Articles sur le software et hardware compatible 64-bit
- (en) Road to Mac OS X Snow Leopard: 64-bit to the Kernel
- Portail de l’informatique