Accueil » Dossier » Le processeur Cell » Page 9

Le processeur Cell

1 : Introduction 2 : La première révolution RISC 3 : La quête d’un meilleur ILP 4 : L’aveu d’un échec 5 : L’aveu d’un échec (suite) 6 : Les nouveaux enjeux 7 : Le CELL : une vue d’ensemble 8 : Les SPE : la force du Cell 10 : Le PPE : le maître d’œuvre 11 : Le PPE : le maître d’œuvre (suite), l'EIB 12 : Conclusion

Les SPE : la force du Cell (suite)

LS

Plus que des processeurs, les SPE sont de véritables petits ordinateurs vectoriels vu qu’ils disposent également de leur propre mémoire embarquée sous la forme de 256 Ko de SRAM appelée Local Store dans la terminologie Cell. Contrairement à ce que laisse entendre l’utilisation de SRAM, et à ce que vous avez sans doute pu lire ici où là ces 256 Ko ne sont pas de la mémoire cache ! La notion de cache implique invariablement une hiérarchie mémoire, et demande de la logique spécifique pour gérer le remplacement des données en mémoire cache. Tout ceci est absent de la mémoire locale des SPE pour plusieurs raisons.

La première est une raison économique, en effet le cache est plus coûteux en termes de transistors et plus complexe à mettre en place. Les autres raisons sont d’ordre plus technique.

En effet cette fameuse LS offre une latence de seulement 6 cycles ce qui est assez impressionnant. Si cette mémoire avait été du cache, soit sa latence aurait nettement augmentée, soit IBM aurait du consentir à en embarquer une plus faible quantité. A ce propos il semblerait que les premiers prototypes de Cell n’embarquaient que 64 Ko de LS, ce chiffre a ensuite été augmenté à 128 Ko puis à 256 Ko actuellement.

La troisième raison, et la plus importante, est que comme nous l’avons vu les SPE sont destinés à effectuer du stream processing. Comme décrit précédemment le stream processing consiste à appliquer un « noyau » d’instructions à un très large ensemble de données variées. Pour ce genre de situations les caches qui reposent sur les principes de localités (spatiales ou temporelle) ne sont pas adaptées car il y a très peu de chance que les données soient réutilisées. Un petit espace mémoire, dont l’organisation est à la charge du programmeur est donc plus indiqué. Toutes ces raisons expliquent le choix d’IBM.

Notons qu’un des compromis pour une telle taille mémoire embarquée est que la Local Store ne dispose que d’un port en lecture/écriture, ce qui signifie qu’une priorité doit régir l’ordre des accès simultanés à la mémoire. La plus haute priorité est donnée aux transferts DMA provenant du PPE, la seconde priorité est donnée aux transferts DMA du SPE et enfin la troisième, et plus basse, aux chargement des instructions du SPU.

MFC

Si les SPE disposent d’une mémoire extrêmement rapide, ils ne peuvent en revanche adresser que ces maigres 256 Ko. Comme cet espace mémoire est insuffisant pour la majeure partie des programmes, les SPE doivent pouvoir faire transiter des données depuis la mémoire principale en permanence. C’est le rôle du MFC qui est en fait un contrôleur DMA associé à une MMU (Memory Management Unit) pour assurer la cohérence des données en mémoire.


Le MFC gère deux files de commandes DMA : une interne contenant les requêtes du SPE, et l’autre externe contenant les requêtes du PPE ou des autres SPE. La file de requêtes interne peut contenir jusqu’à 16 commandes et chaque requête peut transférer jusqu’à 128 Ko de données, de ou vers la Local Store. Lorsque le SPE demande une donnée en provenance de la mémoire externe la MMU gère la traduction d’adresse avant de la placer sur le bus. Notons également que le MFC peut transférer des données depuis la Local Store directement dans la mémoire cache de niveau 2 du PPE afin de rendre des données critiques accessibles plus rapidement.

Sommaire :

  1. Introduction
  2. La première révolution RISC
  3. La quête d’un meilleur ILP
  4. L’aveu d’un échec
  5. L’aveu d’un échec (suite)
  6. Les nouveaux enjeux
  7. Le CELL : une vue d’ensemble
  8. Les SPE : la force du Cell
  9. Les SPE : la force du Cell (suite)
  10. Le PPE : le maître d’œuvre
  11. Le PPE : le maître d’œuvre (suite), l'EIB
  12. Conclusion