Se connecter avec
S'enregistrer | Connectez-vous

CPU + GPU = APU

APU AMD A8-3500M : le dossier Llano
Par

Comme nous avons pu le voir dans les pages qui précèdent, les portions CPU et GPU du Llano ne sont pas très différentes de ce qu’AMD propose déjà par ailleurs. Ce qui rend le projet Fusion unique, cependant, réside dans la combinaison de ces deux éléments au sein d’une même puce. Les représentants de la firme soulignent que le véritable challenge qui s’est présenté lors de la conception du Llano a été de faire en sorte que tout le matériel fonctionne de concert, et ce, de la manière la plus efficace et économe possible. Autrement dit, le plus difficile a été la tuyauterie.

Le Llano contient essentiellement cinq grands composants qui doivent communiquer entre eux : la portion CPU, la portion GPU, le northbridge, le bloc d’entrées/sorties traditionnel et le bloc d’entrées/sorties vers la mémoire DDR. La liaison processeur-northbridge n’a rien de nouveau ; nous allons donc nous concentrer sur ce que nous n’avons pas encore vu, à savoir les liaisons GPU-northbridge. Étant donné qu’il existe deux scénarios d’utilisation du GPU, il y a également deux liaisons dédiées.

La première liaison s’appelle « bus mémoire Radeon ». En matière de graphismes, une faible bande passante est synonyme de faibles performances ; le GPU ne peut donc se contenter de la même interface mémoire que le processeur. Le bus mémoire Radeon est une liaison allant du GPU à la mémoire via le northbridge et permettant au moteur graphique de bénéficier d’un accès prioritaire à la RAM pour les opérations nécessitant une bande passante élevée. Mike Goddard, ingénieur en chef chez AMD, a clairement indiqué que ce lien était absolument essentiel si l’on voulait que le Llano affiche des performances dignes d’une carte graphique normale.

Mais le GPU a également besoin d’une deuxième liaison, celle qui fait du Llano un véritable APU plutôt qu’une simple CPU+GPU juxtaposés sur le même die : la liaison Fusion Compute. Traditionnellement, les périphériques d’E/S accèdent au cache du processeur via l’interface PCI Express. Pour les opérations de traitement exécutées par le processeur graphique, cela représente toutefois un goulot d’étranglement ; AMD a donc amélioré cette liaison afin de donner au GPU un accès plus rapide aux données partagées avec le CPU et lui permettre d’extraire plus rapidement le contenu de cette mémoire. La liaison Fusion Compute est l’élément qui permet au Llano d’afficher des performances de traitement élevées sans faire enfler la consommation.

Gestion de la consommation

L’unes des trois grandes forces du Llano selon AMD réside dans ce que la firme appelle « AMD AllDay™ Power ». Le marché des portables étant idéal pour l’APU, il est effectivement assez logique d’axer les optimisations (et la communication) sur la consommation énergétique. En consiste donc cette fonctionnalité ?

La consommation du Llano est répartie sur deux rails de tension principaux : le rail VDD (qui alimente les cores du CPU) et le plan VDDNB (qui alimente le GPU, le bloc de décodage UVD, le contrôleur de mémoire graphique et le northbridge).

On pourrait se dire qu’alimenter les quatre cores du processeur à l’aide d’un seul et unique rail n’est pas ce qu’il y a de plus efficace en termes de consommation, surtout lorsque le système d’exploitation n’a besoin que d’un seul core. Mais cette source d’alimentation unique possède deux modes de fonctionnement distincts : Core C6 (CC6) et Package C6 (PC6). Le mode CC6 est capable d’éteindre les cores du CPU un par un, tandis que le mode PC6 peut réduire l’alimentation du rail tout entier. On bénéficie donc de la finesse nécessaire pour gérer toutes sortes de situations.

Le plan VDDNB est un peu plus complexe, ce qui est logique car il gère plus de composants. En termes d’efficacité pure, ce n’est pas une situation idéale, car le rail doit toujours fonctionner à la tension requise par le composant ayant les besoins les plus élevés. Cette décision a été prise afin d’éviter les coûts liés à l’ajout de régulateurs. Par conséquent, la tension et le P-state varie en fonction d’une série de facteurs : le P-state du northbridge, celui du GPU (qui est généralement contrôlé par le pilote mais également être altéré matériellement), la vitesse du bus PCI Express (les périphériques PCIe 2.0 nécessitent une tension plus élevée) et la charge de travail pensant sur le moteur UVD.

