COMPTOIR
  
register

Le Ryzen 5800 est passé entre les mains d'un expert : quid des améliorations micro-architecturales ?

Avec la sortie de Zen 3, AMD a annoncé une nouvelle microarchitecture centrée autour d'un pipeline toujours plus gros, permettant ainsi d'exécuter toujours plus d'instructions en parallèle, d'où des performances en hausse par rapport à la génération précédente, alors même que le procédé de gravure reste inchangé. Rajout d'unités de calculs, cache doublé, prédicteur de branchement plus efficace : une majeure partie de composants sont mis à jour, tout du moins selon le marketing. Pour retrouver la liste complète des changements, c'est par ici sur notre dossier dédié.

 

Car, en interne, des entourloupes sont toujours possibles, d'autant plus que rares sont les personnes capables de vérifier l'exactitude d'un passage à 10 ports d'exécution (par exemple), hormis en observant des temps d'exécution en baisse sur un ensemble de benchmarks... sans pouvoir pointer précisément la cause. Heureusement, Agner Fog fait partie de cette minorité, et a rendu ses conclusions sur un post via son forum personnel (au passage, sa page d'accueil vaut le détour). Si vous ne connaissez pas le gus, Agner est une pointe dans le domaine de l'analyse logique des processeurs (et pour une subtilité proche de celle de Linus Torvalds), et est actuellement basé au Danemark.

 

amd ryzen puce

 

Bref, notre compère, déjà à l'origine de la découverte d'une nouvelle optimisation présente sur Zen 2 et Ice Lake (spoiler : AMD semble avoir fait machine arrière sur Zen 3, et ne l'a pas intégrée, probablement faute d'une complexité trop importante), a mis la main sur un Ryzen 5800, et a appliqué sa suite de micro-benchmarks manuelle pour en tirer tout ce que le silicium avait dans le ventre. Surprise ou non, les dires d'AMD se sont trouvés vérifiés : la bête peut traiter jusqu'à six instructions par cycle, même en mélangeant entiers et flottants, ce qui en fait la micro-architecture la plus performante du moment. Cependant, la structure du x86 impose toujours un décodage maximal de 4 instructions par cycle (ou 16 octets), ce qui fait que le processeur compense avec un cache de micro-instructions bien plus large : 4096 entrées.  Notez que ce phénomène n'est pas nouveau, la limitation étant également présente chez Intel. Au niveau des fréquences, l'exemplaire testé a mouliné entre 4,3 GHz et quasi 5 GHz, mais cela n'est pas vraiment une nouveauté. Il ne manque que l'AVX-512 pour aller titiller le geant bleu sur tous les fronts. Pour la bataille Zen 4 vs Alder Lake ?

Un poil avant ?

Des fuites sur la RX 6700 XT et du stock à venir pour RDNA2

Un peu plus tard ...

Unreal Engine 4.26 lancé, quelles nouveautés ?

Les 56 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Un ragoteur de transit en Auvergne-Rhône-Alpes, le Mercredi 10 Février 2021 à 10h57  
par ockiller en Auvergne-Rhône-Alpes, le Mardi 09 Février 2021 à 09h36
J'ai surtout un peu de mal à suivre qui a posté quoi (pseudos qui changent...).
Preuve est-il que malgré des arguments cités, le sujet qui t'intéresse pas...

 

Si on est d'accord sur le fait que les fréquences c'est pas la bonne façon
d'améliorer les perfs, et que fatalement il ne te reste que l'IPC (et que
tu plafonneras plus rapidement avec du x86) ça me va.


