Si les deux nouveaux CPU que nous vous annoncions lundi dernier sont désormais confirmés par de nombreuses sources, leurs spécifications exactes méritent quelques éclaircissements. Ce matin, nous avons justement reçu un prototype de Core i5 7640K. Problème de taille : il s’agit effectivement d’un CPU sur Socket LGA2066 et non d’une classique puce au format LGA1151. A l’évidence, ces processeurs appartiennent bien à la série des prochains Kaby Lake-X. Et c’est une surprise. Bien avant la publication de la news initiale, nous avions pu consulter les informations contenues sur le site de recherche interne d’Intel telles que publiées par nos confrères de BenchLife. Nous avons toutefois choisi de ne pas les mentionner pour deux raisons : d’abord, le site en question contient parfois des informations erronées (c’est par exemple le cas actuellement avec les spécifications des puces Skylake-X). Ensuite, nous préférons toujours baser nos informations sur du concret, c’est-à-dire sur des puces physiques.

Revenons-en à Kaby Lake-X. Avant de vous en parler, nous avons eu l’occasion de décortiquer leurs registres internes. Or, il existe justement un moyen simple de connaitre le type de format physique (Socket) : le Platform ID. Cette information est toujours contenue dans les bits 50 à 52 du MSR (Model Specific Register) 0x17. Dans le cas de Kaby Lake-X, celui-ci contient 0x0004000000000000, soit 0x01. Ce charabia technique ne vous dira probablement rien, mais tous ceux qui ont développé un jour du hardware PC ou un BIOS savent que le Platform ID 0x01 est réservé au Socket classique des versions Desktop.

C’est le cas sur tous les Core d’Intel depuis la nuit des temps. Qu’il s’agisse par exemple des Core i7 920 (Bloomfield, LGA1366), Core i7 860 (Lynnfield, LGA1156), Core i7 2600K (Sandy Bridge, LGA1155), Core i7 3770K (Ivy Bridge, LGA1155), Core i7 4770K (Haswell, LGA1150), Core i7 5775C (Broadwell, LGA1150), Core i7 6700K (Skylake, LGA1151) ou encore des Core i7 7700K (Kaby Lake, LGA1151), et de toutes leurs déclinaisons jusqu’au Celeron, tous disposent d’un Platform ID configuré à 0x01. Au contraire, les processeurs au format BGA des Mobiles ou les Sockets, destinés initialement aux serveurs, intègrent un Platform ID différent : celui du Core i7 6950X sur Socket LGA2011 est par exemple fixé à 0x02, contre 0x05 pour le Core i7 7820HQ. Ayant pu accéder par nous-mêmes aux registres d’un Kaby Lake-X et quoi qu’en disent les documents internes d’Intel, nous jugions élevée la probabilité qu’il s’agisse de CPU classique au format LGA1151. Dans le doute, nous avons tout de même pris soin de ne pas mentionner le type de Socket.

Puisque nous avons désormais la confirmation visuelle qu’il s’agit bien de puces au format LGA2066, revenons plus en détail sur cette nouvelle “famille” de processeurs. Pour mieux comprendre la suite, parlons de la genèse de Kaby Lake.

Comment faire passer un stepping de Skylake pour une nouvelle génération

Nous suivons l’évolution de cette “nouvelle” gamme depuis l’arrivée des premiers samples. Dés le début de l’année 2015 et avant même la sortie de Skylake (Core de 6e génération), Intel prend conscience que pour contrer l’arrivée des futurs CPU d’AMD (alors attendus pour la fin 2016), il lui faudra proposer simultanément une nouvelle génération de CPU. Problème : la mise au point très laborieuse du process 14 nm a provoqué un retard conséquent. Pire, le process suivant (10 nm) s’annonce encore plus compliqué à finaliser et la prochaine génération (Cannon Lake) ne sera pas prête avant 2018.

