122 votes

Comment un processeur peut-il être rendu plus rapide par une mise à jour "logicielle" ?

Les nouveaux processeurs Ryzen d'AMD sont sur le marché et, malheureusement, ils semblent manquer de puissance pour les jeux. Les processeurs Intel sont évidemment toujours plus rapides pour les jeux. Bien sûr, les gens n'étaient pas d'accord et AMD a fait une déclaration disant qu'ils mettent à jour le firmware ou le logiciel pour accélérer Ryzen pour les jeux.

Corrigez-moi si je me trompe mais le processeur doit avoir un firmware statique pour être compatible avec la norme x64 ? Si oui, AMD ne devrait-il pas optimiser les jeux (logiciels) pour ses processeurs, ce qui est évidemment impossible ? Qu'est-ce qui se passe ici pour dire de telles choses s'il semble que c'est impossible en voyant les conditions sous-jacentes ?

Mais je peux me tromper (je l'espère), alors la question est la suivante :

Est-il possible d'améliorer la vitesse d'un processeur sans modifier le matériel sous-jacent ? Si c'est possible, comment cela se fait-il ? Existe-t-il un logiciel autre que le micrologiciel du processeur ?

72 votes

Vous pouvez rechercher le terme "microcode" sur Google.

16 votes

10 votes

Le micrologiciel peut être bon ou mauvais, ou simplement ne pas convenir à l'application. Le x86 ne définit pas la synchronisation des instructions, de sorte que la mise à jour du micrologiciel (microcode) pour améliorer la synchronisation des instructions ne rompt pas la compatibilité avec le x86. Il y a quelques raisons potentielles pour lesquelles cela est possible et pourrait être nécessaire : 1) le microcode initial est un travail rapide et n'est pas optimal ; 2) le microcode initial fonctionne bien lorsque le programme est compilé pour Ryzen, mais pas si le programme est compilé pour x86 générique ou pour le processeur d'intel, ce qui est le cas de la majorité des logiciels existants.

-1voto

Edward Tanguay Points 1109

Les mises à jour logicielles peuvent certainement accélérer le système (y compris le processeur).

Les gros ordinateurs centraux IBM en sont un exemple extrême : vous pouvez acheter plus de temps CPU en ligne, et tout ce que vous obtenez est une clé de licence que vous devez entrer dans votre système d'exploitation, et boum ! votre système fonctionne plus vite. L'astuce est simple : le planificateur du système d'exploitation refusera parfois de programmer des tâches et fera en sorte que le CPU se mette en veille à la place, ou même exécutera une boucle NO-OP pendant une courte période, afin d'atteindre un débit moyen global donné. Si vous payez une licence plus chère, le planificateur supprime alors ces NO-OP.

Ou, de manière encore plus radicale : si vous achetez un système avec seulement 4, 6 ou 8 CPU, il y aura généralement environ 16 à 32 CPU réellement installés. Le système d'exploitation en désactive simplement certains, et en entrant une clé de licence, vous pouvez les réactiver.

De même, les mainframes IBM distinguent différents types de processeurs : processeurs Linux, processeurs Java, processeurs de transaction, etc. Il s'agit en fait d'un seul et même processeur, mais l'ordonnanceur du système d'exploitation refusera de programmer les tâches de transaction (qui sont les plus importantes) sur un processeur Java ou Linux. Seules les VM Java seront programmées sur les processeurs Java et seules les VM Linux seront programmées sur les processeurs Linux. Si vous voulez obtenir des performances de transaction plus élevées, vous devez acheter des licences pour plus de processeurs de transaction : encore une fois, ce sont exactement les mêmes processeurs, la seule différence est un drapeau de configuration dans le planificateur qui dit "ne pas programmer les tâches de transaction sur ces processeurs".

Un autre exemple, moins extrême, est celui des différentes éditions de Windows. Les différentes éditions de Windows prennent en charge différents nombres de cœurs de processeur et différentes quantités de mémoire. Si vous disposez d'une grande mémoire et d'un grand nombre de processeurs, vous pouvez rendre votre système plus rapide, simplement en passant à une édition "plus grande" de Windows. Notez que les éditions ont exactement le même code ; il y a juste un commutateur de configuration quelque part qui dit "vous êtes une édition familiale, vous ne supportez qu'un processeur et 128 gigaoctets".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X