En développement depuis plus de cinq années, l'architecture Skylake est le fruit des équipes de développement d'Intel situées en Israël. Celles à qui l'on doit notamment le Pentium M (souvenirs, souvenirs !). Les premières puces Skylake sont déjà commercialisées sur les PC de bureau : voir notre test du Core i7 6700K.
La première particularité de Skylake, avant de nous pencher sur son architecture intrinséque, est la nécessité pour Intel de couvrir plusieurs segments de produits avec une seule et même micro-architecture. De la tablette au serveur en passant par le classique PC. De fait Skylake couvre un large éventail de TDP de 4,5 Watts à 91 Watts, d'après Intel. Les configurations des puces sont également différentes avec des SoC regroupant le PCH sur le même packaging et des puces plus traditionnelles. Aussi et pour la première fois, Intel a réalisé un design avec deux déclinaisons : l'une pour le grand public et l'autre pour le serveur. C'est aujourd'hui de la version grand public de Skylake que nous vous parlerons.
L'architecture en détails
Bien que Skylake soit un tock, c'est à dire une nouvelle micro-architecture, sa conception ne change pas fondamentalement dans les grandes lignes. On se retrouve toujours en face d'une architecture multi-coeurs avec un coeur graphique embarqué et un système de Ring interconnectant les coeurs et le sous-système graphique. Ce sont bien des optimisations et améliorations qu'Intel propose avec Skylake. Du côté du front-end, Intel dit avoir amélioré la capacité de celui-ci tout en améliorant le système de prédiction de branchement. Ce dernier étant plus intelligent et fonctionnant sur des branchements plus longs alors que le prefetching est plus rapide et efficace. Des buffers plus généreux permettent d'alimenter nos coeurs avec plus d'instructions. Et Skylake peut stocker jusqu'à 64 micro-ops décodés par thread contre 56 pour Haswell.Alors que Skylake conserve toujours un mode « 4-wide » pour permettre le décodage simultané de 4 instructions x86, les unités d'exécution sont plus nombreuses et avec des temps de latence plus faibles. Toutefois Intel ne communique pas sur le nombre exact ou la configuration précise des unités laissant libre cours à toute spéculation. Du côté des unités FP, on sait que le divider est plus flexible qu'avant et que certaines instructions bénéficient d'un temps de latence réduit.
Le fondeur indique que certaines instructions comme AES-GCM et AES-CBC s'exécutent plus rapidement : 17% et 33% plus vite respectivement. Les ingénieurs d'Intel ont également pris soin d'améliorer les problématiques de bande passante au niveau des load & store. Cela passe par des améliorations du prefetch, des buffers plus importants mais aussi une gestion plus efficace des ratées du cache. De nouvelles instructions pour la gestion du cache sont d'ailleurs de la partie et Intel précise que l'HyperThreading est amélioré avec une plus grande capacité pour le retirement c'est à dire la mise de côté d'instructions ne servant à rien.
Du neuf en sécurité
L'architecture Skylake apporte quelques nouveautés en matière de sécurité avec la technologie Intel Software Guard Extensions (SGX). De nouvelles instructions permettent de créer et d'isoler du code, des données ou les deux dans des enclaves pour les rendre inaccessibles aux malwares notamment. Une possibilité qui sur le papier semble intelligente avant de réaliser que l'enclave en question pourrait justement servir à y stocker du code malveillant ou des DRM par exemple. Intel introduit également les Memory Protection Extensions ou MPX visant à valider la plage mémoire qui sera effectivement allouée à un accès à la mémoire physique de sorte à éviter les attaques de type buffer overflow.Du neuf en matière de mémoire
Parmi les avancées de Skylake il y a un débit doublé pour le dernier niveau de cache alias LLC et les miss handling. Les variantes Skylake avec eDRAM disposent d'une nouvelle architecture de la mémoire embarquée. La eDRAM est transparente pour le système et peut ainsi servir de cache à tout type de données, y compris les données non cachables, alors qu'elle n'a pas besoin d'être vidées pour les habituels soucis de cohérence. La eDRAM est également accessible pour les périphériques I/O et le moteur d'affichage. Un des points intéressants étant la possibilité, nouvelle, pour le driver graphique de choisir quelles données stocker dans la eDRAM plutôt que dans le LLC du processeur. Rappelons toutefois que tous les SKU Skylake ne bénéficieront pas d'eDRAM. Ainsi les Core i7 6700K récemment lancés en sont dépourvus. Autre précision : la eDRAM embarquée n'est pas gravée en 14nm mais bien en 22nm. Bien sûr le contrôleur mémoire de Skylake est compatible DDR3 et DDR4 mais ça nous la savions déjà.Des progrès sur la consommation
Comme à chaque nouvelle micro-architecture, Intel améliore la consommation de sa puce. Ici, diverses nouveautés font surface : les unités AVX2 font maintenant du power gating ce qui permet de moins consommer lorsqu'elles ne sont pas utilisées c'est à dire à peu près tout le temps donc. Intel dit également avoir réduit la consommation électrique en Idle tandis que le processeur consomme moins dans l'état C1. Les interconnexions du processeurs consomment moins, le moteur vidéo est annoncé comme moins gourmand également. A noter au passage que le chipset accompagnant Skylake est maintenant capable de faire du throttling ce qui devrait être utile pour les configurations processeurs regroupant sur le même package chipset et die Skylake.Intel Speed Shift : l'OS n'est plus aux commandes
C'est l'une des nouveautés majeure de Skylake que nous découvrons donc sur le tard. Intel introduit avec cette nouvelle génération de CPU une technologie dites SpeedShift. Il s'agit d'une modification significative de la gestion des transitions d'états de consommation du processeur, les fameux P-States. Précédemment et quasiment depuis les premiers Pentium III avec Speedstep, ceux-ci étaient contrôlés par l'OS. Ce n'est plus le cas avec Skylake puisque le PCU ou Power Control Unit du processeur détermine de lui même l'état P-State dans lequel doit entrer le processeur. De sorte que la transition d'un état à l'autre est beaucoup plus rapide : selon Intel on passerait de 30ms à 1ms. L'OS doit quand même transmettre une préférence de ratio énergie/performance mais c'est bien le processeur qui a maintenant le dernier mot. Pour l'heure Speed Shift est compatible exclusivement avec Windows 10. Un support Linux est en cours de développement, et l'on imagine qu'OS X en profitera également. Quant aux anciennes versions de Windows, elles continueront de gérer les transitions de P-States comme précédemment.Intel fait état d'une meilleure maîtrise des problèmes de leakage dans Skylake ou encore de l'ajout de nouveaux domaines Speed Step pour le System Agent, la mémoire et l'eDRAM.
- Pour l'architecture graphique de Skylake nous vous renvoyons à : IDF 2015 : Architecture graphique de Skylake
Pour plus d'actualités IDF 2015, voir aussi :
- IDF 2015 : Thunderbolt 3 passe au connecteur USB Type-C et complique tout
- IDF 2015 : La fin du connecteur analogique pour les casques audios ?
- IDF 2015 : G-Skill montre de la DDR4 à 4 266 MHz
- IDF 2015 : Skylake mobile en version K débloquée
- IDF 2015 : OCZ montre son Revodrive 400
- IDF 2015 : Intel évoque la 5G
- IDF 2015 : EVGA se lance sur le marché des ordinateurs portables (avec Skylake)
- IDF 2015 : un bracelet de sécurité Intel pour s'identifier facilement
- IDF 2015 : Razer proposera une caméra RealSense
- IDF 2015 : Intel annonce Optane pour des SSD 5/8 fois plus rapides
- Intel donne le coup d'envoi de l'IDF 2015 : RealSense et Curie en avant !