L'architecture AMD Bulldozer

Publié le 13/05/2011 par
Imprimer
Jeux d'instructions
Bulldozer supporte 100% des jeux d'instructions x86 actuels, y compris l'AVX (Advanced Vector Extension), inauguré par Intel sur son Sandy Bridge. A titre de rappel, AVX est un jeu d'instructions SIMD oprant sur des nombres flottants et dont les opérandes peuvent atteindre 256 bits. Un des atouts de ce nouveau jeu d'instructions réside dans l'existence d'instructions destinées à faciliter la mise en forme des données dans les registres 256 bits, facilitant ainsi le travail des développeurs.

Bulldozer propose quelques instructions propres, regroupées sous les noms de XOP, FMA4, et CVT16. Ces jeux d'instructions correspondent en réalité au SSE5 (annoncé par AMD en 2007 mais jamais implémenté) adapté au format AVX. XOP opère principalement sur des opérandes entières, FMA4 sur les flottants 128-bits, et CVT16 regroupe des instructions de conversion de flottants haute précision en flottants de moyenne et basse précision.

A noter qu'AMD a été forcé d'utiliser un codage de ses instructions propres différent de celui d'Intel, afin d'éviter toute interférence avec une future extension de l'AVX. Reste à espérer pour AMD que les compilateurs adopteront cette spécificité, sans quoi personne n'utilisera ces instructions.
Gestion d'énergie
Comme nous l'avons vu, l'architecture du Bulldozer repose sur un module qui est étudié pour fournir 80% de la performance de deux cores pour une consommation deux fois moindre. A ce titre, Bulldozer peut être qualifié d'architecture économe en énergie. Mais elle intègre également son lot de mécanismes destinés à baisser la consommation d'énergie du processeur en utilisation courante.

En plus du PowerNow! (l'équivalent du SpeedStep d'Intel) qui opère sur le processeur dans sa globalité, Bulldozer intègre des mécanismes de granularité inférieure, c'est-à-dire qui agissent au niveau des unités. Outre le fait que certaines unités peuvent être mises en veille, certaines fonctionnalités se révèlent intéressantes, notamment un mode de calcul de la FPU « basse consommation » (donc basse précision). Les caches peuvent être également mis en veille, et pour les plus gros (L3 notamment) la veille ne peut concerner que certains secteurs. Un mécanisme qui existe depuis le Pentium M chez Intel !


A noter que certaines implémentations de Bulldozer incluent un mode Turbo, asservit sur la puissance consommée qui est évaluée à chaque instant par le processeur.
Vos réactions

Top articles