COMPTOIR
  
register

×

Adi Yoaz : l'architecture, c'est lui !

Deux têtes pensantes de l'Intel Development Center nous livrent la recette secrète de Raptor Lake
Adi Yoaz : l'architecture, c'est lui !
moshiko emmer scaled t

À l’occasion de l’Intel Technologie Tour, outre les divers stands montrant des prototypes Thunderbolt et autres nouvelles technologies de la firme, nous avons pu glaner des informations auprès des concepteurs de Raptor Lake (et d’Alder Lake…). Si, auparavant (comprenez, l’époque d’Ivy Bridge), les équipes tournaient entre les ingénieurs américains et israéliens en ce qui concerne la mise au point de la prochaine microarchitecture, le balancier est resté bloqué au Moyen-Orient depuis Skylake et ses moult refresh — en attendant qu’une nouvelle équipe se forme sur le sol américain. Ainsi, les États-Unis se sont contentés du design des E-Core pour la 12ème et 13ème génération, avec le succès qu’on leur connait, alors que le P-Core a été dessiné ici, à l’Israel Development Center, sous la supervision d’Adi Yoaz pour ce qui est de l’architecture, et Moshiko Emmer pour la vérification et le debug. Entre deux couloirs et trois cafés, nous avons pu nous entretenir avec les deux personnages : de quoi vous donner une vision plus interne de Raptor Lake et des choix effectués par Intel sur cette treizième génération.

 

Adi Yoaz : l'architecture, c'est lui ! [cliquer pour agrandir]

 Pour les améliorations architecturales, l’autre face des gains de Raptor Lake, c’est à Adi Yoaz qu’il faudra s’adresser…

 

À y regarder de loin, Raptor Lake ne semble pas issu d’années acharnées de développement comme Zen a pu l’être en son temps. Une simple remise au goût du jour de la génération précédente en gonflant les cœurs et la fréquence, voilà qui semble être une tâche aisée. Pas si vite : toper les 6 GHz sur un futur i9-13900KS tout en doublant de nombre de E-Core n’est pas une mince affaire, loin de là !

Tout commence il y a deux ans, une époque à laquelle Meteor Lake était censé succéder directement à Alder Lake, rattrapant ainsi les retards du 10 nm et de Ice Lake, finalement travestis en 14 nm sur Rocket Lake pour sortir sur PC de bureau. Les nouvelles du front, côté lithographie, ne sont pas bonnes : le météore ne sera pas prêt à temps, et il va falloir bricoler une gamme cohérente à partir du travail existant pour meubler une année. Le projet est tout naturellement confié à l’équipe israélienne, déjà aux commandes des multiples versions de Skylake (Kaby Lake, Coffee Lake, Coffee Lake Refresh, Comet Lake !) et du P-Core d’Alder Lake. Similairement au 14 nm, le 10 nm a gagné en maturité, et offre une densité supérieure de transistor, et, surtout, des rendements (yield) en hausse : de quoi permettre des puces plus grandes tout en restant rentables. Très bien : il suffit d’augmenter le nombre de E-Core pour gagner en patate en applicatif, le gain en fréquence des P-Core — voir ci-dessous pour un voyage dans les détails — devant suffire pour ce qui est du gain monocore. Cependant, un souci de taille survient : sur les plus gros designs d’Alder Lake, le débit mémoire est déjà un goulot d’étranglement des performances, les cœurs se tirant trop la bourre pour charger leurs données, parfois de manière contre-productive du fait de la cohérence des caches. Ce rajout d’E-Core et la progression de la puissance de calcul des P-Core via la cadence en hausse est la goutte d’eau qui fait déborder le vase : le sous-système mémoire doit être revu.

 

