COMPTOIR
  
register

×

Répartition des gains d'IPC

Test • AMD Ryzen 9 7950X, 7900X, Ryzen 7 7700X & Ryzen 5 7600X : Zen 4, AM5, X670E, B650E & DDR5
Répartition des gains d'IPC
Vue globale de la microarchitecture
Front End
Unités d'exécution
AVX-512
Extensions AVX-512

• Un design de cœur revu et optimisé

Alors que Zen 3 inaugurait une refonte en profondeur de la microarchitecture incluant une nouvelle organisation des CCX (de 4 à 8 cœurs) et un élargissement du pipeline (14 voies d’exécutions différentes), la mise à jour de Zen 4 est un peu plus sage. En effet, fort d’un back-end gonflé aux hormones de la dernière version, les efforts ont été concentrés sur l’optimisation de son utilisation, ce qui se traduit par deux axes principaux de progression : le front-end permettant d’exprimer toujours plus de parallélisme, limité à la prédiction de branchement, et le sous-système mémoire, histoire de limiter au maximum les cycles perdus à attendre une donnée (stall) provenant de la RAM. Officiellement, le gain en IPC s’élève à 13 % ; vous verrez dans ce test si la promesse est tenue.

 

Répartition des gains d'IPC [cliquer pour agrandir]

 

En parallèle à l’IPC en hausse de par les changements architecturaux, AMD a retravaillé son implémentation afin de se plier au nouveau procédé de gravure — le 5 nm de chez TSMC —, ce qui permet une montée en fréquence conséquente, et donc des gains en puissance de calcul brut. Rajoutez le passage à la DDR5 pour gonfler les débits mémoires, et vous comprenez pourquoi le back-end n’a pas eu besoin d’être revu en profondeur sur cette génération-là. Voyons maintenant tout cela en détail.

 

Vue globale de la microarchitecture [cliquer pour agrandir]

 

Un front-end en progression côté prédiction

Sachant que les charges de travail non-scientifiques exposent en moyenne un branchement toutes les 5 instructions, le front-end se doit de prédire correctement la quasi-totalité des instructions du ReOrder Buffer (ROB) - 320 µOPs sur cette nouvelle micro-architecture. Avec les mains, cela signifie que près de 70 branchements doivent être correctement prédits pour que le CPU fonctionne à sa vitesse optimale : un travail de titan !

 

Pour cela, rien de magique : le cache des micro-opérations, servant à masquer le coût de décodage des instructions déjà vues auparavant dans le programme, passe de 4 kilo-entrées à 6,75 kilo-entrées (+68 % par rapport à Zen 3) et fournit 9 micro-ops par cycles, potentiellement fusionnés pour gagner en place. L’étage prédisant les branchements est également gonflé en augmentant de 50 % son L1 (passant à 2x 1,5 kiloentrées — une division par 2 imposée par le SMT) ; et son cache de niveau 2 augmente également, mais dans une moindre proportion : seulement 500 entrées de plus, de quoi passer à 7k entrés par cœur logique. Témoins de la marge de progression de Zen 3, le débit vers le ROB et les unités d’exécutions ne change pas avec 6 µOps/cycle, à partager entre pipeline entier et pipeline flottant — une spécificité de l’architecture rouge.

 

Front End [cliquer pour agrandir]

 

Quelques retouches du back-end, tout de même

Si le pipeline n’est pas retouché dans sa puissance brute de calcul (comprenez, sa largeur), ce n’est pas pour autant que le back-end fait du sur-place. En effet, le ROB grandit pour atteindre 320 entrées, contre 256 précédemment : de quoi garder les unités de calcul existant bien occupées ! Pour garder traces des lectures et écritures de ces instructions, le nombre de registres virtuels entiers passe à 224 (contre 192 auparavant), et 192 pour ceux flottants (contre 160 sur Zen 3). Pour information, ces registres « virtuels » permettent de stocker les valeurs intermédiaires des registres X86 exposés à l’utilisateur (RAX, RBX, etc) ; permettant ainsi de traiter en parallèle deux chaines d’opérations utilisant des registres communs, mais des données différentes (typiquement, deux mises à jour de deux cases mémoires distinctes utilisant le même registre pour le traitement). Pour le reste, les 8 +6 ports de calculs sont toujours présents, et offrent au maximum un débit de 8 µOps/cycle, limités par le Retire Buffer ; tout ce beau monde étant alimenté par 4 scheduler sur le pipeline entier, et 2 pour le pipeline flottant.

 

