Il faut reconnaître que le multicœur hétérogène n’est pas un nouveau concept, loin de là, car dans le monde des appareils mobiles, il existe depuis un certain temps, et le nom vous sera sûrement familier. gros petit Architecture ARM ou Intel Lakefield, qui l’utilise également. Dans tous les cas, dans cet article, nous allons approfondir le concept afin que vous puissiez comprendre tous ses tenants et aboutissants de la manière la plus simple possible.
Qu’est-ce que le multicœur hétérogène ?
Nous avons déjà parlé à d’autres occasions de cette disposition dans la conception interne des processeurs, qui consiste en ce que tous les cœurs ne sont pas les mêmes mais qu’il existe différents clusters (groupes, pour résumer) de cœurs différents, c’est précisément pourquoi c’est ce qu’on appelle le multicœur hétérogène. Pour mettre cela en perspective, imaginez par exemple un processeur Intel Core i7-8700K, qui possède six cœurs physiques ; en cela, les six cœurs sont exactement les mêmes, ils travaillent en harmonie à la même vitesse et effectuent les tâches assignées de manière égale, en divisant le travail entre tous.
La différence par rapport à un processeur « normal » comme ceux que nous avons utilisés jusqu’à présent dans les PC avec un processeur à multicœur hétérogène est que dans ce dernier, tous les cœurs ne sont pas identiques, mais plutôt plusieurs groupes de cœurs qui peuvent être complètement différent en termes de taille physique (et avec elle, en termes de nombre de transistors), rapidité d’exploitation et multiplicateur, mais aussi (comme nous l’expliquerons par la suite) en termes d’équilibrage de charge.
Ainsi, par exemple vous pouvez voir dans l’image ci-dessous un processeur MediaTek Helio X20 qui possède un cluster quad-core Cortex-53 ULP très basse consommation, un autre cluster quad-core Cortex-A53 plus puissant mais très efficace et enfin un troisième cluster avec deux cœurs Cortex-A72 hautes performances.
Il s’agit d’un processeur multicœur hétérogène, et on l’appelle ainsi littéralement parce qu’il a plusieurs cœurs (multicœur) qui sont différents (hétérogènes) plutôt que d’être un calcul homogène où tous les cœurs sont les mêmes. Comme nous l’avons dit précédemment, chacun de ces clusters est différent physiquement et aussi empiriquement en termes de vitesse, de multiplicateur et même de tension, et peut même se comporter comme s’il s’agissait de processeurs différents.
Pourquoi cette conception est-elle plus efficace ?
Un exemple d’informatique hétérogène se trouve dans l’architecture big.LITTLE d’ARM, où des systèmes multicœurs hétérogènes sont utilisés où ils partagent tous le même ISA, c’est-à-dire que tous les cœurs peuvent exécuter le même ensemble d’instructions et effectuer toute tâche qui leur est confiée. . Cela signifie que lorsque le système est inactif, le processeur peut désactiver les cœurs les plus puissants pour économiser de l’énergie et ainsi réduire la consommation et la température, améliorant considérablement l’efficacité.
Au moment où plus de puissance est requise de la part du CPU, il active le prochain cluster de cœurs afin que les performances obtenues soient celles attendues, et si nécessaire, il peut activer les cœurs hautes performances pour délivrer tout leur potentiel. Ce système est très efficace car au moment où le processeur est nécessaire il peut délivrer toute sa puissance, mais comme chaque cluster peut se comporter comme un processeur indépendant en lui-même, il est capable de désactiver les groupes centraux quand ceux-ci ne sont pas nécessaires, économisant beaucoup d’énergie.
Vous serez sûrement nombreux à dire que dans un processeur à cœurs homogènes, les cœurs pourraient également être désactivés, mais le « secret » des processeurs hétérogènes est d’avoir des cœurs de faible puissance, suffisants pour des tâches basiques qui ne nécessitent pas beaucoup de puissance et qui consommeraient moins que les cœurs à usage général qui ont été équipés de processeurs jusqu’à présent ; En d’autres termes, en ayant des noyaux spécifiques à faible consommation, on obtient un bien meilleur rendement.
Une autre chose qui rend possible l’informatique hétérogène est que tous les cœurs ne doivent pas partager le même ISA (jeu d’instructions), ils pourraient donc par exemple incorporer des cœurs spécifiques pour l’IA qui n’entrent en service que lorsqu’ils doivent effectuer des tâches spécifiques, le reste étant désactivé. du temps. Cela permettrait d’avoir des processeurs avec un nombre de cœurs énorme comme c’est le cas dans les cartes graphiques, et que chaque type de cœur (ou cluster de ceux-ci) s’occupe des opérations spécifiques pour lesquelles il a été conçu, améliorant à nouveau l’efficacité avec lui.
Le multicœur hétérogène n’est pas sans problèmes
Il existe deux « problèmes » assez spécifiques avec les processeurs multicœurs hétérogènes sur une plate-forme comme le PC. Le premier d’entre eux concerne la Overclocker, puisque si chaque cluster de cœurs fonctionne à une vitesse différente et avec un multiplicateur différent, on ne pourra pas overclocker l’ensemble du processeur en tant que tel, mais simplement un groupe spécifique de cœurs (cluster), même s’il est vrai qu’Intel et AMD encore Ils n’ont pas divulgué les données techniques à ce sujet. Dans tous les cas, il semble logique de penser qu’au maximum il ne sera possible d’overclocker que certains clusters de cœurs et pas tous car ils ne sont pas homogènes.
Le deuxième problème avec les architectures hétérogènes est la assistance logicielleCar après tout, le système d’exploitation doit être capable de supporter ce type d’implémentation afin d’affecter la charge de travail aux bons cœurs. Dans le cas d’un Noyau Linux Il existe des modules chargés de gérer les fréquences d’horloge du processeur ou d’activer et de désactiver respectivement les cœurs, mais le problème avec ces modules est qu’ils fonctionnent indépendamment et peuvent générer des conflits entre eux, réduisant l’efficacité dans certains cas ou les performances dans d’autres.
Evidemment, ces types d’architectures sont vouées à devenir populaires tôt ou tard (rappelons-nous Intel Lakefield et qu’AMD « joue » aussi avec), donc compte tenu du fait que le système d’exploitation le plus utilisé est Microsoft Windows, il faudra attendre pour Microsoft va « mettre les batteries » pour adopter ce type d’architecture et voir comment elle se comporte finalement.