Architecture Vectorielle.
Un processeur vectoriel effectue des opérations sur des vecteurs (tableaux linéaires de nombres).
1) Le calcul de chaque résultat est indépendant des précédents.
2) Une instruction vectorielle effectue une quantité importante de travail, ce qui diminue le nb d'instruction.
3) Une boucle est remplacée par une instruction vectorielle. Les branchements de boucle n'existent plus.
Chaque registre vectoriel est de longueur fixe et ne contient qu'un seul vecteur.
Un registre vectoriel contient un nb de mot allant de 64 à 1024 mots, ces mots ont une longueur de 64 bits.
Un mot est traité à chaque cycle d'horloge.
Chaque unité vectorielle de calcul est pipelinée.
Il existe dans ces architectures des registres scalaires pour les opérations qui ne peuvent être vectorisées.
Le pas du vecteur :
La distance séparant les éléments qui doivent être rassemblés en un seul vecteur est appelée le pas.
Lorsqu'un tableau 2d est mis en mémoire, il est linéarisé puis implanté suivant l'ordre ligne d'abord ou colonne d'abord.

Etudions le cas de la multiplication de deux vecteurs B et C dont voici le code :
For i = 1 to 3
...For j = 1 to 3
......For k = 1 to 3
.........A(i , j) = B(i, k) * C(k , j)
1ére itération : i=1 ; j=1 ; k=1
2éme itération : i=1 ; j=1 ; k=2
3éme itération : i=1 ; j=1 ; k=3
.....

En réalité, une fois qu’un vecteur est chargé dans un registre vectoriel, il agit comme s’il avait logiquement des éléments adjacents.
Ceci permet à un processeur à registres vectoriels de manipuler des pas plus grands que 1,
appelés pas non unitaires, en utilisant seulement des opérations de chargement ou de rangement vectoriels prenant en compte les pas.
Cette possibilité d’accéder à des cases mémoire non séquentielles est l’un des avantages majeurs d’un processeur vectoriel sur un processeur à base de caches.