Grands et petits cœurs dans un processeur hétérogène : différences et performances

Gros et petits cœurs dans un processeur hétérogène

Jusqu'à présent, la norme dans les processeurs PC et les APU a été une conception homogène des processeurs, ce qui signifie l'utilisation d'un seul type de cœur répété un certain nombre de fois. Mais l'utilisation de configurations hétérogènes avec des cœurs de complexité différente a commencé à apparaître sur PC. Nous expliquons en quoi les cœurs Big et Little diffèrent dans de tels APU et CPU pour PC

L'arrivée des CPU et APU dans les PC qui utilisent des cœurs hétérogènes et donc des cœurs de complexité et de taille différentes est un fait. Mais en quoi ces cœurs hétérogènes diffèrent-ils en nature et en performances ? C'est la question que beaucoup se posent en lisant les différentes architectures qui apparaissent sur le marché. Pourquoi, après plus d'une décennie, l'utilisation d'un seul type de cœur a fait le pas vers l'utilisation de grands et de petits cœurs dans les processeurs.

Pourquoi utiliser différents types de noyaux ?

ConceptArt MultiCPU

Il y a plusieurs raisons à cela, la plus connue est celle qui a été utilisée dans le grand désormais classique.PEU de CPU pour smartphones, où deux collections de cœurs de puissance et de consommation différentes sont commutées en fonction du type d'applications selon à la charge de travail sur le smartphone à tout moment. Cela a été fait pour augmenter la durée de vie de la batterie de ces appareils.

Aujourd'hui ce concept a évolué et il est déjà possible d'utiliser les deux types de cœurs simultanément et non de manière commutée. Ainsi, la conception combinée n'est plus basée sur l'économie d'énergie, mais sur l'obtention des performances les plus élevées possibles. C'est là que nous entrons dans deux manières différentes de comprendre les performances en fonction de l'utilisation des cœurs hétérogènes.

Le plus utilisé d'entre eux, car le plus simple à mettre en œuvre, consiste à affecter les threads les plus légers en termes de charge de travail aux cœurs les moins puissants, tâche que doit réaliser le système d'exploitation. Quel est le logiciel chargé de gérer l'utilisation des ressources matérielles, y compris le GPU. Cette façon de travailler est la même que la Intel Lakefield et ses futures architectures comme Alder Lake, ainsi que le BRAS noyaux avec DynamiQ.

Quoi qu'il en soit, l'organisation repose sur l'utilisation de deux cœurs avec le même jeu de registres et d'instructions mais avec des spécifications différentes. Quelles sont les différences entre les différents noyaux hétérogènes ? Voyons voir.

Gros cœurs contre petits cœurs aujourd'hui

Lakefield-cores núcleos híbridos

Tout d'abord entrons dans l'évidence, la première différence entre les deux types de noyaux est la taille. Les gros noyaux étant plus complexes que les petits noyaux, ils ont une structure plus complexe et donc constitués d'un plus grand nombre de transistors. Ergo sont plus gros que les petits noyaux qui ont une structure beaucoup plus simple. Cela signifie que dans l'espace de la puce, nous pouvons inclure plus de petits cœurs dans l'espace de la puce que de gros cœurs.

À tout cela, la première chose que vous vous demanderez est : quel est l'avantage de performance lors de l'application des deux types de noyaux ? Il faut garder à l'esprit que sur le PC aujourd'hui, sur nos PC, plusieurs applications tournent en même temps, chacune exécutant plusieurs threads d'exécution. Qu'est-ce que le fait d'ajouter un plus grand nombre de cœurs, même si cela repose sur le fait de le faire avec des cœurs plus légers en puissance, finit par ajouter à la performance totale.

En réalité, les noyaux plus petits ne sont qu'un moyen de plus d'alléger le travail des noyaux plus gros et plus complexes, en supprimant du travail à faire. Non seulement cela, mais même des cœurs supplémentaires peuvent être utilisés pour gérer les interruptions les plus courantes des différents périphériques, de sorte que le reste des cœurs n'ait pas à arrêter leur fonctionnement à tout moment pour les assister en permanence et à tout moment. .

Les architectures du futur passent par des configurations hétérogènes

Nucleos Big Little

L'autre méthode plus complexe à implémenter pour les gros et petits noyaux diffère de la précédente, puisqu'elle consiste à diviser l'ensemble des registres et instructions de l'ISA et à le répéter en deux classes de noyaux. La raison en est que toutes les instructions n'ont pas la même consommation d'énergie, mais la plus simple consommera toujours plus dans les cœurs les plus complexes. L'idée n'est donc pas de distribuer les threads d'exécution à leur noyau correspondant, mais plutôt que l'exécution d'un seul thread d'exécution soit partagée entre deux ou plusieurs cœurs de manière entrelacée.

Par conséquent, sa mise en œuvre est beaucoup plus complexe que le modèle actuel, puisque les différents cœurs en charge d'un même fil d'exécution doivent disposer du matériel nécessaire pour se coordonner lors de l'exécution du code des programmes. L'avantage de ce paradigme est qu'en principe il ne nécessite pas le travail du système d'exploitation pour gérer les différents threads que le CPU doit exécuter. Mais, dans ce cas, comme nous l'avons déjà commenté, la division des types de noyaux hétérogènes dépend de la façon dont l'ensemble d'instructions est distribué entre les deux noyaux.

Ley Amdahl

Le fonctionnement de cette méthode est lié à la loi d'Amdahl et à la façon dont les programmes évoluent en termes de performances. D'une part nous avons des parties séquentielles qui ne peuvent pas être réparties sur plusieurs cœurs car elles ne peuvent pas être exécutées en parallèle et d'autre part des parties qui le peuvent. Dans le premier cas la puissance ne dépendra pas du nombre de cœurs mais de la puissance de chaque cœur, tandis que dans le second elle dépendra de chaque cœur.

Traditionnellement, les instructions les plus complexes d'un processeur sont implémentées à partir d'une séquence d'instructions plus simples afin de mieux tirer parti du matériel. Mais les nouveaux nœuds de fabrication permettront de câbler directement des instructions plus complexes dans les cœurs les plus complexes, plutôt que d'être un composite de plusieurs cœurs. Cela servira également à augmenter les performances générales des programmes, car lors de l'exécution de ces instructions, leur exécution nécessitera beaucoup moins de cycles d'horloge.