Ce n'est pas tant que les mises à jour logicielles rendront le processeur plus rapide. Ce que tout le monde attend, c'est que les mises à jour logicielles rendent les logiciels plus adaptés à l'architecture de Ryzen, et capables de mieux exploiter ses performances.
Corrigez-moi si je me trompe mais le processeur doit avoir un firmware statique pour être compatible avec la norme x64 ?
Presque. Il y a un logiciel dans le CPU (microcode, comme mentionné ci-dessus) et il peut influencer les performances. Fondamentalement, X86 ne spécifie que les résultats des opérations, la manière exacte dont le CPU atteint ces résultats est le problème des ingénieurs. Les chances que les modifications du microcode jouent un rôle majeur avec Ryzen sont minces cependant, car l'écart de performance semble s'appliquer principalement aux jeux qui suggèrent que le CPU est performant, mais certains jeux en particulier ne l'exploitent pas bien.
Le système d'exploitation est chargé de veiller à ce que les programmes soient répartis efficacement sur l'unité centrale, ce qui peut avoir un impact sur les performances, mais d'une manière générale, aucun de ces facteurs ne constitue le principal problème d'une nouvelle architecture. La plupart des améliorations de performances dans des cas comme celui-ci sont le résultat de l'écriture par les développeurs d'un code mieux adapté à la nouvelle architecture. Cela n'a pas tendance à se produire entre les générations de processeurs Intel, car les changements de conception ne sont pas très importants, et ce qui fonctionne bien sur l'une d'elles fonctionnera probablement bien sur une autre.
Cependant, Ryzen est une conception entièrement nouvelle, donc tout ce qui a été écrit pour les autres processeurs n'a pas été écrit pour Ryzen.
Pour simplifier à l'extrême la situation, imaginez deux processeurs :
-
Le processeur 1 est sur le marché depuis un certain temps et (pour une raison quelconque) il est très rapide pour additionner des chiffres. Les logiciels sont conçus pour essayer d'utiliser l'addition autant que possible, afin de tirer parti de cette capacité.
-
Un processeur concurrent arrive sur le marché et est plus faible en addition, mais plus fort en multiplication. Tous les logiciels optimisés pour utiliser des instructions plus lourdes en addition se comportent mal sur le nouveau processeur, mais les logiciels qui n'ont pas été adaptés pour utiliser beaucoup d'addition se comportent plus ou moins de la même manière. Certains logiciels utilisent déjà beaucoup de multiplications et obtiendront de meilleurs résultats sur les nouveaux processeurs que sur le Processeur 1, même le jour du lancement.
Quelque temps après le lancement, les développeurs commenceront à s'adapter, en utilisant davantage de multiplications dans leurs logiciels, ou même en concevant leurs logiciels de manière à basculer entre les chemins de code à forte composante d'addition et ceux à forte composante de multiplication, en fonction de l'architecture du processeur utilisé.
C'est un peu ce qui se passe avec Ryzen : il s'agit d'une nouvelle architecture que les développeurs de logiciels n'ont pas encore optimisée pour répondre à ses caractéristiques. Avec le temps, les développeurs commenceront à peaufiner leurs logiciels pour qu'ils soient plus performants. Comme la plupart des logiciels sont déjà conçus pour être performants sur les CPU Intel (ils sont assez populaires, après tout !), ils ne vont probablement pas beaucoup profiter de ces changements.
Il y a des charges de travail pour lesquelles Intel restera simplement plus rapide, et d'autres pour lesquelles Ryzen est déjà plus rapide (et le sera encore plus) en fonction du comportement sous-jacent. Dans la situation que j'ai donnée plus haut, un logiciel qui n'a besoin que d'ajouter des choses sera toujours plus performant sur le premier processeur, et un logiciel qui doit simplement multiplier des choses sera toujours plus performant sur le second - mais dans la plupart des cas, les logiciels sont complexes et ces différences se nivelleront quelque peu.
Dans ce cas, AMD ne devrait-il pas optimiser les jeux (logiciels) pour ses processeurs, ce qui est évidemment impossible ?
Il est également intéressant de noter que ce qu'AMD a dit au sujet des performances de jeu, c'est qu'ils travaillent avec les développeurs pour optimiser les jeux. Ils envoient des systèmes de développement aux entreprises (il y en a actuellement 300 dans la nature, et ils visent les 1000 d'ici la fin de l'année) et discutent avec ceux dont les jeux se comportent mal pour les aider à résoudre le problème. Pour autant que je sache, aucune déclaration n'a été faite selon laquelle AMD optimise elle-même les jeux.
Dans ce cas particulier, Ryzen est également freiné dans certaines circonstances par Windows qui prend de mauvaises décisions quant aux cœurs à charger, et les BIOS actuels sont problématiques pour des raisons que je ne prétends pas connaître. Cependant, ces problèmes ne peuvent pas être responsables de tout l'écart de performance, car il y a des charges de travail où Ryzen surpasse déjà Intel de manière convaincante, ce qui suggère que le problème est au moins partiellement (si ce n'est principalement) dû aux programmes particuliers exécutés, plutôt qu'au système d'exploitation ou au BIOS dans son ensemble.
72 votes
Vous pouvez rechercher le terme "microcode" sur Google.
16 votes
Déjà sur SO : stackoverflow.com/questions/4366837/what-is-intel-microcode
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.
0 votes
Désolé szulat, il y a peut-être un sujet lié à celui-ci, mais il s'agit principalement de la déclaration du logiciel du processeur et de la possibilité de le mettre à jour ou d'augmenter réellement la vitesse. De plus, les gens ne chercheraient pas le microcode. Ils chercheraient comme moi les mots clés "processeur" "firmware" et "update". J'ai posé cette question pour l'intérêt général également :)
15 votes
Une mise à jour du microcode peut améliorer les temps d'instruction, mais ce n'est pas tout. Les processeurs modernes font des choses telles que la prédiction de branchement, l'exécution spéculative, l'exécution hors service, et bien d'autres choses encore qui peuvent améliorer les performances de manière significative. Tout cela est contrôlé par le microcode. Les optimisations du microcode prennent du temps et cette denrée est souvent rare dans un secteur concurrentiel.
4 votes
Imaginez que vous êtes en train de courir et que, pour une raison quelconque, vous refusez de plier votre jambe gauche. Vous pouvez facilement augmenter votre vitesse de course en utilisant plus efficacement le "même matériel" de votre jambe et en la pliant plus efficacement. Changer les instructions du "cerveau" à la jambe augmente considérablement les performances.
0 votes
Existe-t-il un logiciel en plus du micrologiciel pour le processeur ? - Euh, oui, il y a des logiciels normaux.
0 votes
Je ne pense pas que quelqu'un ait mentionné l'existence d'une vitesse subjective du processeur. Par exemple, il peut y avoir des optimisations qui aident les logiciels plus récents à fonctionner plus rapidement, parce qu'ils utilisent davantage certaines fonctions de bas niveau. Tout en échangeant avec d'autres fonctions. AFAIK.
0 votes
Vous pouvez même télécharger plus de GHz ;-)
1 votes
@DmitryGrigoryev Essayez-vous de faire valoir un point précis ou êtes-vous simplement sarcastique pour le plaisir d'être grossier ? Si c'est ce dernier cas, gardez-le pour reddit ou facebook s'il vous plaît.