Petit rappel historique rapide : AMD a commencé à proposer des CPU x86 dans les années 1980, avec des modèles Intel sous licence. Assez vite, elle a développé ses propres architectures (dès le K5), et a dans certains cas réussi à battre Intel sur son terrain, d'abord avec les Athlon (K7) qui offraient une alternative intéressante aux Pentium III, ensuite avec les Athlon 64 (K8), bien meilleurs que les Pentium 4. Ensuite, AMD a perdu de sa superbe avec les Phenom (K10), incapables de réellement suivre les Core 2 Duo, et surtout avec Bulldozer (les AMD FX), une architecture qui devait être innovante avec ses modules, mais largement en retrait face aux Core d'Intel. En 2017, AMD revient avec Zen, que vous connaissez sous la marque Ryzen dans le grand public. Il s'agit enfin d'une alternative aux CPU d'Intel, avec notamment plus de cœurs, même si l'efficacité demeure un peu derrière celle de Skylake (qui a déjà deux ans à l'époque). En 2018, AMD lance Zen+, une évolution vendue par le marketing comme « Ryzen de seconde génération ». Mais les changements sont faibles : une amélioration mineure de l'IPC essentiellement due à des corrections de bugs, quelques modifications dans la latence des caches et un passage dans un pseudo-12 nm qui reste un simple 14 nm optimisé. Mais grâce à des fréquences plus élevées et une stagnation chez Intel, ils offraient malgré tout un gain intéressant. De plus, AMD cassait les prix face à Intel : un Ryzen 2700X doté de huit cœurs avec SMT se trouvait pour le même prix qu'un Core i5 avec six cœurs sans SMT. Parlons maintenant du Ryzen 3000, qui à l'origine devait être un simple die shrink de Zen+, avant finalement d'être amélioré.

Cette fois, de vraies nouveautés chez AMD.

Sous l'IHS, deux CCX et un IOD.
L'organisation interne selon AMD.
Les différentes améliorations de Zen 2.

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.

AMD a envoyé de la DDR4-3600 un peu bling bling. Le surnom donné à la rédac' ? « RAM Trump ».
La bande passante maximale, avec de la DDR4-3600.

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.

Le Ryzen 9 3900X sur notre carte mère.
Les Ryzen sont livrés avec un ventilateur qui s'illumine de mille feux.

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 €.

Pour des contraintes de place, nous vous proposons la moyenne de nos résultats de benchs. Nous avons testé avec notre protocole habituel, en 1080p et 1440p avec une GeForce RTX 2080 Super.
Même chose ici, il s'agit d'une compilation de tests sur de la compression vidéo, des programmes professionnels (traitements de photos) et des programmes 3D (hors jeux).

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.

MSI a sorti une nouvelle gamme de cartes (les Max) avec une puce plus grosse pour l'UEFI.
Les cartes mères X570, onéreuses, intègrent un ventilateur sur le chipset.

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.

Corsair indique la compatibilité PCI-Express 4.0 sur le radiateur de son SSD.
Avec une Radeon et de la RAM en dual channel, vous pourrez dépasser 16 Go/s dans le récent test de 3D Mark.
En septembre (après notre bouclage), AMD va lancer une version avec 16 cœurs.

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.

Pour conclure ? Une réussite.

Difficile de le dire autrement : Zen 2 est une réussite. AMD propose un gain de performances très intéressant et une architecture maîtrisée et modulable. Tous les Ryzen 3000 sont compétitifs dans leur segment et les prix restent attrayants. Tout n'est pas totalement rose, notamment avec la plateforme et le lancement (nous en parlons ici), mais il s'agit dans l'absolu de détails. Lors de notre bouclage, AMD avait annoncé le Ryzen 9 9350X et ses seize cœurs, mais ce modèle n'était pas encore disponible. Comme vous vous en doutez, les prochains mois devraient être intéressants, car AMD a prévu d'étendre sa gamme, offrir des versions pour les PC portables et des APU basés sur la nouvelle génération (celui testé ici reprend l'architecture Zen+). Et il ne faut pas oublier qu'Intel pourrait peut-être enfin réagir en proposant autre chose qu'une resucée des Skylake de 2015. Sunny Cove, vu dans les CPU Ice Lake, amène des gains conséquents au niveau de l'architecture, mais pour le moment cette architecture se cantonne aux ultraportables et la comparaison avec un CPU Zen 2 semble donc un peu compliquée...