| Modifié le le 12 novembre 2021
Cet été, AMD a lancé une nouvelle gamme de CPU, avec des Ryzen de troisième génération. Et cette fois, il s'agit d'une vraie évolution, qui amène des améliorations intéressantes et devrait permettre de tailler dans les croupières d'Intel.
Cette fois, de vraies nouveautés chez AMD.
Une organisation interne repensée.
Les premiers Ryzen étaient assez monolithiques, avec une seule puce contenant les cœurs et les différents contrôleurs, comme dans beaucoup de CPU. Avec Zen 2 (et les Ryzen 3000), AMD passe sur une organisation en chiplet. Sous la plaque de protection du CPU (l'IHS), vous trouverez donc deux ou trois composants (en fonction du CPU). Premièrement, AMD sépare le chipset (l'équivalent du northbridge dans les anciens systèmes, appelé IOD, pour I/O die) du reste de la puce. Il va gérer le PCI-Express, l'USB (3.2 Gen. 2 à 10 Gb/s), le SATA et la mémoire (de la DDR4). Comme les premiers Ryzen, on peut considérer être en face d'un SoC vu l'intégration. Physiquement, cette partie est la plus grosse parce qu'AMD continue à la graver en 12 nm chez Global Foundries dans les processeurs grand public. Ensuite, vous trouverez un ou deux composants qui intègrent réellement les différents cœurs. Chaque bloc CCD (Core Complex Die) contient deux CCX (Core Complex) et chaque CCX comporte jusqu'à quatre cœurs Zen 2 et 16 Mo de mémoire cache de niveau 3. Il s'agit d'une des nouveautés intéressantes de Zen 2 : ce niveau de cache a été doublé (de 8 à 16 Mo par CCX). La mémoire cache de niveau 2 reste de 512 ko par cœur, le cache L1 de données à 32 ko, mais le cache L1 d'instructions se réduit de 64 à 32 ko alors qu'en même temps son associativité évolue, de 4 way à 8 way. Enfin, à plus bas niveau, le cache des µOP, qui contient les instructions réellement exécutées, passe de 2 048 entrées à 4 096, une évolution rendue possible par la diminution de la capacité du L1. AMD a aussi ajouté un système de prédiction de branchement TAGE (TAgged GEometric) qui –sans entrer dans des détails qui pourraient remplir ce magazine – améliore l'efficacité du CPU et donc (au final) son IPC (instructions par cycle), tout comme les différentes nouveautés présentées. Cette organisation permet différentes configurations en fonction des besoins : jusqu'à seize cœurs – à l'heure où nous écrivons ces lignes, cette version n'est pas encore disponible –, avec des variantes dotées de douze cœurs (Ryzen 9 3900X), huit cœurs (Ryzen 7 3700X et 3800X) et six cœurs (Ryzen 5 3600 et 3600X). Pour arriver à caser huit cœurs et 32 Mo de mémoire cache dans une puce physiquement plus petite que l'IOD, AMD profite de la gravure en 7 nm de TSMC. Un CCD mesure environ 74 mm² (pour 3,9 milliards de transistors), quand le « chipset » en 12 nm monte à 125 mm² pour un peu plus de 2 milliards de transistors. On approche donc les 10 milliards dans les modèles haut de gamme, à comparer aux 29 000 du 8086. En plus des améliorations sur la RAM et la mémoire cache, AMD a aussi modifié quelques points en interne. Une unité AGU (Address Generation Unit) a été ajoutée aux deux déjà présentes et la partie liée aux calculs sur les flottants est plus rapide, tout spécialement sur l'AVX2. Les instructions AVX256 sont maintenant exécutées en un seul cycle, par exemple. La prise en charge d'AVX512 n'est pas encore intégrée chez AMD, mais la technologie reste rarement utilisée et supportée, même chez Intel : vous ne la trouverez que dans quelques puces professionnelles, dans Cannon Lake (un CPU fantôme) et dans Ice Lake, qui commence à peine à arriver dans les étals. Dans la pratique, AMD annonce une augmentation de 15 % de l'IPC (instructions par cycle), une valeur plutôt élevée et peu souvent vue ces dernières années pour l'évolution d'une architecture.Pour un usage purement ludique avec un budget plus réduit, le Ryzen 5 3600X tire son épingle du jeu.
L'organisation des puces.
Dans la gamme actuelle, deux CPU utilisent une organisation composée de deux CCD : le Ryzen 9 3950X (pas encore sorti lors de nos tests) et le Ryzen 9 3900X. Ils possèdent donc tous les deux 64 Mo de mémoire cache de niveau 3. Le 3950X intègre tous les cœurs présents dans les quatre CCX (seize cœurs au total) et le 3900X contient lui aussi quatre CCX, avec chacun trois cœurs actifs pour un total de douze cœurs. Les autres Ryzen disposent d'un seul CCD et deux CCX, avec huit cœurs pour le 3700X et six pour le 3600X. Nous allons le voir, ce choix a un impact sur les performances, notamment au niveau de la RAM. Au passage, AMD a travaillé avec Microsoft pour que Windows 10 gère correctement les processeurs Ryzen 3000 en utilisant prioritairement des cœurs proches physiquement (dans le même CCX) pour les applications multithreadés.
Grosse bande passante mais latence élevée.
Commençons par la mémoire. AMD propose un contrôleur rapide, capable de gérer de la DDR4-3600. Dans ce cas de figure les fréquences sont couplées : la mémoire, le contrôleur et l'Infinity Fabric fonctionnent de façon synchronisée, avec dans ce cas-là une fréquence de 1 800 MHz. Il demeure possible d'augmenter la fréquence de la RAM (jusqu'à l'équivalent de 5 100 MHz en interne) mais en désynchronisant les composants. L'Infinity Fabric (fclk) reste fixe à 1 800 MHz, la mémoire (mclk) fonctionne à la moitié de la valeur annoncée (DDR oblige, de la DDR4-4600 fonctionne en réalité à 2 300 MHz) et le contrôleur mémoire (uclk) à la moitié de la fréquence de la RAM (1 150 MHz dans notre exemple). Avec les fréquences désynchronisées, la bande passante augmente mais la latence aussi, étant donné que le contrôleur tourne moins rapidement. Comme de coutume, les valeurs maximales s'entendent avec deux barrettes de type single rank, si vous installez quatre modèles dual rank (plus denses), vous ne dépasserez pas le mode DDR4-2666. Sur la bande passante (et avec de la DDR4-3600), le Ryzen 9 3900X (équipé de deux CCD) offre un résultat supérieur aux CPU d'Intel, même si la différence est faible. Le Ryzen 7 3700X et son unique CCD donne une valeur assez proche en lecture, mais divisée par deux en écriture. Il ne s'agit pas d'une erreur, mais d'une contrainte technique liée à la présence d'un seul CCD. La liaison entre un CCD et l'IOD (le chipset) est de 32 octets/cycle en lecture et de seulement 16 octets/cycle en écriture. Sur les Ryzen dotés de deux CDD, le débit en écriture peut donc être doublé. De même, la bande passante de la mémoire cache de niveau 3 explose : plus d'1 To/s sur le Ryzen 9 3900X et ses quatre CCX, environ 600 Go/s sur le Ryzen 7 3700X et 550 Go/s sur le 3600X. Enfin, la latence mémoire moyenne reste plus élevée sur les Ryzen 3000 à cause du fonctionnement de l'organisation interne : les données passent d'un CCX à l'IOD (le chipset) avant d'atteindre la RAM. Elle est de l'ordre de 70 ns sur les Ryzen 3000 et descend aux alentours de 45 ns – elle dépend de la fréquence de la puce – sur les CPU d'Intel.
Mais ça donne quoi en pratique ?
Nous pourrions vous mettre des pages et des pages de benchmarks pour montrer les avantages et les inconvénients des nouveaux processeurs d'AMD, mais soyons honnêtes : vous avez de toute façon pu lire les tests des nombreux sites internet qui – eux – ont la place pour vous fournir les graphiques en question. Nous allons donc essayer de résumer. Pour les programmes qui sont capables de gérer des dizaines de threads simultanément, AMD mène la danse. Intel propose au mieux des modèles avec huit cœurs et seize threads en « grand public » (comptez tout de même plus de 550 € pour un Core i9 9900K) et il faut passer dans des gammes très onéreuses pour aller plus loin (vingt-huit cœurs pour les plus riches). Pour la compression vidéo, le traitement de photos, certains calculs 3D, tout va plus vite avec un Ryzen 9 doté de douze cœurs, simplement grâce à la présence des cœurs en question, justement. Le Ryzen 7 3700X s'approche même du Core i9 9900K pour un prix plus doux, car il possède le même nombre de cœurs, mais offre une fréquence plus faible. La seule exception très pratique qui risque de vous intéresser se trouve être les jeux vidéo. Dans beaucoup de cas, et notamment dans les titres de notre protocole, le Core i9 9900K demeure devant le Ryzen 9 que nous avons testé, tout comme le Core i7 9700K (sur lequel nous n'avons pas effectué tous nos tests, ce qui explique son absence). Les raisons sont multiples, entre des optimisations pour les puces d'Intel, la latence de la mémoire un peu plus faible et la fréquence maximale de 5 GHz du Core i9. Il ne s'agit pas d'une différence franche, mais elle existe et peut être notable (un peu moins de 10 %). Si vous jouez, vous pourriez préférer rester sur une plateforme Intel pour gagner quelques fps. Sur les jeux, d'ailleurs, nous pouvons noter un point intéressant : le Ryzen 5 3600X, moins onéreux et doté de moins de cœurs, est systématiquement devant le Ryzen 7 3700X. Là aussi, il s'agit d'une question de fréquence : six cœurs suffisent amplement dans les jeux et le TDP plus élevé permet une fréquence moyenne plus haute, sans limitations artificielles. Pour un usage purement ludique avec un budget plus réduit, le Ryzen 5 3600X tire son épingle du jeu, alors que le Ryzen 7 3700X reste largement devant dans les applications multithreadées.Les CPU testés.
Nous avons testé trois modèles. Le premier est le Ryzen 9 3900X. Il possède douze cœurs avec SMT, une fréquence de base de 3,8 GHz, une fréquence Boost de 4,6 GHz, 64 Mo de mémoire cache L3 et un TDP de 105 W. Il se vend officiellement pour 500 $ (hors taxes), ce qui se traduit par environ 600 € en Europe. Le Ryzen 7 3700X intègre huit cœurs et 32 Mo de cache, le tout avec une fréquence de 3,6 GHz (4,4 GHz en Boost) et un TDP de 65 W. Il vaut 330 $ (~400 € ici). Enfin, le Ryzen 5 3600X a un TDP élevé (95 W), six cœurs, 32 Mo de cache et une fréquence de base de 3,8 GHz (4,4 GHz en Boost). Les 250 $ deviennent 300 €.
La consommation.
Chez AMD (et dans certains cas chez Intel, comme avec le Core i9 9900K), la notion de TDP reste un peu glissante. Sur un CPU avec un TDP de 65 W (Ryzen 7 3700X), la limite réelle est de 88 W. Avec un modèle 95 W (Ryzen 5 3600X), elle est de 125 W, avec un TDP de 105 W (Ryzen 9 3900X), elle passe à 142 W. En réalité, la plateforme utilise trois valeurs : le PPT (Package Power Tracking) qui est la limite du socket lui-même, celles que nous venons de vous présenter, le TDC (Thermal Design Current), l'intensité maximale que peut fournir la carte mère en moyenne, et l'EDC (Electrical Design Current), le maximum en pointe. Les valeurs standard pour un CPU 65 W sont de 60 A et 90 A (95 et 140 A sur un 105 W). En jouant sur les paramètres (et en fonction de la carte mère, qui intègre ses propres seuils), il est donc possible d'augmenter la consommation et de facto les fréquences. Dans un usage normal, avec un benchmark capable de charger le CPU au maximum sans les instructions AVX, nous avons mesuré 81 W sur un Ryzen 5 3600X, 90 W sur un Ryzen 7 3700X et 142 W sur un Ryzen 9 3900X. Il faut bien prendre en compte que ces valeurs dépendent de la carte mère et de la version de l'AGESA, avec une variation éventuelle de quelques watts. Les valeurs en question impressionnent et montrent bien l'efficacité étonnante du 7 nm de TSMC : un Ryzen 7 2700X dans les mêmes conditions monte à environ 140 W lui aussi. Par rapport aux 178 W (la consommation réelle, à comparer aux 95 W annoncés par Intel) d'un Core i9 9900K, la consommation des Ryzen 3000 semble presque trop mesurée.
Le problème de la plateforme.
Commençons par le point le plus intéressant, et peut-être le plus gênant : la rétrocompatibilité. AMD utilise le même connecteur, l'AM4, depuis les premiers Ryzen (et même un peu avant avec quelques APU de la génération précédente). Il existe ensuite plusieurs chipsets : A320 (qui sert essentiellement de lien avec la partie SoC des Ryzen), les B350 et X370 (première génération), les B450 et X470 (seconde génération) et le X570 (troisième génération). Premièrement, officiellement, l'A320 ne fonctionne pas avec les Ryzen de troisième génération, et le X570 n'accepte pas les premiers Ryzen. En pratique certains constructeurs proposent des UEFI qui permettent le support des Ryzen 3000 sur A320, mais il ne s’agit pas de la norme. Deuxièmement, les cartes mères B350, B450, X370 et X470 peuvent accueillir les Ryzen 3000 avec une mise à jour de l'UEFI. Elle reste à la discrétion du fabricant – ne l'attendez pas nécessairement sur les cartes d'entrée de gamme en B350 par exemple – et elles ne sont pas encore déployées partout. Troisièmement, les mises à jour peuvent supprimer le support de certains CPU. La majorité des cartes mères jusqu'à il y a quelques mois utilisent en effet une puce de 16 Mo pour stocker l'UEFI, qui doit contenir l'interface utilisateur, les AGESA (en simplifiant un peu, le code nécessaire à l'initialisation et à la prise en charge d'un CPU) et les firmwares des contrôleurs tiers. Le problème, c'est que chaque CPU a besoin de son AGESA, que les interfaces affichent de plus en plus d'images et que les cartes mères disposent parfois de plusieurs contrôleurs (Ethernet, USB, SATA, etc.). La conséquence directe, c'est que les constructeurs doivent dans certains cas couper dans les différents éléments pour que ça rentre : réduire les effets visuels, supprimer la gestion du RAID ou enlever le support de certains CPU (typiquement les APU Bristol Ridge, basés sur Bulldozer). La seule solution valable, notamment proposée par MSI, consiste à installer une puce de 32 Mo et à commercialiser une nouvelle gamme en B450 ou en X470.
Le cas PCI-Express 4.0.
Dans les nouveautés des Ryzen 3000 et de la plateforme associée, on trouve le PCI-Express 4.0. La norme double encore une fois le débit, avec 16 GT/s par lien et un encodage 128b130b (128 bits utiles dans 130 bits transmis), soit environ 2 Go/s par ligne (1 969 Mo/s précisément). Tous les CPU actuels disposent de 16 lignes pour un GPU et de 4 lignes pour un SSD NVMe. Les 4 dernières servent pour la liaison avec le chipset. Officiellement, AMD impose une plateforme X570 pour profiter de la norme, en pratique quelques cartes mères proposent la compatibilité sur les chipsets B450 et X470. Mais comme AMD n'approuve pas, les mises à jour récentes des UEFI bloquent cette fonction. En clair, si votre carte mère possède un UEFI qui le gère et que vous en avez besoin, ne faites pas de mise à jour. Maintenant, est-ce que doubler la bande passante a de l'intérêt ? Oui... et non. Pour un GPU, non. En dehors des tests prévus pour saturer la bande passante artificiellement (comme 3D Mark), vous ne remarquerez aucun gain. Avec un SSD comme le Corsair Force MP600, il peut être appréciable. Si la bande passante théorique d'un connecteur M.2 peut maintenant monter à 8 Go/s, les premiers SSD PCI-Express 4.0 grand public se « contentent » de 5 Go/s en lecture, contre environ 3,5 Go/s sur la norme précédente. Ça reste un peu inutile dans le sens ou les autres périphériques de stockage ne suivent pas, mais au moins le gain peut être visible dans de vrais cas d'usage. Malgré tout, ne choisissez pas une plateforme X570 uniquement pour le PCI-Express 4.0, sauf si vous voulez impressionner des gens avec des benchmarks.Des cartes mères onéreuses.
La plateforme Ryzen 3000 pose tout de même un problème actuellement. AMD vise en effet un public averti, et les cartes mères dotées du dernier chipset en date, le X570, explosent des records. N'espérez pas vous en tirer pour moins de 200 €, et certains modèles dépassent les 700 €. Cette démesure semble d'ailleurs un peu inutile : la MSI « Godlike » que nous avons testée dispose par exemple de trois prises réseau (1 Gb/s, 2,5 Gb/s, 10 Gb/s). Qui a réellement besoin de ça ? Accessoirement, le chipset est ventilé dans pratiquement tous les cas, le X570 pouvant consommer (en pointe) 10 à 12 W, quand un X470 se limite à 6 W. Heureusement, les cartes que nous avons eues entre les mains sont discrètes sur ce point.