Petit article technique sur une évidence finalement pas si claire.

CPU

Parmi les multiples unités de calcul que contient un ordinateur, l’unité de calcul centrale, ou en anglais « Central Processor Unit », d’où l’abréviation CPU, est l’un des plus importants, et souvent celui pris en référence.

Ces unités font des opérations sur des « mots » de données : des suites de 1 et 0 d’une taille dépendante de la génération de l’unité de calcul.

Une unité de calcul pouvant gérer des mots d’une longueur de 32 unités (1 ou 0, des bits) est dite « 32 bits ».

C’est la différence fondamentale entre les « 16 Bits », les « 32 Bits » et les « 64 Bits » : La taille des mots que l’unité est capable de traiter.

Attention : Un CPU 64 Bits, même s’il gagne en performance, n’en devient pas deux fois plus puissant que son équivalent 32 Bits

32 Bits : La référence… historique

Dans la plupart des cas, la question ne se pose simplement pas pour l’utilisateur, même éclairé, sauf dans le cas des CPU de la famille des x86 qui équipent ce que l’on appelle communément les PC, ce qui inclut les machines Apple Mac depuis 2006, et bien d’autres choses.

Après un bref début sur des CPU (8086, 8088, 80286) en 16 Bits, les PC ont adopté (avec les 80386) une conception en 32 Bits dès 1986, et que l’on retrouve encore aujourd’hui.

Et si les premiers systèmes MS-DOS fonctionnaient en 16 Bits, les premières versions populaires de Windows (Windows 3) nécessitaient un processeur 32 Bits.

Rétrocompatibilité

Depuis le début des années 2000, on commence à voir apparaître des x86 en 64 Bits : x86_64, qui en plus d’augmenter la capacité de traitement du processeur, en profitent pour revoir en profondeur les principes de conception et faire tomber certaines limitations historiques (Voyez Wikipédia pour plus de détails).

Pour éviter de laisser de côté tout le travail historique, les architectures x86 sont « Rétrocompatibles » :

Un système 16 Bits peut fonctionner sur un CPU 16 Bits, 32 Bits ou 64 Bits Un système 32 Bits peut fonctionner sur un CPU 32 Bits ou 64 Bits Un système 64 Bits ne peut fonctionner que sur un CPU 64 Bits

Cela signifie qu’il y a encore peu (avant la généralisation de l’UEFI, mais cette partie nécessiterait un article complet) on pouvait faire fonctionner un vieux DOS des années 80 sur une machine de 2014. Avec toutes les limitations qu’apporterait un si vieux système sur un matériel aussi récent.

Prudence, Prudence

Dans cette période de transition technologique, et dans l’incertitude du CPU auquel nous avions alors à faire, quelques constatations se furent rapidement :

  • Un système 32 Bits fonctionnait sur la majorité des ordinateurs (le 16 bits n’étant qu’historique).
  • Le gain du 64 Bits était peu visible, avec la réputation de n’être nécessaire que pour des « usages spécifiques ».
  • L’acteur majeur qu’est Microsoft, avec son Windows, ne s’est mis que tardivement au 64 Bits
    • La version 64 Bits de Windows XP n’avait une distribution que très restreinte.
    • Les constructeurs ont mis longtemps avant de créer des pilotes pour les Windows 64 Bits, d’où une mauvaise gestion du matériel dans les années 2000.
    • Les premières versions des Windows 64 Bits cassaient la compatibilité avec les applications 16 Bits encore utilisées par certaines entreprises.

La seule véritable limitation visible par l’utilisateur est que sans l’utilisation d’une extension PAE, testé un temps sur certaines versions de Windows XP, mais aujourd’hui complètement abandonnées par Microsoft : Le CPU ne sait pas gérer plus de 4 Go de mémoire RAM, valeur alors énorme à l’époque (et que certains osent encore vendre en 2023).

Un système Windows 32 Bits n’arrivera, Quelle que soit la quantité de mémoire installée et le CPU de la machine, qu’a géré un maximum de 3,25 Go de RAM.

Installer du 32 Bits était donc l’assurance de ne pas avoir de problème, le 64 Bit n’étant à envisager que sur des besoins spécifiques. Après 15 ans d’existence des CPU 64 Bits, cette règle s’applique toujours.

Les autres systèmes

Même si le système de Microsoft est le plus présent sur le marché, il est loin d’être le seul à fonctionner sur des CPU x86

Apple MacOS

Plusieurs fois dans son histoire, Apple a changé le type des processeurs équipant ces machines, des Motorola originaux, aux PowerPC dans les années 2000. Le x86 n’est pour eux qu’une phase de leur histoire, dont la fin est initié en 2022 avec l’arrivée des premiers ordinateurs Apple avec CPU ARM.

Changer de longueur de mot sur un même type de processeur est pour eux presque trivial.

GNU/Linux

Le monde du logiciel libre est plutôt réactif sur ce type de nouveautés. On a trouvé très vite des systèmes complètement en 64 Bits et les systèmes 32 Bits ont très vite géré le PAE qui permet la gestion de plus de 4 Go de mémoire RAM.

Seuls les modules non libres, tels que les pilotes graphiques ou des modules tels que Flash, ont historiquement posé des difficultés.

Aujourd’hui ?

En 2023, il devient difficile de trouver un système 32 bits.

Apple l’a depuis longtemps abandonné, et fait sa transition vers un autre type de CPU.

Windows 10 sera la dernière version du système de Microsoft as avoir une version 32 Bits.

La plupart des grandes distributions GNU/Linux abandonnent également leurs versions 32 Bits depuis plusieurs années.

Mis à part le cas particulier d’une machine historique qui aurait un CPU 32 Bits seulement, il n’y a plus aucune raison d’utiliser un système 32 Bits.

l’UEFI

Le changement du système de démarrage des ordinateurs de type PC, abandonnant le BIOS des années 1980 pour le nouveau système UEFI, pourrait signer la fin de l’historique 32 Bits.

Effectivement, mis à part les premières machines Apple avec CPU x86, les ordinateurs avec un UEFI sont équipés d’un CPU 64 Bits, et les systèmes 32 Bits ne prennent simplement pas en charge le démarrage via un UEFI.

Mode Legacy - Retour au BIOS

Pendant longtemps, les nouveaux UEFI possédaient un mode de fonctionnement imitant le fonctionnement du BIOS pour laisser le temps de la transition. Et passer dans ce mode de compatibilité permet de continuer à utiliser les systèmes 32 Bits qui apportent ce confort historique.

Mais si ce mode a existé durant plus de 10 ans, il a aujourd’hui disparu de toutes les nouvelles configurations pour laisser la place à l’unique nouvel UEFI … Rendant ces nouveaux systèmes incompatibles avec les systèmes 32 Bits.

Conclusions

Les systèmes 32 Bits sur x86 appartiennent aujourd’hui au passé, et après plus de 35 ans d’existence, il disparaît de notre paysage informatique.

Il laisse le combat aux nouvelles architectures de microprocesseurs, avec à sa tête l’ARM. Un combat bien plus vaste qui rencontrera ici aussi ces réfractaires.