Single Instruction Multiple Data / SIMD

Single Instruction on Multiple Data, ou SIMD est un des quatre modes de fonctionnement défini par la taxonomie de Flynn et sert à désigner un mode de fonctionnement des ordinateurs pourvus de plusieurs unités de calcul fonctionnant en parallèle.



Catégories :

Microprocesseur - SIMD

Recherche sur Google Images :


Source image : master.cetmef.developpement-durable.gouv.fr
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Definition : SIMD processing, in which single instruction is applied on multiple data, is suitable for multimedia processing, and therefore it is implemented... (source : encyclopedia.jrank)
  • ... Single Instruction Multiple Data. As one of the three performance enhancements of MMX, SIMD lets one microinstruction operate at the same... (source : whatis.techtarget)
  • ... Embodiments of the present invention address deficiencies of the art in respect to loop parallelization for a target architecture... (source : freepatentsonline)

Single Instruction on Multiple Data, ou SIMD est un des quatre modes de fonctionnement défini par la taxonomie de Flynn et sert à désigner un mode de fonctionnement des ordinateurs pourvus de plusieurs unités de calcul fonctionnant en parallèle. Dans ce mode, la même instruction est appliquée simultanément à plusieurs données pour produire plusieurs résultats. On utilise cette abréviation par opposition à SISD (Single Instruction on Single Data ), le fonctionnement respectant les traditions, et MIMD (Multiple Instructions on Multiple Data), le fonctionnement avec plusieurs processeurs indépendants. Le modèle SIMD convient spécifiquement bien aux traitements dont la structure est particulièrement régulière, comme c'est le cas pour le calcul matriciel.

Les instructions SIMD ont été ajoutées aux processeurs modernes pour pouvoir perfectionner la vitesse de traitement sur les calculs impliquant des nombres en virgule flottantes. Les instructions SIMD sont composées surtout des jeux d'instructions :

Il existe deux types de SIMD :

On traite les mêmes instructions en parallèle, puis on passe au calcul suivant quand les deux ont fini.

Dans le cas du SIMD parallèle, on traite une instruction en exécution asynchrone.

Leurs utilisations demandent énormément de travail et des connaissances approfondies en programmation, assembleur x86 ou PowerPC, et informatique.

En général, on débute par développer un code générique qui fonctionnera partout. Lorsque l'algorithme est correct et que le code fonctionne bien, on écrit une version spécialisée pour une extension d'un processeur donné. Les programmes qui sont optimisés avec ce genre d'instructions sont ceux qui demandent énormément de ressources processeur : compression de données, codec pour la lecture de son et/ou de vidéo, calcul sur de grands nombres entiers (cryptographie surtout), etc.

Certains compilateurs et certaines bibliothèques permettent de bénéficier de ces optimisations sans coder en assembleur. On peut noter que le projet Mono par exemple profite de ses optimisations processeur si on utilise les classes adaptées.


Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Single_Instruction_Multiple_Data.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu