Tout savoir du Sandy Bridge d'Intel
David Legrand le 03 janvier 2011 (3562 lectures)
Alors que beaucoup ont longtemps pensé que Sandy Bridge était une simple reprise de Nehalem, l'intégration de la partie graphique en plus, dans la pratique, les choses sont un peu différentes.
AVX et la partie graphique intégrée : ça change tout !
En effet, l'arrivée de la partie graphique a demandé de nombreux changements, ne serait-ce qu'au niveau de la gestion du cache, qui est désormais connu sous le nom de cache de dernier niveau (Last Level Cache, ou LLC). Celui-ci est partagé au sein de l'ensemble du processeur et il est relié aux différents éléments par un ensemble de quatre « Ring bus » qui fonctionnent à la fréquence des cores.
Chaque élément peut envoyer ou recevoir 32 octets par cycle, et c'est systématiquement le chemin le plus court qui est emprunté au sein de ce cache, qui maximise ainsi le débit tout en réduisant la latence.
L'autre élément qui a nécessité de nombreuses modifications est AVX. Ce jeu d'instructions vectorielles permet de gérer désormais des données de 256 bits. Pour en profiter, il faudra disposer de logiciels qui auront été revus et recompilés pour l'occasion, mais aussi d'un système d'exploitation compatible.
Pour profiter d'AVX... il faudra encore patienter
Sous Windows 7 ce devrait être le cas à partir de la SP1 (dont la RC est disponible), alors que sous Linux il faudra au minimum un noyau 2.6.34. Pour le moment, à notre connaissance, aucun outil n'en tire partie excepté un test de mesure de performance d'AIDA64. Cela devrait néanmoins changer dans le courant de l'année.
La majorité des outils pour développeurs, qu'ils soient signés Intel ou non (GCC, Visual Studio...) sont d'ores et déjà parés.
Ainsi, tout le pipeline a subit des modifications. Le « front end » a droit à un cache dédié aux micro-opérations (80 % de hit annoncé) et a une unité de prédiction de branchement revue et corrigée, notamment au niveau de son historique et de sa capacité à mettre de côté des branches souvent exploitées.
Les registres sont aussi largement augmentés et Intel revient au PRF (Physical Register File) exploité dans le Pentium IV mais aussi dans les prochains Bobcat et Bulldozer d'AMD.
Des unités d'exécution bien plus véloces, merci AVX ?
Les unités d'exécutions gagnent en fonctionnalités et ce sont désormais jusqu'à 8 FLOPS (double précision) par cycle qui peuvent être traitées, soit le double de l'architecture Nehalem. Afin de maximiser les performances d'AVX, tout en économisant sur la taille nécessaire au sein du die, Intel s'est aussi arrangé pour pouvoir réorganiser ses datapaths afin de pouvoir traiter les instructions de 256 bits sur les ports existants.
Ainsi, Sandy Bridge est capable au final de traiter en un même cycle un MUL, un ADD et un LOAD de 256 bits.
Les ports 2 et 3 sont désormais symétriques, et peuvent effectuer un LOAD ou un STORE, un changement nécessaire, notamment au niveau du LOAD, en raison des performances doublées au niveau de la capacité de traitement FP de Sandy Bridge et afin d'alimenter la bête. Le cache L1 de données est adapté en conséquence est il est désormais de type « 8-way associative ».
D'autres améliorations ont été apportées, notamment au niveau des performances des instructions AES-NI, de SHLD pour le SHA-1, de l'ADC (ADD with Carry) ou des multiplications.
Du côté du contrôleur mémoire, par contre, Intel livre par contre assez peu d'informations. Tout juste sait-on qu'il est capable de gérer officiellement la DDR-3 @ 1333 MHz sur deux canaux, avec un maximum de 8 ports (soit 32 Go au maximum avec des barettes de 4 Go). Dans la pratique, on devrait pouvoir monter à bien plus, les constructeur annonçant d'ores et déjà le support d'une fréquence de 2100 MHz sur leurs cartes mères.
Pour ceux qui sont des amateurs de détails, nous ne pouvons que vous conseiller de lire cet article de Real World Technologies (en anglais).
AVX et la partie graphique intégrée : ça change tout !
En effet, l'arrivée de la partie graphique a demandé de nombreux changements, ne serait-ce qu'au niveau de la gestion du cache, qui est désormais connu sous le nom de cache de dernier niveau (Last Level Cache, ou LLC). Celui-ci est partagé au sein de l'ensemble du processeur et il est relié aux différents éléments par un ensemble de quatre « Ring bus » qui fonctionnent à la fréquence des cores.
Chaque élément peut envoyer ou recevoir 32 octets par cycle, et c'est systématiquement le chemin le plus court qui est emprunté au sein de ce cache, qui maximise ainsi le débit tout en réduisant la latence.
L'autre élément qui a nécessité de nombreuses modifications est AVX. Ce jeu d'instructions vectorielles permet de gérer désormais des données de 256 bits. Pour en profiter, il faudra disposer de logiciels qui auront été revus et recompilés pour l'occasion, mais aussi d'un système d'exploitation compatible.
Pour profiter d'AVX... il faudra encore patienter
Sous Windows 7 ce devrait être le cas à partir de la SP1 (dont la RC est disponible), alors que sous Linux il faudra au minimum un noyau 2.6.34. Pour le moment, à notre connaissance, aucun outil n'en tire partie excepté un test de mesure de performance d'AIDA64. Cela devrait néanmoins changer dans le courant de l'année.
La majorité des outils pour développeurs, qu'ils soient signés Intel ou non (GCC, Visual Studio...) sont d'ores et déjà parés.
Ainsi, tout le pipeline a subit des modifications. Le « front end » a droit à un cache dédié aux micro-opérations (80 % de hit annoncé) et a une unité de prédiction de branchement revue et corrigée, notamment au niveau de son historique et de sa capacité à mettre de côté des branches souvent exploitées.
Les registres sont aussi largement augmentés et Intel revient au PRF (Physical Register File) exploité dans le Pentium IV mais aussi dans les prochains Bobcat et Bulldozer d'AMD.
Des unités d'exécution bien plus véloces, merci AVX ?
Les unités d'exécutions gagnent en fonctionnalités et ce sont désormais jusqu'à 8 FLOPS (double précision) par cycle qui peuvent être traitées, soit le double de l'architecture Nehalem. Afin de maximiser les performances d'AVX, tout en économisant sur la taille nécessaire au sein du die, Intel s'est aussi arrangé pour pouvoir réorganiser ses datapaths afin de pouvoir traiter les instructions de 256 bits sur les ports existants.
Ainsi, Sandy Bridge est capable au final de traiter en un même cycle un MUL, un ADD et un LOAD de 256 bits.
Les ports 2 et 3 sont désormais symétriques, et peuvent effectuer un LOAD ou un STORE, un changement nécessaire, notamment au niveau du LOAD, en raison des performances doublées au niveau de la capacité de traitement FP de Sandy Bridge et afin d'alimenter la bête. Le cache L1 de données est adapté en conséquence est il est désormais de type « 8-way associative ».
D'autres améliorations ont été apportées, notamment au niveau des performances des instructions AES-NI, de SHLD pour le SHA-1, de l'ADC (ADD with Carry) ou des multiplications.
Du côté du contrôleur mémoire, par contre, Intel livre par contre assez peu d'informations. Tout juste sait-on qu'il est capable de gérer officiellement la DDR-3 @ 1333 MHz sur deux canaux, avec un maximum de 8 ports (soit 32 Go au maximum avec des barettes de 4 Go). Dans la pratique, on devrait pouvoir monter à bien plus, les constructeur annonçant d'ores et déjà le support d'une fréquence de 2100 MHz sur leurs cartes mères.
Pour ceux qui sont des amateurs de détails, nous ne pouvons que vous conseiller de lire cet article de Real World Technologies (en anglais).
Sommaire
- 1. Introduction
- 2. Sandy Bridge : qu’est-ce que c’est ?
- 3. Sandy Bridge : une architecture revue et corrigée
- 4. Sandy Bridge : Turbo passe à la version 2.0
































