Processeur

Un chercheur tente de rendre les instructions des processeurs x86 aussi lentes que possible

Publié il y a 2 j · d'après Tom's Hardware

Les processeurs exécutent des instructions très simples qui forment la base des programmes. Leur latence correspond au temps nécessaire pour effectuer chacune d’elles. Les ingénieurs étudient habituellement cette latence pour accélérer les logiciels et améliorer les architectures. Le chercheur Christopher Domas a choisi l’approche inverse avec son projet CPU Deoptimization : rechercher les instructions x86 les plus lentes possibles.

Le record cité concerne l’instruction fxrstor64. Elle sert à restaurer l’état de registres utilisés pour les calculs SIMD, une opération liée à certaines fonctions de calcul parallèle, vers une zone mémoire de 512 octets. Dans l’expérience, son exécution a duré 62 secondes, soit plus de 198 milliards de cycles processeur.

Ce résultat ne représente pas le comportement normal d’un PC. Pour provoquer cette durée extrême, le chercheur a utilisé une zone très lente de la liaison PCIe interne et des entrées-sorties mappées en mémoire, ou MMIO. Il a ensuite saturé le contrôleur PCIe avec d’autres lectures afin de retarder davantage la restauration de l’état processeur.

Le classement impose que seule l’exécution d’une instruction soit mesurée, sans modification matérielle et sans instructions émulées. Les essais ont notamment été réalisés avec un Intel Core i7-8559U et un AMD Ryzen 7 5800H. Une autre expérience, menée sur un processeur VIA Eden, a mesuré l’instruction rdmsr à 161 602 cycles en exploitant un registre non documenté. Ce projet intéresse surtout les développeurs bas niveau : il montre que les performances d’une instruction dépendent aussi fortement de la manière dont elle sollicite la mémoire et les interconnexions du processeur.

Cet article est un résumé rédigé par La Config. Pour aller plus loin, tu peux lire la publication d'origine :

Lire l'article original sur Tom's Hardware

Le guide qui va avec

Quel processeur : jeu ou création ?

Un bon processeur pour jouer n'est pas forcément le meilleur pour créer. Cœurs, fréquence, circuit graphique intégré : ce qui compte vraiment selon ton usage.

Envie de monter ou mettre à jour ton PC ?

Dis ton budget et ton usage : le conseiller compose une config cohérente, aux prix du jour.

Composer ma config