Powered By Blogger

Rechercher sur ce blogue

Aucun message portant le libellé 86s. Afficher tous les messages
Aucun message portant le libellé 86s. Afficher tous les messages

samedi 30 septembre 2023

86s : Intel réfléchit à une architecture totalement 64 bits

86s : Intel réfléchit à une architecture totalement 64 bits

Le reste ? Virtualisé


 Intel travaille actuellement à une simplification de son architecture x86-64 pour ne garder que le 64 bits. Le changement aurait divers avantages, mais demande de la préparation. Le fondeur est d’ailleurs à la recherche de retours sur cette idée.


Le 64 bits est présent dans tous les ordinateurs vendus depuis des années. Aujourd’hui, une machine sous Windows 11 l’est obligatoirement, puisque le système ne prend pas en charge les anciens processeurs 32 bits.


Le x86-64, ou AMD64 (puisqu’AMD était premier sur ce segment), est une extension du x86 classique, architecture qui a vu le jour avec le 8086 d’Intel (16 bits) en 1978. Le passage aux 32 bits est arrivé en 1985 avec le 80386. Il faudra attendre 2003 pour que le x86_64 arrive chez AMD, et 2004 chez Intel. Bien que la complexité et les fonctions des processeurs modernes n’aient plus grand-chose à voir avec les puces d’il y a 45 ans, l’héritage technique est là, sous divers aspects.


L’incroyable évolution des processeurs, du 4004 au 80286

Le développement a privilégié avec le temps la compatibilité, avec de multiples conséquences pour les processeurs d’aujourd’hui. S’affranchir de cet héritage impose de casser la compatibilité, au moins partiellement. C’était l’idée d’Intel avec l’architecture Epic de ses processeurs Itanium, et de leur jeu d’instruction IA-64. Ces puces n’avaient cependant pas vocation à atteindre le grand public, et en dépit d’un certain succès dans le monde professionnel, il n’y eut plus de nouveau modèle après 2017, victimes notamment de la concurrence avec l’architecture x86-64, bien plus abordable.


Intel revient donc avec une nouvelle proposition, x86s (s pour simplification), visant à faire le ménage dans ses puces actuelles. Et en cas de besoin pour une ancienne fonction ? Il suffira de l’émuler.


x86s : supprimer tout ce qui peut l’être

Intel prend note de la situation actuelle : les systèmes d’exploitation 64 bits sont le standard de facto et sont capables d’exécuter des applications 32 bits si nécessaires. Heureusement d’ailleurs pour certaines entreprises prenant leur temps, comme Valve. Steam est en effet toujours une application 32 bits sur Windows et Linux, sans parler de la désastreuse variante Mac, fonctionnant avec difficulté sur les Mac équipés d’une puce Apple Silicon.


Le fondeur pose donc la question : n’est-il pas le moment de simplifier un peu tout ça ? La proposition d’Intel est ainsi de supprimer tout ce qui n’est directement nécessaire au 64 bits et d’émuler le reste, s’il y a vraiment besoin. Les anciens composants 16 et 32 bits ne sont plus utilisés que pour une seule tâche selon l’entreprise : passer le relai au 64 bits.


De nombreux éléments seraient ainsi retirés, comme le ring 0 du 32 bits, les rings 1 et 2 (car inutilisés par les applications d’aujourd’hui), les modes réel et protégé 16 bits, l’adressage 16 bits de la mémoire, les MTRR fixes, une partie des entrées/sorties, le mode CR0 Write-Through, le contrôle du flag d’interruption du ring 3, certaines instructions obsolètes, l’impossibilité de désactiver certains mécanismes comme NX et SYSCALL, XAPIC (contrôle d’interruption) pour ne plus supporter que x2APIC, ou encore les exceptions #SS et #NP.


Intel détaille point par point chaque retrait dans son livre blanc sur le x86s.


Les bénéfices attendus du grand ménage