Je pense que ce faux débat ne présente aucun intérêt sinon te donner raison...
par ockiller en Auvergne-Rhône-Alpes, le Mardi 09 Février 2021 à 09h36  
par Un ragoteur qui pipotronne en Auvergne-Rhône-Alpes, le Lundi 08 Février 2021 à 17h47
Manifestement tu sembles être fâché avec les mathématiques...
J'ai surtout un peu de mal à suivre qui a posté quoi (pseudos qui changent...). Si on est d'accord sur le fait que les fréquences c'est pas la bonne façon d'améliorer les perfs, et que fatalement il ne te reste que l'IPC (et que tu plafonneras plus rapidement avec du x86) ça me va.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Lundi 08 Février 2021 à 23h52  
par chambolle, le Lundi 08 Février 2021 à 12h31
effectivement j'ai confondu avec un autre test sur les float qui est bien merdique. Ca reste cependant des tres petits benchs non ?
SPEC2017 c'est une suite de bench très générique, qui touche plein de type d'application avec des benchs long et d'autres court, la totalité des benchs prend quelques heures à run mais ça dépend de la config. C'est 43 benchs classés en 4 suites de ~10 benchs. 2 suites sont orientés calcul sur des int, et 2 sur des floats. Et parmis les int et float deux des suites sont orientés "speed" c'est à dire latence entre le début du calcul et la fin, et deux des suite sont orientés "rate" c'est à dire débit brute de calcul.
C'est un bon début pour se faire une idée des forces et faiblesse d'une microarch sous différent aspect.
Et si on a la flemme comme Anandtech on peut juste commenter les résultats globaux quand on parle d'archi général purpose. Et le M1 est globalement bon un peu partout en monocore malgré une fréquence plus basse. Et c'est sans parler de la consommation qui est très basse.
 
C'est toi qui veut faire ca
Je ne comprend pas bien le rapport avec la news si on ne parle pas de ça. Et à la base on parle bien d'IPC et de comparaison avec Zen 3
par Un ragoteur qui pipotronne en Auvergne-Rhône-Alpes, le Lundi 08 Février 2021 à 17h47  
par ockiller en Auvergne-Rhône-Alpes, le Lundi 08 Février 2021 à 08h15
Et tes formules sont fausses, tu ne tiens pas du tout compte de comment
doit se comporter la tension vis à vis de la fréquence.
Manifestement tu sembles être fâché avec les mathématiques...

 

Celle-ci croit beaucoup plus rapidement vers les hautes fréquences, ce qui
fait qu'en pratique, la consommation ressemble beaucoup plus à une
exponentielle vis à vis de la fréquence (tu peux t'appuyer sur n'importe
quelle courbe de relevés de consommation qui existe et le confirmer...).


La consommation d'un processeur est dépendante du carré de la tension de
fonctionnement. Si celle-ci doit être augmenter pour atteindre des fréquences
très élevée, la réciproque est aussi valable car celle-ci peut être réduite
pour atteindre des fréquences très faibles.

