Menu Fermer

Windows 32-bits et 64-bits : comment ça marche

Vous possédez un Windows 7 ou 10 en 64-bits ou 32-bits.
Lorsque vous installez une application vous avez le choix entre x32 ou x64.

Vous vous demandez comment cela fonctionne ?
Quelles sont les différents entre un Windows 64 et 32 ?
Comment une application 32-bits peut fonctionner sur un Windows 64-bits.

Cet article répond à toutes les questions.

Qu’est-ce que 32-bits et 64-bits ?

Il s’agit d’architecture pour le processeur.
Le processeur est le centre de calcul de votre PC.
Il se présente sous la forme d’une grosse puce électronique.

Avant de continuer, nous vous conseillons de lire ces deux articles.

Au fil des années, différents fabricants et types de processeur sont apparus.
Intel et AMD sont les fabricants les plus importants sur PC.

  • Les processeurs 64 bits chez Intel se nomment Intel 64.
  • Chez AMD, ils portent le nom de AMD64

Qu’apporte le 64-bits ?

Dépasser la limite des 4 Go de RAM

Il s’agit d’une extension du jeux d’instruction du processeur.
Ainsi le registre CPU fonctionne en 64 bits. Il permet de dépasser la limite des 4 Go.

Voici quelques explications.
Le registre est une petite quantité de stockage où le processeur conserve les données dont il a besoin pour accéder rapidement.
Cela permet d’améliorer les performances.
La désignation du bit fait référence à la largeur du registre.
Un registre 64 bits peut contenir plus de données qu’un registre 32 bits.
Or plus l’espace disponible dans le système de registres du CPU est large, plus elle peut en gérer.
Et donc cela rend l’utilisation de la mémoire système plus efficace.
Une CPU avec un registre de 32 bits, par exemple, a un plafond de 232 adresses dans le registre et est donc limitée à l’accès à 4 Go de RAM.
Un processeur 64 bits peut donc gérer plus d’adresse en mémoire.

En d’autre terme, avec un PC 64-bits, vous n’êtes pas limité à 4 Go de RAM.
Vous pouvez faire tourner plus d’applications ou des applications plus gourmandes.
De plus l’extension du nombre de registre permet de meilleurs performances.

Enfin Windows 64 bits gérè mieux la mémoire que la version 32 bits.

Limite de mémoire par processus

En 32 bits, un processus ne pouvait pas allouer plus de 2 Go de RAM.
De nos jours, pour les jeux ou même le navigateur WEB, cette limite pose d’énormes problèmes.
Avec le modèle 64 bits, la limite est de 8TB.
Ce qui laisse de quoi vois venir.

La limite de 2 Go de mémoire RAM alouée par processus

Un gain disparate selon les applications

Toutefois les améliorations dépendent aussi du type d’applications.
Par exemple les applications d’encodage vidéos sont bien plus performantes en 64-bits.
Alors que des applications 3D classiques ne verront peu de gain.

Enfin il faut savoir qu’une application 64-bits nécessite plus de mémoire pour fonctionner que son équivalent en 32-bits.

Pourquoi un Windows 64-bits et un Windows 32-bits ?

Tout simplement parce que pour bénéficier des avantages du 64-bits, il faut réécrire les applications.
L’OS Windows n’y coupe pas.
Ainsi on trouve deux versions.

Lorsque votre processeur est compatible 64-bits, il vaut mieux donc installer cette version.
De même, les applications installées nécessitent une version 64-bits.
Les éditeurs de logiciels connus proposent souvent les deux versions.

Les versions Windows XP, Vista, 7, 8 et 10 proposent les deux variantes.

En résumé, un processeur

  • 64 bits fonctionne mieux avec un logiciel 64 bits.
  • est rétrocompatible et gère la plupart des logiciels 32 bits.
  • est incompatible avec les logiciels 64 bits.

Comment vérifier si Windows est en 32-bits ou 64-bits

Suivez l’article dédié afin de vérifier votre Windows.

Comment vérifier si une application est en 32-bits

Sur Windows 10, il s’avère assez simple de vérifier si une application est en 32-bits ou 64-bits.
Il suffit d’ouvrir le gestionnaire de tâches.
Les applications 32-bits sont mentionnés.
Si rien n’apparaît alors elle tourne en 64-bits

