Processeur vectoriel - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

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

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. 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).

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.

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)      
Page générée en 0.067 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise