Qu’est-ce que l’architecture big.LITTLE ?
ARM est actuellement l'architecture CPU la plus utilisée au monde.
Il n'alimente peut-être pas votre ordinateur, mais il alimente presque certainement votre smartphone ou votre tablette. De plus, Apple utilise désormais l'architecture ARM sur ses conceptions de processeurs internes.
La raison en est immédiatement claire.
Les processeurs ARM peuvent avoir des performances étonnantes tout en parvenant à maintenir une faible consommation d'énergie. Si bas, en fait, qu'ils peuvent s'adapter à l'intérieur de smartphones minces avec refroidissement passif. Une grande partie de cette efficacité énergétique est attribuée à la configuration de base big.LITTLE, qui est utilisée par Apple, Qualcomm, MediaTek et d'autres fabricants de processeurs.
Mais qu'est-ce qui est exactement big.LITTLE, et pourquoi est-ce si important ?
Qu'est-ce que l'architecture CPU big.LITTLE d'ARM ?
La façon dont la plupart des processeurs modernes fonctionnent est qu'ils ont généralement plusieurs cœurs entre lesquels le système divise les tâches. Normalement, ces processeurs multicœurs comportent des cœurs identiques capables de traiter les mêmes instructions et d'atteindre les mêmes vitesses d'horloge. Toutes les tâches, grandes ou petites, sont gérées et réparties entre ces cœurs. Ce n'est pas le cas avec les processeurs ARM big.LITTLE.
Bien qu'il existe des processeurs ARM avec des configurations de base « conventionnelles », les conceptions de processeurs basées sur big.LITTLE comportent deux « clusters » principaux avec des cœurs conçus différemment pour différentes tâches. Dans ces types de processeurs, nous verrons souvent des cœurs « hautes performances » conçus pour prendre en charge des tâches exigeantes et des cœurs « économes en énergie », qui gèrent des tâches plus conventionnelles. Ces cœurs hautes performances sont généralement de haute spécification et gourmands en énergie et atteignent des vitesses d'horloge nettement plus élevées, tandis que les cœurs économes en énergie sont plus faibles, moins cadencés et consomment beaucoup moins d'énergie.
Dans un smartphone, ces « tâches conventionnelles » comprennent les SMS, les e-mails, les appels, l'audio, etc., qui constituent la majorité des tâches courantes qu'un smartphone doit effectuer. Ceux-ci sont destinés à être déchargés sur les cœurs économes en énergie, tandis que les cœurs plus gros et hautes performances sont réservés à d'autres tâches plus exigeantes, comme les jeux mobiles et la navigation sur le Web. Le système utilise une planification globale des tâches, ou multitraitement hétérogène (HMP), pour répartir les charges de travail entre tous les différents cœurs de processeur.
L'avantage est double. Étant donné que les tâches quotidiennes sont gérées par les cœurs plus petits, qui sont par nature moins gourmands en énergie, ces processeurs consomment généralement beaucoup moins d'énergie. Ils ont également de meilleures performances car les tâches plus exigeantes ont un cluster de cœurs de processeur pour elles-mêmes. Vous obtenez un processeur à la fois plus performant et plus économe en énergie.
Une idée révolutionnaire avec une histoire rocheuse
Avant l'arrivée de big.LITTLE, tous les processeurs ARM multicœurs comportaient un arrangement de cœurs identiques, tout comme les processeurs x86. big.LITTLE a été introduit pour la première fois en octobre 2011, et il a été introduit avec deux nouveaux modèles de base, le Cortex-A7 et le Cortex-A15. Dans ce système proposé, les deux conceptions de noyau pourraient être associées : le Cortex-A15 agirait comme le gros noyau, tandis que le Cortex-A7 agirait comme le petit noyau. À partir de là, les conceptions de base à venir d'ARM Holdings seraient toutes compatibles avec big.LITTLE, car les fabricants de silicium l'ont jugé approprié.
L'un des premiers processeurs à lancer avec cette conception de base était l'Exynos 5 Octa 5410 de Samsung, qui alimentait le Samsung Galaxy S4 en 2013. Il comportait quatre cœurs Cortex-A7 cadencés à 1,2 GHz et quatre cœurs Cortex-A15 cadencés à 1,6 GHz pour un total de 8 cœurs.
La façon dont le planificateur de ces processeurs big.LITTLE antérieurs fonctionnait, cependant, était assez maladroit. Ces anciens planificateurs utilisaient la « commutation en cluster » pour traiter des clusters entiers à la fois. Si la charge sur l'ensemble du processeur est faible, il utilisera les cœurs à faible consommation, mais si elle augmente, toute la charge de travail sera transférée vers les gros cœurs. C'est certainement une façon de procéder, mais rétrospectivement, c'était une façon assez inefficace.
Ensuite, nous avons vu le commutateur intégré au noyau. Ici, les gros cœurs sont associés à de petits cœurs, et les deux sont traités par le planificateur comme un seul « cœur virtuel ». Selon qu'un cœur virtuel a reçu une charge faible ou élevée, il basculera entre l'utilisation du petit cœur et du gros cœur.
À partir de là, nous nous sommes retrouvés avec un multi-traitement hétérogène. Ici, chaque noyau peut être adressé individuellement. Le planificateur sait quels cœurs sont gros et quels cœurs sont petits et procède à la répartition des charges de travail à partir de là, en répartissant les charges inférieures sur les cœurs économes en énergie et les charges plus importantes sur les cœurs hautes performances.
Comment big.LITTLE a-t-il changé le paysage du processeur ?
Les processeurs ARM avaient déjà une bonne réputation pour fournir un équilibre décent entre les performances et l'efficacité énergétique. Cependant, sur ces processeurs, une faible consommation d'énergie est essentielle. Après tout, ces processeurs sont utilisés dans les smartphones, et les smartphones sont petits, ont des corps minces et ne disposent d'aucun type de refroidissement actif. Les contraintes thermiques sont donc très faibles et les processeurs doivent consommer de l'énergie pour les respecter.
big.LITTLE, cependant, était énorme car il était capable d'améliorer simultanément les performances et l'efficacité énergétique. De nos jours, la plupart, sinon la totalité, des processeurs ARM sont basés sur une conception basée sur big.LITTLE, même les téléphones Apple. À présent, Intel est sur le point de prendre une page ou deux de cette architecture sur ses processeurs x86 à l'avenir : les processeurs Alder Lake introduiront le concept d'informatique hétérogène dans le paysage des PC.
Les avantages sont tout simplement trop énormes pour être niés.
Qu'est-ce que DynamIQ ?
DynamIQ est une nouvelle architecture de base annoncée par ARM en mai 2017 et succède en quelque sorte à big.LITTLE. DynamIQ est conçu pour pousser encore plus loin ce que big.LITTLE fait avec l'informatique hétérogène, permettant plus de flexibilité et une meilleure évolutivité.
Alors que big.LITTLE était limité à seulement deux clusters, DynamIQ augmente le nombre maximal de cœurs par cluster à 8, permet des conceptions de plusieurs cœurs dans un seul cluster et permet jusqu'à 32 clusters par CPU. De plus, DynamIQ fournit une régulation de tension par cœur plus précise et de meilleures vitesses de cache L2. En bref, il est assez similaire à big.LITTLE et fait avancer son concept de base, sauf qu'il permet désormais plus de flexibilité en ayant plusieurs clusters et conceptions de base.
Un exemple de processeur DynamIQ est le Snapdragon 888, la puce phare de Qualcomm pour l'année 2021. Dans les processeurs big.LITTLE, il est courant de voir des clusters de grands et petits cœurs.
Cependant, dans le Snapdragon 888, il existe un « cœur principal », un cœur Cortex-X1 cadencé à 2,84 GHz, puis un cluster hautes performances plus typique (maintenant un niveau secondaire), comprenant trois cœurs Cortex-A78 cadencés à 2,42 GHz . Enfin, les cœurs économes en énergie sont quatre cœurs Cortex-A55 cadencés à 1,8 GHz. C'est une configuration octa-core, mais elle utilise trois conceptions de base différentes destinées à s'attaquer à différentes tâches.
Un remaniement complet de l'industrie
Il est sûr de dire que l'introduction de big.LITTLE et le concept d'informatique hétérogène ont complètement changé le jeu CPU. Les processeurs ARM échangent aujourd'hui des combats avec les plus gros processeurs du côté x86 de l'étang tout en maintenant la consommation d'énergie et la durée de vie de la batterie au minimum, et tout cela grâce à big.LITTLE et son successeur, DynamIQ.
Nous sommes vraiment enthousiasmés par l'avenir des processeurs ARM.