Unités d'exécution [cliquer pour agrandir]

 

L’AVX-512 : enfin ?

Une des majeures avancées présentées par AMD réside dans le support de l’AVX-512 : des extensions vectorielles permettant de manipuler en une instruction une quantité de données deux fois supérieure à ce que l’AVX2 précédent proposait. Du fait de son intégration dans les Xeon Phi, puis dans Skylake et ses successeurs, l’AVX-512 n’est pas un seul ensemble de fonctionnalité, mais se raffine en multiples sous-ensembles. Grosso modo, Zen 4 se met ici à jour sur Sunny Cove (Ice Lake), supportant ainsi VNNI (pour les réseaux de neurones) et GFNI (pour la cryptographie) ainsi que le BFloat16.

 

AVX-512 [cliquer pour agrandir]

 

En interne, aucune unité AVX-512 n'est en fait intégrée, l'exécution étant en fait effectuée en interne par les deux unités AVX présentes. De ce fait, la puissance théorique est la même, ce que AMD présentait sous le doux sobriquet de « Double Pumb ». Si cela semble ridicule à première vue, sachez que la stratégie retenue par Intel sur Sunny Cove version grand public est similaire, ainsi que les CPU d’entrée de gamme des serveurs : si le silicium est bien présent pour une "vraie" unité AVX-512, cette dernière se fait concurrencer par les deux unités AVX offrant conjointement un débit identique ! Pour autant, les instructions AVX-512 permettent de désengorger le front-end : autant dire que la chose est loin d'être inutile, en plus de fournir une interface fonctionnelle pour les développeurs désireux d'utiliser cette nouvelle fonctionnalité. Notez que leur utilisation n’impactera pas la fréquence, ce qui n’était pas le cas sur les premières implémentations bleues, avant que la firme ne cesse de communiquer à ce sujet.

 

Extensions AVX-512 [cliquer pour agrandir]

 

C’en est tout pour ce qui concerne la microarchitecture côté exécution, voyons sur la page suivante les progrès effectués du côté des caches et de la mémoire. 



Un poil avant ?

Intel Arc A770, très rapidement maintenant ?

Un peu plus tard ...

Ventes de jeux vidéo : l'île aux singes, vite fait


Sur le comptoir, au ~même sujet

 
 
 
 
 
 
 
 
 
 
 
 

Les 184 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Pascal M., le Mercredi 24 Mai 2023 à 20h05  
par Un ragoteur Gaulois en Bizerte, le Mardi 23 Mai 2023 à 21h51
Et comme toutes les cartes mères que je vois sont équipées de 4 ports M2 , je compte bien tous les utiliser ( 1 système , 3 pour le travail, principalement lightroom) voir pourquoi pas rajouter une carte PCIE avec des ports M2 quand les 3 SSD M2 seront plein.
Mais du coup , ils fonctionneront tous? Car sinon pourquoi mettre autant de port M2 etc si on ne peut pas tous les exploiter?
merci si on peut m'éclairer
Oui ils fonctionneront tous, mais les disques présents sur ta carte d'extension devront se partager la bande passante disponible du port PCIe sur lequel elle sera connectée.
par Un ragoteur Gaulois en Bizerte, le Mardi 23 Mai 2023 à 21h51  
Je ne sais pas si on me lira mais je tente quand même
Je ne comprend pas bien cette histoire de ligne pci-E
Je réflechis pour une maj de mon ordinateur et elle se fera avec du 7950X ( ou son successeur)
J'aurais donc la carte graphique
Et comme toutes les cartes mères que je vois sont équipées de 4 ports M2 , je compte bien tous les utiliser ( 1 système , 3 pour le travail, principalement lightroom) voir pourquoi pas rajouter une carte PCIE avec des ports M2 quand les 3 SSD M2 seront plein.
Mais du coup , ils fonctionneront tous? Car sinon pourquoi mettre autant de port M2 etc si on ne peut pas tous les exploiter?
merci si on peut m'éclairer
par Un ragoteur des lumières de Normandie, le Jeudi 06 Avril 2023 à 20h25  
J'ai une question, est ce que le 5800X3D a l'eco mode de disponible ? Je crois que non, mais je voudrais être sûr, car il m'intéresse, mais sa consommation beaucoup moins