Ainsi, l'efficacité énergétique est meilleur à basse fréquence. CQFD!
par chambolle, le Lundi 08 Février 2021 à 12h31  
par Un ragoteur des lumières embusqué, le Lundi 08 Février 2021 à 11h25
Pardon ? C'est ce qui est utilisé partout dans l'industrie. Donc si ça veux dire quelque chose..
effectivement j'ai confondu avec un autre test sur les float qui est bien merdique. Ca reste cependant des tres petits benchs non ? Le jeu d'echec ca a l'"avantage d'etre moins petit et donc un peu plus complexe a gerer. Parce que si ca se trouve le M1 met tout en cache et pas les autres. M'ais j'en sais rien.
par Un ragoteur des lumières embusqué, le Lundi 08 Février 2021 à 11h25
Ici tu cites des benchs multicore pour parler des perf d'un core unique ce qui est genant. D'alleurs leurs benchs semblent quand même montrer: qu'en monocore il est bon mais il manque le comparatif avec les autres CPU; Et que la perf 8 cores du M1 est beaucoup baissé par les coeurs low power... Or nous on veut comparer la perf des cores haute perf... Mais pas pour comparer avec l'IPC de Zen3 (c'est de ça dont on parle).
C'est toi qui veut faire ca. Moi j'ai juste critiqué l'absence de benchs raisonnables et surtout la facon dont sont fait les benchs. Parce qu'il faut tester au mieux sinon ca ne veut pas dire grand chose
par Un ragoteur des lumières embusqué, le Lundi 08 Février 2021 à 11h25  
par chambolle, le Lundi 08 Février 2021 à 09h30
Ca ne veux pas dire grand chose "la reference dans le monde industriel".
Pardon ? C'est ce qui est utilisé partout dans l'industrie. Donc si ça veux dire quelque chose..
 
C'est plutot un nombre aggrégé pour faire simple. Toute personne qui veut comparer se mefie des benchs comme ca

Non mais SPEC c'est une suite de test avec leurs codes sources. C'est pas quelque chose qui aggrége tout. Ici anandtech ils ne presentent qu'un chiffre aggrégé. Tu peux critiquer l'analyse de anandtech qui n'est pas du tout detaillé, mais cela n'est pas en rapport avec SPEC.
Et oui quand on veut etre serieux on ne regarde pas que le chiffre globale. Mais deja en première approximation il est pertinent de voir qu'il est au niveau de Zen 3. Que ça ne te plaise ou non, les chiffres sont là.
 
Normalement si on veut faire des comparaisons on optimise au mieux chaque code. Donc ca c'est pas genant.

Allo ? j'ai deja repondu à ça dans le message que tu cites. Ici tu cites des benchs multicore pour parler des perf d'un core unique ce qui est genant. D'alleurs leurs benchs semblent quand même montrer: qu'en monocore il est bon mais il manque le comparatif avec les autres CPU; Et que la perf 8 cores du M1 est beaucoup baissé par les coeurs low power. Or nous on veut comparer la perf des cores haute perf. De plus rien ne confirme que le code est deja bien optimisé pour le M1. Justement parceque ce processeur est nouveau et encore assez peu utilisé.
Donc ce resultat est interessant pour les gens qui veulent savoir ce qui est le plus pertinent pour faire tourner stockfish par exemple. Mais pas pour comparer avec l'IPC de Zen3 (c'est de ça dont on parle).
par chambolle, le Lundi 08 Février 2021 à 09h30  
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Dimanche 07 Février 2021 à 22h37
Bah il a montré les benchs avec SPEC en monocore. SPEC c'est juste la référence dans le monde industriel pour mesurer la perf brute d'un CPU sans viser une appli spécifique.
Ca ne veux pas dire grand chose "la reference dans le monde industriel". C'est plutot un nombre aggrégé pour faire simple. Toute personne qui veut comparer se mefie des benchs comme ca, parce qu'a la fin on ne sait pas ce qu'on compare
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Dimanche 07 Février 2021 à 22h37
Sinon il faut faire attention avec les benchs sur des applications spécifique comme les jeux d'echec. Ces programmes peuvent être optimisé pour une archi spécifique. Ce qui est utile pour savoir ce que tu vas avoir toi comme perf en vrai, mais ça ne dit pas grand chose sur la différence entre les deux microarch. De plus les benchs que tu links ne ciblent pas le monocore. Donc c'est pas génial pour parler de l'IPC d'un core.
Normalement si on veut faire des comparaisons on optimise au mieux chaque code. Donc ca c'est pas genant. Et j'ai juste donné ces benchs en exemple de résultats qui ne corroborent pas ce que raconte Apple
par ockiller en Auvergne-Rhône-Alpes, le Lundi 08 Février 2021 à 08h15  
[quote post='793308']Une architecture qui mise uniquement sur l'IPC aurait masse de transistors pas nécessairement organisés de manière à limiter la charge réactive ce qui aura pour conséquence de brider sa capacité à monter en fréquence donc au final ne sera pas plus performante dans l'absolu.[/quote]
Sauf qu'à la fréquence actuelle (5 GHz), Intel est déjà en train de se prendre un mur, et le meilleur moyen d'améliorer les perfs ne sera certainement pas d'augmenter encore la fréquence.

Et tes formules sont fausses, tu ne tiens pas du tout compte de comment doit se comporter la tension vis à vis de la fréquence. Celle-ci croit beaucoup plus rapidement vers les hautes fréquences, ce qui fait qu'en pratique, la consommation ressemble beaucoup plus à une exponentielle vis à vis de la fréquence (tu peux t'appuyer sur n'importe quelle courbe de relevés de consommation qui existe et le confirmer...).

La complexité et la consommation d'une architecture croit au carré de sa "largeur" (nombre d'instructions en parallèle à chaque étape). En théorie c'est avantageux par rapport à miser sur la fréquence, mais ça requiert de pouvoir exploiter ce parallélisme. En pratique on bute sur le parallélisme limité entre les instructions, et ça dépend à la fois du code (du type d'application), et du jeu d'instruction (qui peut avoir été conçu justement dans ce but, comme le sont la plupart des jeux d'instructions RISC).

