Avec le Steamroller, AMD revient enfin dans la course !

Lors de l’arrivée de l’architecture processeur Bulldozer, AMD espérait révolutionner le marché. Hélas, la montée en gamme des puces Intel a limité les velléités de la firme de Sunnyvale dans le secteur du haut de gamme.

En 2012, la société a lancé la seconde génération de sa nouvelle architecture processeur, nom de code Piledriver, avec de meilleures performances à fréquence égale et de plus hautes fréquences maximales de fonctionnement. Le tout avec une finesse de gravure de 32 nm.

Steamroller… enfin convainquant ?

Malgré ses qualités, l’architecture Piledriver reste dans la ligne de Bulldozer. AMD devrait toutefois changer la donne avec Steamroller, qui propose une profonde refonte technologique.

La firme profite de la conférence Hot Chips pour lever le voile sur les avancées de Steamroller, lequel sera livré courant 2013.

Certaines améliorations offrent de réduire la quantité d’énergie consommée par le processeur. Des portions de la mémoire cache de niveau 2 pourront ainsi être éteintes lorsqu’elles ne sont pas utilisées.

De plus, l’unité de traitement sur les nombres flottants a été optimisée, certaines parties redondantes étant éliminées. La FPU consomme ainsi 15 % à 30 % d’énergie en moins.

Des flux optimisés

Divers changements permettent d’améliorer l’alimentation des unités de calcul en instructions, d’environ 30 % selon AMD.

Imaginez le cheminement du code dans le processeur : il traverse un long tunnel, au terme duquel son exécution est effective. À chaque cycle, l’exécution de plusieurs instructions s’achève (ce nombre dépend en partie de leur complexité). Toutefois, il faut bien plus d’un cycle à une instruction pour traverser l’ensemble du pipeline. C’est ce tunnel qui est ici optimisé.

Voici les trois points sur lesquels AMD a travaillé.

1/ Un tunnel plus large

La prise en charge des instructions est en progrès, avec un nouveau module de décodage à deux voies, soit une par unité de traitement des nombres entiers intégrée dans un bloc processeur, contre une pour deux unités précédemment.

Chaque unité de calcul sur les nombres entiers peut traiter quatre files d’instructions en parallèle. La répartition des instructions sur ces quatre voies est maintenant optimisée et permet d’en faire entrer jusqu’à 25 % de plus à chaque instant.

La suite en page deux…

2/ Moins d’erreurs de branchements

Les erreurs de prédictions de branchements sont en baisse de 20 %, grâce à l’utilisation de nouvelles techniques.

Dans le pipeline, l’enchainement des instructions suit un cours relativement linéaire. Problème, certaines instructions, par exemple des tests, mèneront – suivant leur résultat – à casser le cours du programme pour sauter vers une autre séquence d’instructions… ou pas. Reste à savoir quel chemin sera suivi, pour remplir le pipeline du code ad hoc.

C’est ici que la prédiction de branchement entre en jeu. Lors d’un test, elle choisit l’une des solutions possibles. S’il s’agit de la bonne, le contenu du pipeline est bon. S’il s’agit de la mauvaise, toutes les instructions en cours de traitement dans le pipeline doivent être supprimées.

Il faut alors vider le pipeline, le remplir du code voulu, puis attendre que les premières instructions arrivent en bout de tunnel (ce qui peut prendre de nombreux cycles – presque une vingtaine dans le cas des puces AMD). Beaucoup de temps perdu.

3/ Une mémoire cache mieux gérée

Avec l’architecture Steamroller, les ratés lors de l’accès à la mémoire cache dédiée aux instructions sont en baisse de 30 %.

Le cache de niveau 1 est une mémoire très rapide, beaucoup plus que la RAM d’un ordinateur. Sa taille reste toutefois limitée. Le processeur détermine quels éléments doivent y être stockés, là encore en prédisant leur potentielle utilisation.

Lors d’un traitement, si la suite d’instructions demandée n’est pas dans le cache, c’est tout le CPU qui se trouve au chômage technique, dans l’attente de l’arrivée du code demandé… en provenance de la mémoire centrale de l’ordinateur. Remplir le cache avec les instructions ad hoc est donc particulièrement important.

De la concurrence pour Intel ?

Mieux nourries et moins gourmandes, les puces Steamroller devraient proposer un rapport performance par watt 15 % supérieur à celui des Piledriver. D’un point de vue technologique, elles seront ainsi très compétitives face aux meilleures microarchitectures d’Intel.

D’autres gains devraient également être mesurés grâce à l’adoption de la gravure en 28 nm (FD-SOI ?), avec, à la clé, des gains en termes de fréquence de fonctionnement maximale et d’efficacité énergétique.

Crédit photo : © Chungking – Fotolia.com


Voir aussi
Dossier Silicon.fr – AMD : le renouveau ?