Et autre question, si l'eco mode est disponible, serait il possible de voir ses performances en gaming ? Car je trouve des tutos sur internet pour baisser sa conso (sans passer par l'eco mode) mais aucun résultat de performance en basse consommation
par Un hardeur des ragots du Grand Est, le Mercredi 26 Octobre 2022 à 21h46  
Le 5800X3D en a encore sous le capot, après ça dépends des tests, chez TechPowerUp il est bien moins brillant car très proche du 5800X classique.
Sinon pour les Ryzen 7x00, vu le prix, la DDR5, le change €/$, c'est assez limite, vivement les versions 3D en espérant un prix pas trop explosif tel le 5800X3D.
par Eric B., le Mardi 25 Octobre 2022 à 12h07  
C'est corrigé, merci.
par un nain du strie en Nouvelle-Aquitaine, le Lundi 24 Octobre 2022 à 19h00  
" il utilise également 4 linges du CPU mais bridées à la Gen 4"
si maintenant les cpu ont un trousseau de 4 linges, on n'est dans de beaux draps.
par Un #vieuxkon du Grand Est, le Lundi 24 Octobre 2022 à 13h57  
par Thomas N., le Lundi 24 Octobre 2022 à 08h15
Super intéressant les comportements à 65 et 105 W.
Sauf erreur de ma part, il manque une analyse "en temps réel" (courbe de consommation sur la durée des tests) de l'efficacité énergétique, ce qui est assez dommage.

