« Fonctionnement d'un ordinateur/Les architectures à parallélisme de données » : différence entre les versions
Contenu supprimé Contenu ajouté
m DavidL a déplacé la page Fonctionnement d'un ordinateur/Architecture à parallèlisme de données vers Fonctionnement d'un ordinateur/Architecture à parallélisme de données : Correction accent |
|||
Ligne 103 :
* Les '''processeurs à registres vectoriels''' possèdent des registres vectoriels dédiés aux vecteurs.
{|
|[[File:Processeur vectoriel mémoire-mémoire.png|Processeur vectoriel mémoire-mémoire.]]
|[[File:Processeur vectoriel à registres vectoriels.png|Processeur vectoriel à registres vectoriels.]]
|}
Généralement, les données d'un vecteur sont placées les unes à coté des autres en mémoire et l'instruction peut utiliser le mode d''''adressage absolu'''. Avec le mode d'adressage absolu, les instructions ont juste à préciser l'adresse mémoire d'un vecteur, qui n'est alors qu'un paquet de données contigües en mémoire. Par exemple, si mon processeur manipule des vecteurs de 8 octets, chaque instruction d'accès mémoire utilisant le mode d'adressage absolu va lire ou écrire dans des blocs de 8 octets. L'adresse de départ de ces blocs n'est soumise à aucune contrainte d'alignement, ce qui n'est pas le cas sur les processeurs modernes utilisant des jeux d'instructions comme le SSE, le MMX, etc. La raison à cela est que gérer des accès non alignés en mémoire rend les circuits de lecture/écriture en mémoire plus complexes. En contrepartie, ces contraintes compliquent l'utilisation des instructions vectorielle. Par exemple, un compilateur aura plus de mal à utiliser des instructions de calcul vectorielle en présence de contraintes d'alignement.
|