Commercialement, le service marketing juge impossible de faire “durer” Skylake tel quel jusqu’en 2018. Après un intense brainstorming, l’idée miracle germe : pourquoi ne pas se rabattre sur ce qui ne devait être qu’un simple stepping de Skylake pour en faire (commercialement) une toute nouvelle génération ? Début 2016, les premiers échantillons de ce nouveau stepping basés sur une (légère) optimisation du process débarquent. Voici par exemple notre échantillon de l’époque, fabriqué la 12e semaine de 2016 :

D’un point de vue technique, ces premiers samples sont considérés comme de simples nouveaux stepping de Skylake. Nous pouvons d’ailleurs le prouver facilement. Depuis plus de 20 ans, tous les CPU s’identifient grâce à une instruction x86 inventée par Intel : CPUID. Celle-ci renvoie 3 informations : Family, Model et Stepping. Comparons donc un processeur de la génération Skylake comme le Core i7 6700K avec l’échantillon ci-dessus de Kaby Lake :

Comme on le constate ici, les premiers prototypes de Kaby Lake se présentaient exactement comme des Skylake : Family 6 (comme tous les Core), Model 5E (comme tous les Skylake grand public). Seul le Stepping change effectivement, passant de 3 à 8. En l’état, difficile pour Intel de justifier le changement de “génération” (Core de 6e à 7e génération) auprès des power users capables de lancer un logiciel de reconnaissance comme CPU-Z.

Il convenait donc de changer discrètement le Model, mais ce genre de paramètre technique (qui sert aussi aux logiciels pour détecter la génération de la puce) suit normalement une logique immuable, intimement liée à la génération architecturale réelle de la puce : 2x pour Sandy Bridge, 3x pour Ivy Bridge/Haswell, 4x pour Broadwell, 5x pour Skylake. Intel ne pouvait pas non plus passer à 6x puisque la décision de transformer le stepping de Skylake en pseudo-nouvelle génération a été prise trop tard : la prochaine évolution réelle de l’architecture (Cannon Lake) était déjà définie à 6x en interne.

Comparons maintenant notre premier sample de Kaby Lake avec un modèle commercial :

Oh Surprise ! Entre deux stepping mineurs, Kaby Lake a soudainement “pris” 4 générations, passant de 0x5E à 0x9E. De mémoire, une telle modification ne s’était jamais produite dans l’histoire d’Intel. Preuve que la décision fût prise en catastrophe et uniquement basée sur des considérations commerciales. Plusieurs ingénieurs nous l’ont confirmé : d’un point de vue technique, Kaby Lake – tout comme Coffee Lake – n’existent tout simplement pas.

Revenons-en maintenant au fameux Kaby Lake-X

Kaby Lake-X : imbroglio technique et énigme commerciale.

Les CPU très haut de gamme actuels à 6, 8 et 10 cœurs (Core i7 6800/6900) sont basés sur l’architecture Broadwell-E. Leurs successeurs exploiteront l’architecture Skylake-X, embarqueront également un contrôleur mémoire Quad Channel et fonctionneront sur un nouveau Socket, le LGA2066. Des samples à 10 cœurs (entre autres) dotés de 13.75 MB de cache L3 et capables de gérer 44 lignes PCIe 3.0 commencent à circuler en ce moment. Ils s’accompagneront évidemment de nouvelles cartes-mères équipées d’un contrôleur SATA/USB (un ersatz des chipsets d’autrefois) baptisé X299. Jusqu’ici, pas de problème.

Néanmoins, la plupart des fabricants de cartes-mères développent actuellement leurs modèles X299 sur du Kaby Lake-X. Le premier sample de génération A0 que nous avons pu approcher date de plusieurs mois. Il embarque seulement 4 cœurs (avec Hyperthreading) cadencés à 3.30 GHz de base et 3.50 GHz en mode Turbo, pour un TDP de 112W. Son contrôleur mémoire DDR4-2400 reste limité à deux canaux. Voyons cela de plus près, avec cette capture transmise par l’une de nos sources :