Or, impossible d’augmenter le débit mémoire sans toucher au nombre de canaux, qui est chasse gardée pour le segment professionnel (et impensable du point de vue de la rétrocompatibilité) : il faut optimiser avec les 2 canaux existants. Si l’architecture en ring est conservée (les données transitent sur un anneau, où les P-Core, le GPU et les clusters de 4 E-Core ont chacun un « arrêt »), les caches sont revus à la hausse, notamment par le passage à 2 Mio du L2 sur les P-Core, et 4 Mio sur les clusters d’E-Core. Enfin, pour éviter les problèmes de partages de données — rapatrier des données du L3 prend du temps, en particulier si ces données viennent juste d’être modifiées par un autre cœur —, un nouvel état est ajouté aux lignes de caches du L3 : INI/non-INI, permettant aux données d’être incluses/non-incluses dans les caches plus proches des cœurs. Ainsi, les performances en multithreading devraient être améliorées, sans pour autant recourir à un mesh (notez que Skylake-X a été le premier à utiliser cette solution, pour des CPU montants jusque 28 cœurs… de quoi donner une idée de la date d’arrivée de cette topologie sur le segment grand public). Au passage, un microcontrôleur se charge du prefetch, une solution à base de machine learning permettant de mieux limiter les cache miss : toujours cette logique d’optimisation de la bande passante mémoire.

 

moshiko emmer scaled t [cliquer pour agrandir] Moshiko Emmer : la montée en fréquence, c’est lui !

 

Pour autant, gagner de la performance en multicore est sympathique, mais ne suffit pas à un grand nombre d’applications, notamment du côté des jeux. Pour convaincre les clients, ils faut progresser sur le plan du monothread ; et si l’IPC progresse légèrement du fait du L2 plus volumineux, les gains ne sont pas suffisants au goût de la firme. Cela tombe bien, car l’optimisation des architectures pour monter en cadence, l’équipe israélienne en connait un rayon ! Dans la pratique, l’architecture d’un processeur décrit les blocs logiques qu’il intègre, mais ne possède pas la granularité des portes logiques et des mémoires : c’est au niveau du RTL que se situe cette information. RTL qui est par la suite transformée en GDS avec l’aide d’une bibliothèque propre au processus de gravure utilisée, permettant de sélectionner quelle cellule utiliser à quel endroit.

 

C’est ici que vont se trouver les limitations à la montée en fréquences, nommées chemins critiques : il s’agit de zones dans lesquels le temps de propagation de l’information des électrons va se retrouvé trop proche de la cadence d’horloge du processeur : en cas de montée de la cadence, l’information ne sera plus transmise correctement, occasionnant crashs et autres BSOD bien connus des clockers. Or, puisque Raptor Lake fait suite à Alder Lake, déjà optimisé, les ingénieurs savaient en avance les endroits limitants, et ont donc pu raboter pour passer de 5,5 GHz à 6,0 GHz sur le 13900 KS, encore à venir. Au passage, nous avons pu assister à une démonstration live de surcadençage validant (pour quelques secondes) les 8 GHz sous azote liquide : les fuites étaient donc fondées !

 

13900k 8ghz ln2

 

Parmi les endroits les plus difficiles à optimiser, Moshiko cite le Reorder Buffer — mémoire contenant toutes les instructions en passe d’être exécutées et le décodeur, comme quoi les vieilles casseroles de l’x86 sont bien un désavantage quelque part. Puisque les supprimer (les casseroles, pas le ROB !) ne ferait gagner que quelques pourcents — moins de 10, nous a-t-on dit —, la logique responsable de compatibilité reste là, bien que la question se repose à chaque nouvelle révision majeure des microarchitectures.

 

Sur cette base, qu’est-ce que l’équipe va bien pouvoir sortir par la suite ? La réponse a été catégorique : une révision de l’ensemble du pipeline est nécessaire — de l’ordre de celle effectuée pour Sunny Cove. De quoi espérer une nouvelle fois de sacrés gains d’IPC ; si tant est que la fréquence suive côté procédé de gravure — Intel 4, à toi de jouer ! Quant à des directions de design sur le plus long terme, la chose est difficile à prédire, mais deux piliers se détachent. D’une part, l’ajout de nouvelles instructions spécialisées semble incontournable pour s’adapter aux nouveaux algorithmes : nous pensons de suite au VNNI pour les réseaux de neurones, mais aussi les extensions dédiées au chiffrement tel GFNI ou encore l’essai raté des mémoires transactionnelles avec TSX. De quoi imaginer toujours plus de logique spécialisée dans nos processeurs, une révolution somme toute déjà en marche. Cependant, des capacités de calcul fixées ne satisferont pas tous les programmes, et c’est bien là que le second pilier entre en scène : l’ajout d’unités reconfigurables. Intel a investi dans Altera, AMD a récemment racheté Xilinx : autant de signes rapprochant le monde des FPGA de celui des CPU, d’autant plus que les technologies de gravure employées sont similaires (contrairement à la DRAM ou la HBM, par exemple). Reste que ces unités seront coûteuses, en surface comme en temps de développement (du CPU comme des programmes accélérés), autant dire que les designeurs devront épuiser toutes les autres pistes d’accélération des programmes avant de s’y engouffrer : voyez donc cela comme un objectif long terme. Autant dire que le monde des processeurs n’est pas mort — loin de là — et qu’il reste encore assez d’essence pour propulser quelques générations avant de sentir la fin de la loi de Moore !

