Bulldozer et FX-8150 chez AMD
David Legrand le 12 octobre 2011 (4202 lectures)
Nous ne reviendrons pas en détail sur l'architecture de Bulldozer, qui a déjà été évoquée de manière assez complète, notamment par Franck Delattre, concepteur de CPU-Z, chez Hardware.fr. Il y a néanmoins quelques points importants à connaître.
Une manière de maximiser l'efficacité à moindres frais au niveau du nombre de transistors, bien que cela ne soit pas sans défaut dans certaines conditions.
Avec Bulldozer, AMD a opté pour une approche relativement différente, mais qui poursuit le même but. Le constructeur a en effet pris deux coeurs qu'il a cherché à fusionner de manière INtelligente afin d'obtenir ce qu'il appelle des modules. Complète, l'architecture en embarque quatre qui seront vus par le système comme huit coeurs logiques.
On retrouve ainsi un front-end unique mais deux groupes au niveau du traitement des entiers, disposant chacun de son scheduler et d'un cache L1-D de 16 ko. Du côté des flottants, un seul scheduler accompagnera les deux unités 128 bits, qui pourront être exploitées de manière commune pour traiter des données sur 256 bits.
Le constructeur annonce qu'il gère le FMA4 (Fused Multiply-Add sur 4 opérandes) et du jeu d'instructions XOP qui serait spécialement utile pour ce qui concerne le multimédia. Les développeurs pourront en apprendre un peu plus en lisant cette documentation du constructeur. L'ensemble de ces fonctionnalités est d'ores et déjà supporté par le SP1 de Visual Studio 2010 ainsi que le compilateur open source Open64.
Enfin, chaque module disposera d'un cache L1-I de 64 ko et d'un cache L2 (8-way) partagé de 2 Mo. L'ensemble des coeurs se partagera un large cache L3 pas moins de 8 Mo (64-way). On arrive au final sur des valeurs totales de 384 ko, 8 Mo et 8 Mo pour les caches L1 / L2 / L3, là ou Sandy Bridge se contente de 256 ko / 1 Mo / 8 Mo.
La société aurait néanmoins travaillé avec Microsoft afin de résoudre ces problèmes, et annonce que Windows 8 lui permettra de grappiller jusqu'à 10 % de performances supplémentaires.
En plus de cette nouvelle organisation, AMD annonce que les optimisations ont été nombreuses, que ce soit au niveau du front-end, des caches, des unités de traitement ou même de la prédiction de branchement. On notera le passage de trois à quatre instructions pouvant être décodées par cycle ou l'utilisation d'un Physical Register File (comme au sein de Sandy Bridge).
Du côté du contrôleur mémoire, on reste sur du double canal capable de gérer de la mémoire ECC (2x 72 bits). La fréquence maximale est de 1866 MHz, mais seulement avec deux barrettes. Au-delà, on repassera à 1600 MHz.
Au final, on se retrouve donc avec une puce d'une taille plutôt imposante : 315 mm² pour pas moins de 1.2 (2) milliards de transistors. À titre de comparaison, le Phenom II X6 était pour sa part composé de 904 millions de transistors au sein d'un die de 346 mm².
Le passage du 45 nm au 32 nm semble donc avoir fait du bien à AMD puisqu'il lui permet de placer deux fois plus de transistors dans une puce de taille réduite. Néanmoins, du côté d'Intel, Sandy Bridge se contente de 214 mm² pour un peu moins d'un milliard de transistors, le tout avec une puce graphique intégrée.
Cores ou Modules ? Mon coeur balance
Tout d'abord, le nombre de coeurs et la notion de modules. Pour rappel, Intel propose à nouveau depuis quelques générations son Hyper Threading. Le principe est simple : le système voit deux fois plus de coeurs que ceux présents au sein du processeur, qui se charge alors de remplir au mieux son pipeline.Une manière de maximiser l'efficacité à moindres frais au niveau du nombre de transistors, bien que cela ne soit pas sans défaut dans certaines conditions.
Avec Bulldozer, AMD a opté pour une approche relativement différente, mais qui poursuit le même but. Le constructeur a en effet pris deux coeurs qu'il a cherché à fusionner de manière INtelligente afin d'obtenir ce qu'il appelle des modules. Complète, l'architecture en embarque quatre qui seront vus par le système comme huit coeurs logiques.
On retrouve ainsi un front-end unique mais deux groupes au niveau du traitement des entiers, disposant chacun de son scheduler et d'un cache L1-D de 16 ko. Du côté des flottants, un seul scheduler accompagnera les deux unités 128 bits, qui pourront être exploitées de manière commune pour traiter des données sur 256 bits.
Avec Bulldozer, AMD fait le plein au niveau des instructions
AMD supporte en effet l'AVX d'Intel avec cette nouvelle architecture en plus des habituels SSE3, 4.1 et 4.2 sur lesquels les Phenom avaient fait l'impasse. Les instructions AES-NI (chiffrement) et PCLMULQDQ (multiplication sans report) introduites par Intel avec la génération Westmere sont aussi intégrées.Le constructeur annonce qu'il gère le FMA4 (Fused Multiply-Add sur 4 opérandes) et du jeu d'instructions XOP qui serait spécialement utile pour ce qui concerne le multimédia. Les développeurs pourront en apprendre un peu plus en lisant cette documentation du constructeur. L'ensemble de ces fonctionnalités est d'ores et déjà supporté par le SP1 de Visual Studio 2010 ainsi que le compilateur open source Open64.
Enfin, chaque module disposera d'un cache L1-I de 64 ko et d'un cache L2 (8-way) partagé de 2 Mo. L'ensemble des coeurs se partagera un large cache L3 pas moins de 8 Mo (64-way). On arrive au final sur des valeurs totales de 384 ko, 8 Mo et 8 Mo pour les caches L1 / L2 / L3, là ou Sandy Bridge se contente de 256 ko / 1 Mo / 8 Mo.
Windows 7 n'aime pas trop les modules d'AMD... mais Windows 8, si
Mais cette gestion des coeurs / modules, qui se veut novatrice n'est néanmoins pas sans poser des problèmes. En effet, AMD indique au sein de sa documentation que Windows 7 n'est pas totalement apte à la gérer de manière optimale. Ainsi, l'utilisation de l'ensemble des coeurs n'est pas toujours au rendez-vous.La société aurait néanmoins travaillé avec Microsoft afin de résoudre ces problèmes, et annonce que Windows 8 lui permettra de grappiller jusqu'à 10 % de performances supplémentaires.
En plus de cette nouvelle organisation, AMD annonce que les optimisations ont été nombreuses, que ce soit au niveau du front-end, des caches, des unités de traitement ou même de la prédiction de branchement. On notera le passage de trois à quatre instructions pouvant être décodées par cycle ou l'utilisation d'un Physical Register File (comme au sein de Sandy Bridge).
Du côté du contrôleur mémoire, on reste sur du double canal capable de gérer de la mémoire ECC (2x 72 bits). La fréquence maximale est de 1866 MHz, mais seulement avec deux barrettes. Au-delà, on repassera à 1600 MHz.
Bulldozer : 1.2x plus de transistors que dans Sandy Bridge, l'IGP en moins
Bien que la puce dispose de quatre liens HyperTransport 3.0, ils seront réservés à la version dédiée aux serveurs de la puce. Dans les AMD FX (Zambezi), un seul sera utilisé.Au final, on se retrouve donc avec une puce d'une taille plutôt imposante : 315 mm² pour pas moins de 1.2 (
Le passage du 45 nm au 32 nm semble donc avoir fait du bien à AMD puisqu'il lui permet de placer deux fois plus de transistors dans une puce de taille réduite. Néanmoins, du côté d'Intel, Sandy Bridge se contente de 214 mm² pour un peu moins d'un milliard de transistors, le tout avec une puce graphique intégrée.
Sommaire
- 1. Introduction & socket AM3
- 2. AMD FX : l'architecture Bulldozer, la puce
- 3. AMD FX : gestion de l'énergie, Turbo Core et overclocking




