Mais si la tension est effectivement commune aux différents composants, ceux-ci peuvent être activés ou désactivés à loisir : le GPU peut être ralenti s’il est inutilisé (via un seuil programmable) ou si le pilote détecte que la charge de travail est confiée à la carte graphique, par exemple. Le contrôleur de mémoire graphique, potentiellement très gourmand, peut également être allumé ou éteint selon les besoins. Même chose pour le bloc UVD, qui est désactivé lorsqu’il n’est pas utilisé.

On note également plusieurs optimisations en matière de consommation liée à l’affichage et aux graphismes : la compression dans le frame buffer, bien entendu, mais également une technique nommée Adaptive Backlight Modulation (ABM), qui analyse les images à afficher et règle le niveau de rétroéclairage et de luminosité afin d’afficher des images aussi proches que possibles des originales en économisant un maximum d’énergie.

L’illustration ci-dessous permet de mieux se représenter la granularité de la consommation de l’APU : les composants actifs sont en vert, les éléments désactivés en bleu. Il ne s’agit cependant que de deux exemples : d’autres composants sont désactivables, par exemple, les cores de la partie CPU.

Turbo Core

Le Turbo Core n’a rien de neuf : AMD propose cette fonction, qui consiste à booster les fréquences lorsque l’enveloppe thermique le permet, depuis les Phenom II X6. La différence réside dans le fait que le Llano équilibre le comportement du CPU et du GPU afin de ne jamais dépasser le TDP.

Mike Goddard nous a confié qu’AMD avait pour l’occasion utilisé une approche novatrice, dans le sens où cette fonction est ici basée sur les performances et non sur des mesures analogiques de température. Le module APM (Advanced Power Management) numérique mesure l’activité de l’APU afin d’estimer sa consommation et modifie le P-state afin de ne pas dépasser le TDP de la puce. L’avantage d’une telle approche réside dans le fait que les performances devraient être plus cohérentes que lorsque le Turbo est uniquement basé sur les mesures de température ; le problème, bien entendu, est qu’il est possible que l’APM sous-estime la marge réellement disponible et n’exploite pas à fond les possibilités de la puce.

Quoi qu’il en soit, lorsque l’APM décide qu’il y a de la marge thermique, il invoque un P-state (invisible pour le système d’exploitation) nommé P-boost qui accroît les fréquences côté CPU. N’oublions pas que la portion GPU du Llano n’est pas accélérable au-delà de sa fréquence d’usine (bien qu’elle puisse être ralentie afin de limiter la consommation et la dissipation thermique si nécessaire) : tout cela ne concerne que le processeur. Il convient également de noter que le GPU a toujours la priorité : en cas de charge graphique, le processeur est donc moins susceptible de bénéficier du Turbo Core.

Reste un dernier point à mentionner : si la température n’est pas le principal facteur de modification du P-state, elle reste utilisée comme garde-fou. Il existe en effet un scénario dans lequel le CPU et le GPU sont susceptibles d’être mis à contribution au-delà du TDP du Llano : en cas de charge de travail OpenCL. Étant donné que le GPU est plus efficace pour ce genre de tâches, il se voit accorder la priorité, mais le CPU est également poussé dans ses derniers retranchements ; si la température dépasse un certain seuil, le processeur peut passer dans un état inférieur à P0 (P1 ou P2, par exemple) afin de la faire baisser. AMD nous a expliqué qu’il s’agissait du seul scénario dans lequel les cores CPU du Llano fonctionnaient en-deçà de leur vitesse nominale, mais comme vous le voyez, cela peut se produire.

Malheureusement, nous ne sommes pas en mesure de tester ces différents scénarios, car il n’existe aucun utilitaire capable de mesure la fréquence réelle des cores CPU d’un Llano. Même l’utilitaire fourni par AMD indique en permanence, et de manière incorrecte, que la fréquence du CPU est à son niveau nominal ; selon ce logiciel, le Turbo Core ne s’enclenche jamais, même lorsque le GPU est au repos, ce qui est évidemment faux. Nous souhaitons vérifier par nous-mêmes les affirmations de la firme et déterminer par nos propres moyens quels sont les scénarios qui forcent l’APU à réduire ses fréquences. Vous pouvez donc être certains que nous reviendront sur le sujet lorsque nous aurons trouvé le moyen de mesurer correctement ce qui se passe à l’intérieur du Llano lorsqu’on y applique différentes charges de travail.

Rappelons que le moteur graphique est pour l’instant incapable d’aller au-delà de sa fréquence d’usine, mais selon AMD, cela pourrait changer à l’avenir. Il est donc possible que l’architecture Trinity soit plus flexible sur ce point.