Selon Intel, le design des puces x86s en serait d’autant simplifié, de même que le fonctionnement général de l’ordinateur. L’initialisation et le redémarrage se feraient directement en 64 bits. C’est le modèle simplifié de segmentation de ce dernier qui serait utilisé pour le support des applications 32 bits, reflétant matériellement ce que les systèmes d’exploitation font déjà logiciellement.


Pour Intel, cette simplification de la conception entrainerait celle des systèmes d’exploitation. De nombreux mécanismes ne seraient plus nécessaires, et des pans de vieux code pourraient être supprimés.


En outre, le fondeur estime que les technologies de virtualisation sont aujourd’hui largement assez avancées pour prendre en charge certaines vieilles fonctions si besoin, par exemple pour un système d’exploitation n’ayant pas été taillé sur mesure pour l’architecture x86s. Autrement dit, tous les systèmes actuels. Cela paraissait évident pour ne pas risquer une cassure, mais il valait mieux le mentionner.


« Bien que l’exécution d’un ancien système d’exploitation 64 bits sur un processeur à architecture 64 bits uniquement ne soit pas un objectif explicite, l’écosystème logiciel de l’architecture Intel a suffisamment évolué avec des produits de virtualisation pour qu’une solution logicielle basée sur la virtualisation puisse utiliser du matériel de virtualisation (VMX) pour fournir une solution permettant d’émuler les fonctions requises pour lancer les systèmes d’exploitation anciens », ajoute Intel.


Le fondeur ne l’aborde pas directement dans son livre blanc consacré au sujet, mais il y aurait nécessairement des bénéfices en matière de sécurité. En supprimant tout ce qui peut l’être, la surface d’attaque serait d’autant plus réduite, en particulier quand il s’agit de vieilles fonctions matérielles pensées à des périodes où la sécurité n’était pas aussi cruciale qu’aujourd’hui.


Quel impact au quotidien ?

Au stade du simple livre blanc, tout reste encore hypothétique. Parallèlement, sa publication montre qu’Intel avance sur le sujet et réfléchit sérieusement à la question depuis un moment. Il est probable que Microsoft a été consultée, dans l’optique d’une adaptation de Windows à cette architecture simplifiée.


Quels seraient les impacts, dès lors, si ces processeurs sortaient demain ? Il est probable qu’il y aurait certaines limitations. Certes, la plupart des applications et jeux récents sont en 64 bits, mais c’est loin d’être une règle absolue. On peut imaginer des machines qui démarreraient un peu plus vite et globalement plus sécurisées, mais il faudrait vérifier la compatibilité avec la totalité du parc logiciel, ce qui mènerait nécessairement à quelques désillusions.


Car si la virtualisation donne d’excellents résultats sur les applications classiques, c’est en revanche plus compliqué dans le domaine du jeu. Le passage à un matériel purement 64 bits aurait des conséquences sur bon nombre de titres plus ou moins anciens, sans parler de tout ce qui touche au rétrogaming et aux émulateurs.


C’est toute l’ambivalence de la situation : même sur un Windows 11 – donc forcément 64 bits – le parc logiciel peut encore être très hétérogène. Seul l’ancien code 16 bits ne peut vraiment plus y fonctionner, du moins pas sans virtualisation. Avec la proposition d’Intel, tout code 32 bits serait obligatoirement virtualisé, et si l’on sait que les performances sont excellentes sur tout ce qui touche la bureautique, il en irait autrement dès que le besoin de puissance se ferait sentir. Tout ce qui touche à la 3D poserait également vite problème.


Attention toutefois, car Intel évoque surtout des pistes de réflexion. Si l’entreprise se montre sérieuse dans son projet, il faudra au bas mot attendre plusieurs années avant que le x86s se concrétise. On peut aussi parier qu’AMD prend bonne note de ce projet et va réfléchir au sujet.


REF.: https://www.nextinpact.com/article/71714/x86s-intel-reflechit-a-architecture-totalement-64-bits