prix

| 25/10/2004
Accès direct :

Gestion du Multi-Threading par un CPU super-scalaire CMT

Il existe une technique permettant d'éviter de perdre des cycles pendant le context switch, appelée Coarse-Grained Multi-Threading (ou CMT) ; ce qui peut se traduire par "Multi-Threading à grains grossiers". En fait, cela signifie tout simplement que le CPU exécutera le même thread pendant un nombre donné de cycles, puis passera à un autre. Le context switch est supprimé car c'est le processeur qui gère en hardware les différents threads. Il en gère cependant un nombre limité, en général 2 à 4. L'Itanium "Montecito" est doté de deux cores pouvant chacun gérer 2 threads en CMT.

En général, le nombre de cycles durant lesquels le processeur exécutera le même thread n'est pas fixe, le changement s'effectuant souvent quand un thread est mis en attente, pour cause de condition de branchement ou de défaut de cache, par exemple.

Mais un schéma vaut souvent mieux que tous les discours :

Image

On garde le même principe, en bleu le thread 1, en rouge le thread 2. Comme vous pouvez l'observer, dans le même cas de figure que pour le CPU super-scalaire classique, le CPU CMT exécute environ 50% d'instruction de plus, dans le même laps de temps. De plus, il convient de noter que le CMT peut être mis en œuvre sur un CPU non super-scalaire, ce qui a son importance, nous le verrons plus tard.

 
 
 

Actualités relatives Processeurs