IDF 2010 : Atom et Sandy Bridge à l'honneur

Publié le 05/10/2010 par
Imprimer
Sandy Bridge : les cores

Après le retard de 2 ans pris par AMD sur l’intégration du CPU et du GPU, c’est finalement Intel qui devrait être le premier à commercialiser un tel produit avec Sandy Bridge. Pour rappel, les Core i3/i5 actuels n’ont fait que placer le CPU et le northbridge dans le même packaging pour réduire le coût de la plateforme. Avec Sandy Bridge, l’intégration est réelle et ces deux composants ne font plus qu’un, ce qui permet de nombreuses optimisations tant sur le plan des performances que de la consommation.


Sandy Bridge marque également l’arrivée d’une nouvelle génération de cores CPUs qui profitent de petites améliorations à de nombreux niveaux, ce qu’Intel a détaillé lors de cet IDF, en plus d’apporter un nouveau jeu d’instruction : AVX. Plus précisément, la plupart des modifications architecturales sont liées à AVX et ont été mises en place pour rendre celui-ci efficace. L’aspect consommation est également au centre de tout cela, Intel ayant pour objectif que chaque amélioration augmente le rapport performances/watts.


Pour rappel, l’AVX est un nouveau jeu d’instruction vectoriel 256 bits qui permet donc, avec une implémentation idéale, de doubler la puissance de calcul par rapport au SSE 128 bits. Pour cette première implémentation, Intel a fait en sorte de pouvoir exécuter les opérations vectorielles flottantes 256 bits à pleine vitesse, les opérations AVX sur les entiers étant pour leur part découpées en 2 opérations de 128 bits. Pour alimenter ces unités de calcul flottantes de 256 bits, sans faire exploser le coût et la consommation, Intel a réorganisé quelque peu ses unités d’exécution de manière à pouvoir réutiliser une partie (principalement les datapaths) de celles dédiées aux opérations sur les entiers.


Ce n’est pas tout puisque l’architecture actuelle ne peut charger et écrire que 128 bits de données par cycle. Intel a élargi cela et Sandy Bridge est capable de charger 256 bits en plus d’écrire 128 bits. Cette architecture est au final capable d’exécuter, en flottant, une multiplication de 256 bits + une addition de 256 bits + un chargement de 256 bits, soit le double de l’architecture actuelle.

Pour optimiser le fonctionnement Out-of-Order de Sandy Bridge, Intel a opté pour un Physical Register File, tout comme il l’avait fait avec le Pentium 4 et tout comme AMD va le faire avec Bulldozer. Par rapport au Retirement Register File utilisé dans les CPUs Core actuels, le PRF, via un jeu de renommage des registres, permet de garder toutes les données localement et donc d’éviter des déplacements de registres, ce qui est bénéfique pour la consommation et a donné plus de marge de manœuvre à Intel pour élargir la fenêtre d’opérations dans laquelle l’ordre d’exécution peut être optimisé. Celle-ci passe de 128 à 168 uops.


Toujours dans le souci d’alimenter au mieux ce cœur d’exécution, Intel a revu le front end en ajoutant tout d’abord un cache des instructions décodées qui a également l’avantage de réduire la consommation puisque la logique de décodage pourra se reposer plus souvent. Il est question d’un hit rate de 80%, ce qui veut donc dire que la plupart du temps Sandy Bridge pourra débiter plus de uops que Nehalem/Westmere, tout en faisant des économies d’énergie. Enfin, l’unité de prédiction de branchement est annoncée comme ayant été entièrement revue avec un historique plus long et une identification plus fine des branches à conserver.


Sandy Bridge : le cache
Une nouvelle structure de mémoire cache a été mise en place pour pouvoir en faire profiter la partie graphique, mais également pour la rendre plus modulaire. Intel ne parle d’ailleurs plus de cache L3 mais bien de Last Level Cache, puisque du point de vue graphique le cache n’est pas au même niveau que du point de vue des cores CPUs. Cette appellation permet d’éviter toute ambigüité à ce niveau.


Ce LLC est segmenté en morceaux de 2 Mo par core CPU. Un ring bus se charge de connecter tous les segments entre eux ainsi que le contrôleur graphique et le System Agent par lequel l’accès au contrôleur mémoire se fait. Intel précise que ce ring bus a l’avantage de ne pas augmenter la taille du die puisqu’il est câblé par-dessus le LLC. Notez qu’il s’agit en réalité d’un quadruple ring bus : bus de 256 bits pour les données + request bus + acknowledge bus + snoop bus.

Au niveau de son implémentation, vous pouvez remarquer sur le schéma qu’au lieu de mettre en place un ring bus bidirectionnel, Intel le fait passer deux fois par segment de cache et donc par core. La partie graphique dispose également de deux accès au ring bus, mais le Systen Agent se contente d’un seul. Cette architecture permet de limiter la latence de transmission, le chemin le plus court est toujours emprunté, sans avoir recours à la lourdeur d’un bus bidirectionnel. C’est le core graphique qui est situé à l’opposé du contrôleur mémoire puisque en cas de cache miss, il est le moins sensible à la latence des accès en mémoire centrale.


La latence lors de l’accès au LLC pourra varier suivant où l’information se trouve puisque chaque étape dans le ring bus nécessite 1 cycle. Le LLC fonctionne à la même fréquence que les cores de Sandy Bridge, contrairement à l’architecture actuelle.
Vos réactions

Top articles