Un poil avant ?

Vente anticipée : la RTX 4090 n'y échappe pas !

Un peu plus tard ...

200 Hz, Mini-LED & DisplayHDR 1400 pour le nouvel Elite XG341C-2K de ViewSonic

Les 27 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Nicolas D., le Vendredi 07 Octobre 2022 à 01h11  
par Un ragoteur sans avis du Grand Est, le Jeudi 06 Octobre 2022 à 18h59
Mais, après cette mauvaise expérience, Intel avait quand mais manifester son intérêt de découpler à l'avenir ses designs "logiques" des process de gravure, afin de pouvoir se retourner plus rapidement à l'avenir, en cas de "pépins", et de pouvoir choisir le meilleurs node en fonction des besoins, y compris en allant voir ailleurs pour la "fonderie".
Pour Intel je confirme, c'était la position à l'Architecture Day de 2018 ! Pour AMD ca me semble logique, même si TSMC offre souvent des procédés améliorés permettant de recycler les masques ; et donc sans changement de GLS .
D'un autre côté, quand AMD te dit qu'ils ont quasi doublé la densité du cache (V-Cache) de part l'expertise des designs précédents ; et Intel qui dit que les équipes de fonderie et de design sont plus que jamais en relation, ca sent tout de même le couplage à plein nez.
Je suppose que les décisions d'utilisation de tel ou tel procédé est prise en amont des leur fiabilisation (logique vu les emploi du temps), et que, pour AMD comme Intel, l'optimisation part de là... et ne fonctionne pas toujours (en témoigne ce Raptor Lake qui n'est "que" un refresh - même si je m'attends à des perfs surprenamment bonnes). Reste que TSMC ne semble pas avoir les problèmes de mises au point, et, pour le coup, je blâmerai plus une stratégie long terme foireuse - *tousse* Kzanitch et Swan *tousse* - qu'un fonctionnement différent entre les boites. Suffit de voir quand AMD avait encore des contrats avec GloFlo : fallait faire avec un process en retard, y a pas de secret....
par Un ragoteur sans avis du Grand Est, le Jeudi 06 Octobre 2022 à 18h59  
Mais, après cette mauvaise expérience, Intel avait quand mais manifester son intérêt de découpler à l'avenir ses designs "logiques" des process de gravure, afin de pouvoir se retourner plus rapidement à l'avenir, en cas de "pépins", et de pouvoir choisir le meilleurs node en fonction des besoins, y compris en allant voir ailleurs pour la "fonderie".
Et AMD aussi, il me semble, ils sont assez "souple" là-dessus(pour transférer un design sur différents process).
Je comprends que c'est essentiellement autour du GDS que ça se passe.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Jeudi 06 Octobre 2022 à 17h07  
par Un ragoteur sans avis en Île-de-France, le Jeudi 06 Octobre 2022 à 09h26
Et c'est donc au niveau du GDS que sont prises en compte toutes les particularités et optimisations spécifiques à un process de gravure en particulier?
Comme l'a indiqué Nicolas, même si les aspect électrique (ou physique en général) ne sont pas décrit dans le RTL, se sont quand même des contraintes sur le design du RTL.
Par exemple en fonction de la techno on ne va pas avoir la même place pour la mémoire cache, mais la taille du cache est définit dans le RTL puisque cela défini le comportement du circuit.
 
