Architecture vectorielle

Un article de Wikipédia, l'encyclopédie libre.

Architecture des processeurs permettant de traiter des opérations sur des vecteurs de manière plus rapide qu'une architecture dite scalaire. En pratique si on prend l'exemple de la somme S= {s1,s2, ... sN} de deux vecteurs A={a1,a2, ... aN} et B={b1,b2, ... bN}, là où un processeur scalaire attendra le résultat s1 de la somme a1+b1 pour attaquer la somme s2 = a2 + b2, le processeur vectoriel mettra 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).