x86, pourquoi le 32 bits devrait-il être abandonné sur PC?

Depuis que AMD a lancé son processeur Opteron et son Athlon64 cela fait presque 20 ans, mais le passage du 32 bits au 64 bits en x86 n'est pas complètement terminé, notamment en raison du fait qu'il y a beaucoup de logiciels qui ne fonctionnent pas sur 64 morceaux. Est-il temps d'abandonner le 32 bits sur x86 et de forcer la transition et pourquoi?

Pour beaucoup, maintenir la compatibilité ascendante avec 32 bits est toujours une anecdote qui n'affecte pas les performances de leurs PC, mais maintenir cette compatibilité signifie également maintenir la manière dont chacune des instructions 64 bits fonctionne avec les mêmes performances que 32 bits lors du partage du chemin de données.

Pourquoi abandonner le 32 bits

Les deux Intel et AMD peut envisager une rénovation de leur architecture 64 bits, compatible avec tous les logiciels mais avec des performances bien supérieures en refondant complètement la manière dont ils traitent en interne chacune des instructions x86 64 bits.

32 à 64 bits

Mais qu'est-ce qu'une architecture 64 bits? Une architecture 32 bits est considérée comme toute architecture pouvant adresser et donc accéder jusqu'à 2 32 octets de RAM ou ce qui est pareil: 4 Go de RAM, tandis qu'un processeur 64 bits peut en voir jusqu'à 2 64 octets de RAM et peuvent donc adresser directement une quantité beaucoup plus grande de mémoire.

Petit à petit, nous voyons comment la capacité standard des ordinateurs mis en vente dépasse le chiffre de 4 Go de RAM, cela signifie qu'ils peuvent exécuter les versions 64 bits des programmes qui augmentent. Étant donné que la durée de vie d'un ordinateur n'est pas supérieure à cinq ans, il atteindra le point où chaque PC sur le marché pourra exécuter les versions 64 bits des programmes.

PC Générique x86

C'est pourquoi la dualité entre 32 bits et 64 bits en termes d'applications devrait disparaître à un moment donné pour laisser les applications 32 bits dans la poubelle de l'histoire pour toujours.

L'origine de 32 bits dans les processeurs x86

Logox86

L'architecture x86 est à l'origine une architecture 16 bits qui a commencé avec la série 8086/8088. La première fois qu'Intel a implémenté une version 32 bits de l'architecture était dans le 80386. Intel a pris une décision de conception très ingénieuse concernant les registres de son processeur: au lieu de créer de nouveaux registres pour le mode 32 bits, ils ont étendu ceux de 16 bits , quelque chose qu'AMD a répété plus tard lors du développement de l'extension 64 bits de l'architecture.

registres x86 32 bits

L'idée d'utiliser des versions étendues de registres au lieu de nouveaux registres est un moyen qu'Intel avait de ne pas avoir à dupliquer les chemins de données de chaque instruction d'une part et d'autre part de ne pas rendre les instructions de l'ensemble d'origine incompatibles. Cela garantissait que les programmes compilés x16 86 bits fonctionneraient sur les processeurs ultérieurs.

Du 80386 au Pentium Intel, le chemin de données de chaque instruction pendant les étapes de récupération et de décodage était le même, mais Intel à partir de Pentium Pro a décidé de refaire les chemins de données de toutes les instructions 32 bits pour optimiser son fonctionnement au détriment. des 16 bits.

Le Pentium Pro, un précurseur historique du changement

pentium-pro

Dans le Pentium Pro, Intel a décidé de renouveler complètement l'ensemble du cycle d'instructions de l'ensemble complet des instructions 32 bits du Pentium Pro, une amélioration que je n'applique pas aux instructions 16 bits de telle sorte que le 16 bits programmes vers MS-DOS ou Windows 3.1 ne fonctionnait pas mieux que sur un Intel Pentium, donc pour tirer le meilleur parti de ce processeur, il était nécessaire d'utiliser des applications 32 bits.

Aux instructions du Pentium Pro MMX ont été ajoutées et il est devenu le Pentium II, c'est à ce moment-là que les développeurs d'applications et de systèmes d'exploitation ont été très clairs qu'il était temps d'abandonner le 16 bits une fois pour toutes. Ce qui s'est terminé avec la version 2001 de Windows XP. le premier Windows pour ordinateur de bureau avec base NT, à cette époque personne ne pensait plus développer des applications 16 bits.

Dans le cas d'une réforme du même type venant de la main d'Intel et / ou d'AMD, ils peuvent être utilisés pour refaire les chemins de données de chacune des instructions. Les conséquences sont que les applications 32 bits ne fonctionneraient pas aussi rapidement que les applications 64 bits, mais il n'y aurait aucune raison de rester en 32 bits pour quiconque, car les avantages que le passage complet à 64 bits apporterait seraient un beaucoup plus.

L'abandon des 32 bits sur PC est la clé de la standardisation du SSD

Pila de SSD

Tout d'abord, nous devons comprendre que contrairement aux disques durs, la mémoire Flash NAND utilisée dans les SSD peut être adressée comme s'il s'agissait de RAM. Il ne doit pas être confondu avec le fait que le contenu est accessible directement, car le SSD est plus bas dans la hiérarchie. Mais la grande vitesse de l'interface PCI Express permet de copier les données très rapidement et de manière presque transparente vers une partie de la RAM qui serait utilisée comme cache.

Jusqu'à présent, lors de l'utilisation de fichiers volumineux, le disque dur était utilisé, ce qui a une vitesse d'accès beaucoup plus faible et une latence énorme, en dehors d'un temps de recherche énorme. Lors de l'accès à un disque dur, le moyen d'y accéder ne se trouve pas dans l'adresse mémoire RAM, mais en utilisant la mémoire virtuelle et un mécanisme d'accès plus lent et plus complexe

D'autre part, les disques SSD permettent un adressage direct depuis le programme comme s'il faisait partie de la mémoire RAM, ce qui est l'avantage d'avoir un énorme adressage. Mais pour cela, il est préférable de parler d'exemples spécifiques au niveau du logiciel.

Capture d'écran Sony Vegas

L'avantage est que les applications x32 86 bits ne peuvent pas avoir un accès immédiat à plus de 4 Go de RAM, même si l'adressage n'était que de 48 bits, on parlerait de 256 To de mémoire accessible directement. Imaginez un instant que vous travaillez avec une vidéo 4K dans un programme avec Sony Vegas où le maître a une taille de plusieurs dizaines de gigaoctets et imagine pouvoir contrôler la chronologie avec toute la facilité du monde.

Un autre exemple serait dans une énorme base de données, imaginez que vous travaillez sur une application qui doit faire des recherches continues dans la base de données à pleine vitesse, en profitant de l'énorme vitesse que la mémoire SSD permet en adressage. En réalité, les possibilités sont nombreuses, en particulier dans les applications qui utilisent de gros volumes de données.

Au niveau du système d'exploitation, et pour finir, il faut prendre en compte que de nombreuses applications utilisent des bibliothèques système, le fait d'avoir tout le système d'exploitation à l'adresse du processeur accélère grandement le fonctionnement de chacune des applications.