Intel par exemple, avaient une architecture "prévue" pour du 10, et mal-gré les déboires qu'ils ont eut avec ce process-là, ils ont mis plusieurs années avant de finalement se résoudre à "porter" Sunny Cove en 14nm, avec Cypress Cove.
C'était donc à priori le fait de devoir redesigner et revalider tous le GDS qui les auraient rechigné
Je ne peux pas parler pour Intel, mais je peux te dire que le travail du back-end ne commence pas lorsque le RTL est fini et ne bouge plus (ce qu'on appel le RTL freeze).
Il y a beaucoup de préparation en amont, et cela coûterait cher de tout jeter en effet. De plus, le développement d'un nouveau circuit est décidé plusieurs années en amont, au moment de la décision on ne peut pas toujours savoir si la techno de gravure n'aura aucun problème.
par Nicolas D., le Jeudi 06 Octobre 2022 à 16h09  
par Un ragoteur sans avis en Île-de-France, le Jeudi 06 Octobre 2022 à 09h26
Wouaw , merci pour tes explications, c'était très clair

Et c'est donc au niveau du GDS que sont prises en compte toutes les particularités et optimisations spécifiques à un process de gravure en particulier?
Intel par exemple, avaient une architecture "prévue" pour du 10, et mal-gré les déboires qu'ils ont eut avec ce process-là, ils ont mis plusieurs années avant de finalement se résoudre à "porter" Sunny Cove en 14nm, avec Cypress Cove.
C'était donc à priori le fait de devoir redesigner et revalider tous le GDS qui les auraient rechigné?
C'est très probable, oui. Par contre, tu as tout de même la notion de cycle dans le RTL, donc si tu demandes trop d'opérations en un cycle, tu vas atteindre de toute manière les limites de ta gravure quelles que soit les optimisations du GDS. Typiquement, le Pentium 4 montait en fréquence parce que l'archi était très pipelinée, un choix qui se reflète déjà dans le RTL : la frontière n'est donc pas si hermétique entre RTL et GDS pour "optimiser pour un procédé de gravure" (ou plutôt, "optimiser pour la montée en fréquence" c'est à la fois du boulot au niveau GDS et RTL).
par Un ragoteur sans avis en Île-de-France, le Jeudi 06 Octobre 2022 à 09h26  
Wouaw , merci pour tes explications, c'était très clair

Et c'est donc au niveau du GDS que sont prises en compte toutes les particularités et optimisations spécifiques à un process de gravure en particulier?
Intel par exemple, avaient une architecture "prévue" pour du 10, et mal-gré les déboires qu'ils ont eut avec ce process-là, ils ont mis plusieurs années avant de finalement se résoudre à "porter" Sunny Cove en 14nm, avec Cypress Cove.
C'était donc à priori le fait de devoir redesigner et revalider tous le GDS qui les auraient rechigné?
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mercredi 05 Octobre 2022 à 21h56  
par Un ragoteur sans avis en Île-de-France, le Mercredi 28 Septembre 2022 à 11h49
Très intéressant tout ces détails techniques. "RTL", "GDS", vous pouvez traduire?
Le GDS c'est le format fournit aux fabs. C'est une description presque en 3D de tous le circuit avec tous les transistors, leurs dimensionnements, leurs positions, mais aussi de toutes les couches de métal pour relier les transistors etc. À partir du GDS on imprime les masks, qui sont eux utilisés par les fab pour "graver" chaque couche du circuit.

La description RTL c'est une description comportementale du circuit purement logique. On décrit pour chaque composant comment il réagit à des données en entrée et quelles données en sortie il produit.
Il n'y a aucun aspect électrique dans le RTL, il n'y a même pas de notion de position des blocs logique dans le circuit, ni même la notion de transistor à ce niveau. On ne fait que décrire le comportement du circuit, mais dans un langage que l'on peut facilement traduire en équation booléen et en machine à état.

La conception de circuit se découpe en 2 grands métiers :
- Les front-end designers qui écrivent le RTL;
- Les back-end designers qui prennent le RTL et le "transforme" en GDS.

Le back-end designer n'a pas vraiment d'impact sur ce que fait le circuit, son métier c'est de choisir le mieux possible les transistors, les positionner le mieux possible, et de gérer tous les aspects électrique du circuit (par exemple s'assurer tout le circuit va pouvoir être alimenté correctement)
par Un ragoteur sans avis du Grand Est, le Jeudi 29 Septembre 2022 à 19h07  
(dsl pour ceux qui n'avaient pas la ref, Meteor et Kronenbourg sont deux bières alsaciennes, emblématiques pas ici )
par Un ragoteur sans avis du Grand Est, le Jeudi 29 Septembre 2022 à 17h57  
par Nicolas D., le Jeudi 29 Septembre 2022 à 15h59
De ce que j'ai compris, c'est pour la prochaine révision donc j'ai pensé direct à Meteor Lake, mais, à y réfléchir, ce n'est peut-être pas si évident .
RTL c'est Register Transfer Level, un niveau d'abstraction proche du transistor, mais restant une description logique (uniquement des liaisons entre unités de calcul et formules logiques). Pour le GLS, je suis beaucoup moins expert mais c'est la transformation d'un RTL une fois passé à la moulinette d'une bibliothèque de gravure
Merci pour ces précisions. Ça reste nébuleux, mais chaque détails est bon à prendre pour se brosser une idée du tableau

Pour la Kronenbourg, je m'en réfère toujours à votre Roadmap Officielle que je prends au pied de la lettre
(et 1 ou 2 autres bruits depuis, évoquant un Golden++ rebaptisé ).
On verra bien

(d'ailleurs ça permet de me rappeler que les 32 LITTLE étaient en fait prédestiné pour l'itération d'après. Ma mémoire les situaient sur la Météor...)
par Nicolas D., le Jeudi 29 Septembre 2022 à 15h59  
par Un ragoteur sans avis en Île-de-France, le Mercredi 28 Septembre 2022 à 11h49
(j'en reviens à l'article)
Et vous les voyez pour quand, cette "révision de l'ensemble du pipeline"?
Meteor Lake arrivera avec une architecture inédite (pour les bleu) à base de tuiles, mais côté µarchitecture des P-Cores, aura-t-on aussi droit à un nouveau design?
Jusque-là, j'ai plutôt entendu parlé d'un second refresh Golden Cove++. Ce qui, face à Zen 5, risque de ne pas être suffisant, maintenant qu'ils sont revenue à parité.

Très intéressant tout ces détails techniques. "RTL", "GDS", vous pouvez traduire?
De ce que j'ai compris, c'est pour la prochaine révision donc j'ai pensé direct à Meteor Lake, mais, à y réfléchir, ce n'est peut-être pas si évident .
RTL c'est Register Transfer Level, un niveau d'abstraction proche du transistor, mais restant une description logique (uniquement des liaisons entre unités de calcul et formules logiques). Pour le GLS, je suis beaucoup moins expert mais c'est la transformation d'un RTL une fois passé à la moulinette d'une bibliothèque de gravure
par Nicolas D., le Jeudi 29 Septembre 2022 à 15h55  
par Un hardeur des ragots en Île-de-France¶, le Mardi 27 Septembre 2022 à 19h58
Du coup attendre la prochaine micro architecture Intel et Zen 5 peut être intéressant si on est pas pressé !
Tout à fait .
par Pascal M., le Mercredi 28 Septembre 2022 à 14h33  
par Darth Moule¶, le Mercredi 28 Septembre 2022 à 11h51
Vous avez eu le droit à la même visite que Linus? La classe!!
en fait ça fait plusieurs fois que l'on assure ce genre de couverture... et qu'on vous la retranscrit
par Eric B., le Mercredi 28 Septembre 2022 à 12h37  
par Darth Moule¶, le Mercredi 28 Septembre 2022 à 11h51
Sinon Whoa ! Rien à voir avec la new mais le site pour mobile est génial ??????
Édit: les emoji ne passent pas haha
Oui c'est une limitation actuelle, il faut utiliser celles du formulaire (c'est pour ca qu'elles y sont d'ailleurs), dsl. Pascal va faire une news sur le sujet prochainement.