| [ Lundi 3 novembre 2008 ] |
par Guillaume Louel |
Intel Core i7 : (R)évolution ?
Intel Core i7 : Améliorations des cœurs
L'intérieur des cœurs à été remanié par rapport aux Core 2. Ils gardent tout de même une parenté très forte et les modifications qui ont été apportées résultent surtout des changements qui ont été effectués du côté des caches mémoires et de la réintroduction de l'Hyper Threading. La partie décodage des instructions à été revue. Intel avait introduit avec le Core 2 la macrofusion, la possibilité pour le processeur de compacter deux instructions "x86" en une seule pour la passer ensuite aux unités de calculs. Sous Nehalem, elle est capable de compresser de nouveaux cas qui prennent en compte les sauts conditionnels (des instructions très souvent utilisées). L'autre bonne nouvelle est que la macro fusion fonctionne désormais en mode 64 bits. Sur les Core 2, si l'on utilisait un système d'exploitation 64 bits (Windows XP 64/Vista 64, ou un Linux/BSD), la macro fusion n'était pas disponible. Avec le faible coût de la mémoire, c'est plutôt une bonne nouvelle pour ceux qui souhaiteront passer sous ces systèmes avec un Core i7.On trouve des améliorations du côté des mécanismes de détection de boucles introduit avec le Core 2. Il s'agit d'un morceau de logique qui, quand il repère une suite d'instructions qui est renouvelée rapidement, place les instructions dans un petit cache pour qu'elles soient répétées. Deux nouveautés à noter, la première est l'emplacement du cache. Il se trouvait avant le décodeur, il a été déplacé après. Il stocke donc des micro-opérations (le langage des unités de calcul) et non plus des instructions (x86). La taille est élargie puisque l'on passe de 18 à 28 instructions (ou micro-op) pour la taille des boucles qui peuvent être détectées et mises en cache. Toute la partie exécution (les unités de calcul) reste identique à ce que l'on trouvait sur le Core 2, à savoir trois unités dédiées au calcul et trois aux manipulations mémoires. L'HyperThreading n'a pas d'impact de ce côté, il y a juste la gestion de deux files d'instructions au dessus, au niveau de la station de réservation. C'est lui qui joue le rôle d'arbitre pour savoir quel core virtuel aura accès au core réel. Le jeu d'instruction étendu SSE passe en version 4.2. Quelques petites nouveautés à signaler avec des instructions servant à gérer les chaines de caractères (pour accélérer les traitements XML) ainsi que d'autres instructions ciblant des applications plus spécifiques. Dans le lot on trouve l'accélération du CRC32 par exemple. On notera surtout l'arrivée d'opérations mémoires dites non alignées (pour des raisons historiques, il était toujours plus rapide de lire des données alignées sur 16 octets).
Les Processeurs déjà testés