Pages

Friday, August 28, 2020

Une nouvelle analyse approfondie révèle les secrets de l’architecture Zen 2 d’AMD - Marseille News .net

zeranjerat.blogspot.com

Cela fait une minute que je n’ai pas fait référence à son travail, mais l’architecte de logiciels CPU et chercheur de fonctionnalités de bas niveau Agner Fog continue de publier des mises à jour périodiques de ses manuels CPU comparant les différentes architectures AMD et Intel. Une mise à jour récente de sa mise à jour met en lumière une fonctionnalité de la puce Zen 2 d’AMD qui était auparavant ignorée.

Divulgation: J’ai travaillé avec Agner Fog dans le passé sur la collecte de données pour son projet en cours, mais pas depuis plusieurs années.

Agner gère chaque plate-forme à travers une longue liste de repères micro-ciblés, afin de connaître les détails de leur fonctionnement. Les graphiques de latence d’instructions officiellement publiés par AMD et Intel ne sont pas toujours précis, et Agner a déjà trouvé des bogues non divulgués dans les processeurs x86, y compris des problèmes avec la façon dont Piledriver exécute le code AVX2 et des problèmes dans le pipeline FPU d’Atom original.

Pour la plupart, les détails de bas niveau seront familiers à quiconque a étudié l’évolution des architectures Zen et Zen 2. Le débit d’extraction maximum mesuré par thread est toujours de 16 octets, même si en théorie le processeur peut prendre en charge jusqu’à 32 octets d’extraction alignée par cycle d’horloge. Le processeur est limité à un taux de décodage régulier de 4 instructions par cycle d’horloge, mais il peut éclater jusqu’à six instructions en un seul cycle si la moitié des instructions génèrent chacune deux micro-opérations (uops). Cela n’arrive pas très souvent.

La taille théorique du cache uop est de 4096 uops, mais la taille effective d’un seul thread, selon Agner, est d’environ 2500 uops. Avec deux fils, la taille effective est presque 2x plus grande. Les boucles qui s’insèrent dans le cache peuvent s’exécuter à 5 instructions / cycle d’horloge, avec 6 encore possibles dans certaines circonstances. Les tests de bas niveau ont également confirmé certaines avancées spécifiques de Zen à Zen 2 – Zen peut effectuer soit deux lectures, soit une lecture et une écriture dans le même cycle, tandis que Zen 2 peut effectuer deux lectures et une écriture, par exemple. Le graphique ci-dessous montre comment les instructions en virgule flottante sont gérées dans différents tuyaux d’exécution en fonction de la tâche:

Une différence précédemment inconnue introduite par AMD avec Zen 2 est la possibilité de mettre en miroir des opérandes de mémoire. Dans certains cas, cela peut réduire considérablement le nombre de cycles d’horloge pour effectuer des opérations, de 15 à 2. Il y a plusieurs conditions préalables pour que la mise en miroir se déroule correctement: les instructions doivent utiliser des registres à usage général, les opérandes de mémoire doivent avoir le même adresse, la taille de l’opérande doit être de 32 ou 64 bits, et vous pouvez effectuer une lecture de 32 bits après une écriture de 64 bits à la même adresse, «mais pas l’inverse». Une liste complète des conditions requises se trouve à la page 221, la discussion se poursuivant à la page 222.

Étant donné que la fonctionnalité n’est pas documentée, il n’est pas clair si quelqu’un l’a utilisée pour quelque chose de pratique dans le code d’expédition. Agner note qu’il est plus utile en mode 32 bits, « où les paramètres de fonction sont normalement transférés sur la pile. » Agner note que le processeur peut également avoir un impact négatif sur les performances si le processeur fait certaines hypothèses incorrectes. Cela peut expliquer pourquoi la capacité n’est pas documentée – AMD n’aurait peut-être pas voulu encourager les développeurs à adopter une fonctionnalité si elle était susceptible de causer des problèmes de performances si elle était utilisée de manière incorrecte. Ce dernier, pour être clair, est une supposition de ma part.

À propos de Zen dans son ensemble, Fog écrit: «La conclusion pour la microarchitecture Zen est qu’il s’agit d’une conception assez efficace avec de gros caches, un grand cache µop et de grandes unités d’exécution avec un débit élevé et de faibles latences.» Je recommande à la fois ce manuel et ses autres ressources sur la programmation x86 si le sujet vous intéresse – vous pouvez en apprendre beaucoup sur les subtilités de la façon dont les processeurs x86 fonctionnent de cette façon, y compris les cas d’angle où ce que dit le manuel d’instructions devrait se produire et ce qui se passe réellement est deux choses différentes.

Maintenant lis:

Intel le rend officiel: les cœurs de processeurs hybrides arrivent avec Alder LakeNuvia: notre processeur Phoenix est plus rapide que Zen 2 tout en utilisant beaucoup moins de PowerAMD Les brevets suggèrent que l’entreprise étudie la conception hybride «big.Little»

Cet article Une nouvelle analyse approfondie révèle les secrets de l’architecture Zen 2 d’AMD est apparu en premier sur actualité.




August 29, 2020 at 08:42AM
https://ift.tt/34IQN8o

Une nouvelle analyse approfondie révèle les secrets de l’architecture Zen 2 d’AMD - Marseille News .net

https://ift.tt/3fO3BfS
le processeur

No comments:

Post a Comment