Reste que le problème de la "fuite en avant" est réel, les choix stratégiques laissent à mon avis à désirer aussi bien d'un côté que de l'autre (multiplication des cores, "complets" ou hétérogènes, hausse du TDP et maximisation de son utilisation, ce dernier point pouvant être positif à l'unique condition de restreindre drastiquement le TDP, quitte à autoriser des dépassements momentanés en tenant compte de l'inertie thermique, comme l'avait envisagé Intel...).

D'ailleurs, s'agissant des architectures hétérogènes, si ça peut sembler intéressant d'avoir intégré une couche logicielle pour en tenir compte dans l'ordonnancement des threads, je suis perplexe quant au réel gain, compte tenu de l'ajout de lourdeurs aussi bien logicielles que matérielles (Windows étant déjà bourré "d'optimisations" plus ou moins archaïques dont la pertinence s'avère discutable, tandis qu'on manque toujours d'autres particulièrement basiques), ça laisse au final un goût de travail fait à moitié.
par mordain, le Lundi 24 Octobre 2022 à 10h49  
Merci les gars pour ces dossier bien complet et pr le dernier ajout, avec limitations du tdp. Vraiment les réglages a retenir pour ces CPU qui disposent dans ces conditions d'une excellente efficacité énergétique!
par Ping, le Lundi 24 Octobre 2022 à 09h24  
Je plussoie et merci pour le dossier
par Thomas N., le Lundi 24 Octobre 2022 à 08h15  
Super intéressant les comportements à 65 et 105 W.
par Almist, le Lundi 24 Octobre 2022 à 04h59  
Merci pour ces ajouts 65 et 105W Honnetement... c'est quand même très dommage que ces réglages ne soient pas ceux par défaut...
par Eric B., le Samedi 22 Octobre 2022 à 09h43  
Désolé pour les réponses tardives, bien pris par les derniers tests.
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h06
Lorsque vous tracerez les courbes de fréquences en fonction du nombre de threads utilisé, ça serait possible de le relever en 170W, 105W et 65W?
Oui ce sera probablement fait, par contre ça va demander un peu plus de temps que prévu car Nicolas est archi booké par sa thèse, donc il s'y mettra quand il pourra pour la maj du script.
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h06
Et pour les tests d'encodage, ça utilise les circuits spécialisé présents sur certains proc, ou uniquement les cœurs x86? Le H.264, maintenant tous les iGP ont ça.Vous pourriez le préciser sur la page protocole ou lors des tests, pour lever toute ambigüité. Maintenant, pour un test de processeur, quelle options choisir? Les deux se défendent...
Nous n'utilisons que la partie CPU du processeur, l'encodeur Quicksync intégré à l'IGP n'est pas utilisé. Ce dernier ne permet pas d'arriver à un résultat visuel qualitatif équivalent à celui obtenu via le CPU, mais est très utile pour certains usages et bien plus rapide. Donc oui on pourrait faire ce choix, c'est une décision de protocole de se limiter à la partie CPU uniquement. Tu as raison, je vais ajouter cette précision à la description du test.
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h06
Et en parlant d'iGP, ça se passe comment l'option d'économie d'énergie pour l'affichage, sur ces Ryzen? Faut brancher deux câbles vers son écran, l'un depuis le GPU et un autre depuis la carte-mère, et changer à chaque fois de canal sur son écran? Ou on branche juste la carte-mère, et la plateforme est capable toute seule de redirigé la puissance du GPU vers cette sortie?
Le mode de foncitionnement est le dernier que tu décris. Le dossier a été mis à jour à ce sujet depuis ton msg.
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h17
Et sur le test DXO Photolab, serait-il possible de rajouter une seconde passe, en s'alignant cette-fois sur le nombre de cœurs logique?
Je pense qu'à l'avenir je choisirais le nombre de coeurs logiques, le choix actuel datait des gros TR dépassant le nombre de threads maximal
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h17
En page 10, vous parlez des puces HEDT des bleus. Lesquelles rentrent dans cette catégorie selon vous? Le 12900K? Ou bien c'est une phrase en prévision de nouvelles entrées?
C'est une phrase qui date de l'époque des LGA2011, depuis il n'y a plus vraiment de renouvellement de ces plateformes pour le grand public (idem pour TR).
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h17
Aussi, j'ai pas tout à fait compris quels tests étaient menés sous Linux. Les compilation GCC et du kernel, et 7-zip, c'est ça? Ou vous en avez mené d'autres, que vous avez "mergé" avec des résultats Windows? Je ne sais pas si ça a une influence quelconque sur vos mesures, mais vous savez que Linux utilise dans les 10 ou 20% de la RAM pour faire du cache-disque? Ça se désactive, si besoin.(j'ai bien noté que pour 7-zip, tout était mené en ram, donc no-soucis pour ici).
Tu as aussi TensorFlow sous Linux, pour les réglages de l'OS, ça a été tweaké par Nicolas (y compris le power governor, etc.), il sera donc mieux placé pour répondre car perso je ne me suis occupé que de la version Windows du protocole.
par Un ragoteur sans avis du Grand Est, le Vendredi 30 Septembre 2022 à 22h17
Les consommations étaient similaires avec les 2 cartes-mères ? Au repos, notamment (vous évoquez un possible biais du bios, peut-être pas complètement finalisé sur leur fonction low-power. Gigabyte et Asus ont peut-être des comportements différents?).
Oui la conso était du même ordre sur les 2 plateformes, mais dans les 2 cas les bios étaient vraiment très jeunes.