Comment vérifier si une application est en 32-bits

Lorsque vous installez une application, on vous propose souvent les deux versions.

  • 32-bits peut se noter x86.
  • 64-bits se note aussi x64.

Ci-dessous 7-zip avec les différents versions.

Applications en 32-bits (x86) et 64-bits (x64)

Comment fonctionne Windows 64-bits

Comme écrit plus haut, une application 32-bits fonctionne sur un Windows 64 bits.
Comment est-ce possible ?

Tout simplement car Windows x64 embarque un émulateur 32bits.

WOW64 : l’émulateur 32 bits

Ce dernier se nomme WOW64.
Il se caractérise par le dossier système WOW64 qui stocke notamment les DLL système en version 32-bits.
Sur un Windows 64 bits, le dossier system32 lui n’a que des DLL 64-bits.
Pour résumer :

  • system32 est le Windows 64-bits.
  • Wow64 est la partie 32-bits.

Et oui c’est trompeur =)
Le dossier system32 existe depuis Windows 95.
Et Microsoft n’a pu changer le dossier de départ system32 en system64.
Surement car trop d’applications avaient le dossier hardcodé.
Peut-être même Windows.
Cela aurait posé trop de problèmes.

Le dossier Wow64 de Windows

Ensuite dans le registre Windows, on trouve la clé HKEY_LOCAL_MACHINE > SOFTWARE > WOW6432Node.
Celle-ci stocke les clés des applications 32-bits.
Lorsqu’une application x86 fait un appel sur la clé Software, Windows le redirige vers la clé WOW6432Node.
Ainsi Cela permet de ne pas mélanger les clés 32bits et 64bits.

La clé WOW6432Node du registre Windows

Enfin un dossier Program Files différents selon l’architecture comme l’explique le paragraphe qui suit.

De ce fait un Windows 64 bits prend plus de place disque qu’un Windows 32 bits.

Exemple d’application x86

Une application 32-bits ne peut charger des DLL 64-bits et inversement.
A quelques exceptions prêts.

Au lancement de l’application, Wow64.dll charge la version x86 de Ntdll.dll et exécute son code d’initialisation, qui charge toutes les DLL 32 bits nécessaires.
Certaines de ces DLL sont conçues pour se comporter différemment sur WOW64 par rapport à Windows 32 bits.
Souvent parce qu’elles partagent la mémoire avec des composants système 64 bits.
Tout l’espace adresse en mode utilisateur supérieur à la limite de 32 bits est réservé par le système.

Par exemple ci-dessous le processus Steam charge les DLL : wow64.dll, wow64pu.dll et wow64win.dll.
De plus on peut aussi voir des DLL 32-bits qui proviennent du dossier SysWow64 de Windows.

Une application charge wow64.dll, pour émuler du 32-bits

Alors qu’avec une application 64-bits on charge des DLL du dossier system32.

Une application x64 qui charge les DLL du dossier system32

Le dossier Program Files

Enfin il ne faut pas mélanger le dossier des programmes installés.
Ainsi, deux dossiers stockent les applications installées.

  • C:\Program Files contient les applications en 64-bits
  • C:\Program Files (x86) lui stocke les applications en 32-bits

Ainsi pour s’y retrouver, nous avons aussi des variables d’environnements différents.
Le tableau suivant dresse les différents.

ArchitectureVariables d'environnements
32-bitsPROCESSOR_ARCHITECTURE=AMD64 ou PROCESSOR_ARCHITECTURE=IA64 ou PROCESSOR_ARCHITECTURE=ARM64
ProgramFiles=%ProgramFiles%
ProgramW6432=%ProgramFiles%
CommonProgramFiles=%CommonProgramFiles%
CommonProgramW6432=%CommonProgramFiles%
64-bitsPROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=%PROCESSOR_ARCHITECTURE%
ProgramFiles=%ProgramFiles(x86)%
ProgramW6432=%ProgramFiles%
CommonProgramFiles=%CommonProgramFiles(x86)%
CommonProgramW6432=%CommonProgramFiles%

Liens

Enfin les liens autour de cette architecture 32bits et 64bits.