Le x86 n'aide pas, donc je ne suis pas étonné de voir que ça n'est pas un problème qu'un CPU ARM pour téléphone soit plus large qu'un x86 qui vise avant tout les hautes performances. C'est un signe que c'est plus facile de rentabiliser la logique de gestion plus complexe. Intel a eu recours au SMT pour s'autoriser à viser plus large. Apple ne l'a pas encore fait...
par Un #ragoteur connecté en Auvergne-Rhône-Alpes, le Lundi 08 Février 2021 à 00h13  
par m en Alsace et non du Grand Est, le Dimanche 07 Février 2021 à 20h47
C'est bien pour ça qu'une architecture qui mise sur l'IPC plutôt que sur
les fréquences, sera toujours plus efficace, d'un point de vue énergétique.
Une architecture qui mise uniquement sur l'IPC aurait masse de transistors
pas nécessairement organisés de manière à limiter la charge réactive ce qui
aura pour conséquence de brider sa capacité à monter en fréquence donc au
final ne sera pas plus performante dans l'absolu.

Pire encore, une surcharge réactive de l'architecture peut gonfler la
consommation et par conséquence les pertes JOULE par appel de courant.

Bref, l'IPC n'est pas l'alpha et l'omega des performances ou de l'efficacité
énergétique des microprocesseurs.
par Un #ragoteur connecté en Auvergne-Rhône-Alpes, le Dimanche 07 Février 2021 à 23h57  
par m en Alsace et non du Grand Est, le Dimanche 07 Février 2021 à 20h47
Alors où est F?
Dans V^2 car la tension de seuil de fonctionnement des transistors est
dépendante de F (cf. puissance réactive) à moins de vouloir surconsommer
à basse fréquence en maintenant une tension de fonctionnement très élevée qui
n'est pas nécessaire.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Dimanche 07 Février 2021 à 23h19  
par m en Alsace et non du Grand Est, le Dimanche 07 Février 2021 à 20h21
Sur SSD c'est utilisé pour compresser/stoker (...), mais sur CPU, on pourrait imaginer que ça permettent un jour à plusieurs ALU d'écrire le même registre, en attendant de savoir quelle ALU aurait réellement dû s'exécuter
MLC c'est encoder plusieurs bits dans une seule cell, pas dans un seul bit. En exploitant plusieurs niveaux de tension sur une même cell de mémoire.

C'est des méthodes utile pour la transmission de donnée (un peu comme le MLT encoding) et leur stockage (MLC).

C'est pas claire: est ce que tu parles d'en faire une ALU qui fait plusieurs calculs en //, ou alors juste des bancs de registre plus compact ?
Pour faire des mémoires plus compact why not, mais on en est loin et c'est pas spécifique à cette histoire d'exécution spéculative on aimerait bien pouvoir le faire même avec de la prédiction.

Et pour une ALU qui calcul plusieurs opérations en // ce n'est pas vraiment réalisable.
Car pour faire des circuits logiques avec des signaux qui ont plus de deux niveaux de tension, par exemple faire du ternaire équilibré, cela demande un étage de mesure des niveaux de tension.
C'est obligatoire car les transistors qui sont utilisés pour faire les calculs fonctionnent en saturé ou bloquant (ce qui encode du binaire). C'est justement le fait de fonctionner en saturé/bloqué qui permet de monter haut en fréquence, d'être peu sensible aux perturbations, et de ne pas avoir un fonctionnement qui dépend trop de précision de la gravure.

Bref, même si l'idée d'ALU qui travaillent sur plusieurs niveaux de tensions pour encoder plus d'opérations est intéressante, elle est en réalité pas praticable sur les technos à base de transistor.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Dimanche 07 Février 2021 à 22h37  
par chambolle, le Samedi 06 Février 2021 à 17h35
Comme je l'ai déjà dit: où sont les benchs qui montrent clairement cela ?
Bah il a montré les benchs avec SPEC en monocore. SPEC c'est juste la référence dans le monde industriel pour mesurer la perf brute d'un CPU sans viser une appli spécifique.

Sinon il faut faire attention avec les benchs sur des applications spécifique comme les jeux d'echec. Ces programmes peuvent être optimisé pour une archi spécifique. Ce qui est utile pour savoir ce que tu vas avoir toi comme perf en vrai, mais ça ne dit pas grand chose sur la différence entre les deux microarch. De plus les benchs que tu links ne ciblent pas le monocore. Donc c'est pas génial pour parler de l'IPC d'un core.