CPU-Z se méprend ici sur la plateforme à cause du Package ID incohérent, comme nous l’avons expliqué précédemment : il s’agit toutefois bien d’un Kaby Lake-X sur Socket LGA2066. On constate néanmoins que la quasi-totalité des autres informations reste strictement identique à notre Kaby Lake ES A0, en particulier le CPUID. A l’évidence, Kaby Lake-X est lui aussi un simple Skylake renommé et adapté pour son nouveau Socket (qui ne lui apportera rien de concret). Sans surprise, les stepping B0 de Kaby Lake-X adoptent également le “nouveau” CPUID 6.9E.9. C’est le cas sur les versions actuelles des Core i7 7740K et du Core i5 7640K. Malheureusement, nous ne disposons pas pour l’heure d’une carte-mère X299 pour faire fonctionner ce dernier immédiatement. Nous l’avons toutefois transmis à un contact qui pourra nous en dire plus.

D’autres informations nous sont toutefois parvenues, qui complètent celles publiées par nos confrères.

Core i7 7740K (QMM9 ES) : Sa fréquence de base se situe bien à 4.30 GHz (100 MHz de plus que le 7700K) et sa fréquence Turbo à 4.50 GHz (identique au 7700K). L’Hyper-Threading est activé et il dispose de 8 MB de cache L3. Il existe toutefois une petite subtilité. Le Core i7 7700K est spécifié à 4.4 GHz en mode Turbo avec tous les cœurs actifs et 4.5 GHz avec un seul cœur actif. Le Core i7 7740K est lui conçu pour fonctionner à 4.5 GHz en mode Turbo, quel que soit le nombre de cœurs actif. Ce qui en fait, en pratique, un CPU à 4.50 GHz.

(QMM9 ES) : Sa fréquence de base se situe bien à 4.30 GHz (100 MHz de plus que le 7700K) et sa fréquence Turbo à 4.50 GHz (identique au 7700K). L’Hyper-Threading est activé et il dispose de 8 MB de cache L3. Il existe toutefois une petite subtilité. Le Core i7 7700K est spécifié à 4.4 GHz en mode Turbo avec tous les cœurs actifs et 4.5 GHz avec un seul cœur actif. Le Core i7 7740K est lui conçu pour fonctionner à 4.5 GHz en mode Turbo, quel que soit le nombre de cœurs actif. Ce qui en fait, en pratique, un CPU à 4.50 GHz. Core i5 7640K (QMMA ES) : Bien plus décevant qu’attendu, le Core i5 7640K se trouve bien cadencé à 4.00 GHz de base contre 3.80 GHz pour le Core i5 7600K sur Socket LGA1151. A priori il s’agit d’un gain, sauf que voilà : son mode Turbo se situe à 4.2 GHz pour un seul cœur actif, 4.1 GHz avec deux cœurs actifs et … 4.0 GHz – soit sa fréquence de base – avec 4 cœurs actifs ! Des valeurs strictement identiques au Core i5 7600K et qui reviennent à la suppression du mode Turbo en mode Quad Core. De quoi annihiler tout l’intérêt de la hausse de la fréquence de base. Concernant la présence de l’Hyper-Threading, les documents internes d’Intel indiquent qu’il est désactivé, mais nous n’avons toujours aucune confirmation d’une source qui dispose réellement d’un CPU fonctionnel. Dès que notre échantillon aura trouvé une carte-mère compatible (ce qui ne saurait tarder), nous vous confirmerons ce point. Néanmoins, vu l’abus marketing que semble constituer cette gamme de processeurs, nous avons désormais peu d’espoir.

Reste que c’est bien avec ces CPU qu’Intel compte rivaliser avec Ryzen. L’accélération du timing – ils sont désormais au stade de la validation finale – le démontre. Sans même se prononcer sur leurs performances, ces Kaby Lake-X ressemblent pour l’heure à une blague de mauvais gout. Intel cherche visiblement (encore) à créer de la nouveauté par tous les moyens afin de masquer l’absence d’évolution dans ses architectures. Ces pratiques nous font d’ailleurs penser à la détestable valse des étiquettes dans le monde des GPU. Faut-il l’interpréter comme un signe de fébrilité due à une concurrence inattendue ? A l’évidence !