Processeur vectoriel

Processeur vectoriel
Processeur vectoriel d'un supercalculateur Cray-1.

Un processeur vectoriel est un processeur conçu pour exécuter des opérations sur les vecteurs plutôt que les nombres simples.

Sommaire

Principe

Contrairement aux processeurs scalaires, les processeurs vectoriels sont spécialement conçus et optimisés pour exécuter la même instruction sur chacune des données contenues dans un tableau. Ils sont surtout utilisés pour le calcul intensif sur supercalculateur.

Leur architecture est basée sur les pipelines :

Une instruction vectorielle exécute la même opération sur toutes les données (vecteur) sur laquelle elle est appliquée.

Lors de la réalisation d'une opération terme à terme sur deux vecteurs, un processeur vectoriel réalise ces opérations en pipeline. Au fur et à mesure que les cases mémoires utilisées pour le premier calcul se vident, elles se re-remplissent de manière à traiter le second sans attendre le résultat du premier. Ce type de fonctionnement est efficace à partir du moment où on a des opérations répétitives ; en pratique, dès que l'on travaille avec des vecteurs de plus de six éléments on est gagnant[réf. nécessaire]. Développé pour des applications scientifiques et exploité par les machines Cray et les supercalculateurs qui lui feront suite, ce type d'architecture a rapidement montré ses avantages pour des applications grand public (on peut citer la manipulation d'images) et est actuellement soit physiquement installé dans les processeurs (unité vectorielle AltiVec) soit simulé par des instructions de type vectoriel de bas niveau (SSE).

Exemple de code vectoriel

L'exemple ci dessous montre comment le code FORTRAN :

    DO I = 1, N
    A(I) = B(I) + C(I)
    ENDDO

va être traduit, en termes d'opérations à effectuer, sur un processeur scalaire, ou sur un processeur vectoriel.

processeur scalaire processeur vectoriel
   INITIALISER I = 1
10 LIRE B(I)
   LIRE C(I)
   ADDITIONNER B(I) + C(I)
   STOCKER A(I) <- B(I) + C(I)
   INCREMENTER I <- I + 1
   SI I <= N ALLER À 10
   STOP
A(1:N) = B(1:N) + C(1:N)

Marques et modèles

Ces marques fabriquent, ou bien ont fabriqué, des ordinateurs basés sur, ou contenant, des processeurs vectoriels :

  • Cray depuis le Cray 1
  • NEC gamme SX
  • Fujitsu, VP400, VP2000, VPP500
  • Hitachi, S-820
  • IBM, option vectorielle (VF, pour Vector Facility) du modèle 3090 dénommé 3090/VF
  • DEC, processeur vectoriel optionnel sur le modèle 9000 dénommé 9000/440VP
  • CDC STAR 100, ETA 10E, Cyber 205, Cyber 2000V
  • Texas Instruments TI-ASC (Advanced Scientific Computer)
  • IBM et Motorola, pour les ordinateurs d'Apple des gammes G4 et G5 (AltiVec)

Des consoles de jeu utilisent également le processeur vectoriel, telle la Playstation 2 ou la Playstation 3[réf. nécessaire].

Voir aussi

Liens internes

  • pipeline pour une comparaison des architectures basées sur ce procédé.