SIMD


SIMD

Single Instruction Multiple Data

Single Instruction on Multiple Data, ou SIMD, désigne un mode de fonctionnement des ordinateurs dotés 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 traditionnel, et MIMD (Multiple Instructions on Multiple Data), le fonctionnement avec plusieurs processeurs indépendants. Le modèle SIMD convient particulièrement bien aux traitements dont la structure est très régulière, comme c'est le cas pour le calcul matriciel.

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

Il existe deux types de SIMD :

  • Vectorielles (relatif aux données) :

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

  • Parallèles (en voie de disparition car faisait appel à des processeurs spécifiques) :

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

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

En général, on commence par développer un code générique qui fonctionnera partout. Quand 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 beaucoup 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 notamment), 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 l'on utilise les classes adaptées.

Ce document provient de « Single Instruction Multiple Data ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article SIMD de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • SIMD — Taxonomía de Flynn   Una instrucción Múltiples instrucciones Un dato SISD MISD Múltiples datos SIMD MIMD En computación, SIMD (siglas en inglés de …   Wikipedia Español

  • SIMD-FP —   [Abk. für Single Instruction, Multiple Data for Floating Point, dt. »ein Befehl mehrere Datenworte für Fließkomma«], Verfahren zur parallelen Verarbeitung von Fließkommawerten, das von Intel mit …   Universal-Lexikon

  • SIMD —   [Abk. für Single Instruction, Multiple Data, dt. »ein Befehl mehrere Datenworte«], Merkmal eines Prozessors oder eines Computersystems, der/das in der Lage ist, einen Befehl auf mehrere Datenwörter gleichzeitig anzuwenden und so mehrere… …   Universal-Lexikon

  • SIMD — In computing, SIMD (Single Instruction, Multiple Data) is a technique employed to achieve data level parallelism, as in a vector processor. First made popular in large scale supercomputers (contrary to MIMD parallelization), smaller scale SIMD… …   Wikipedia

  • SIMD — Классификация по Флинну   Одиночный поток команд (Single Instruction) Множество потоков команд (Multiple Instruction) Одиночный поток данных (Single Data) SISD (ОКОД) MISD (МКОД) Множество потоков данных (Multiple Data) SIMD (ОКМД) MIMD… …   Википедия

  • SIMD — Flynnsche Klassifikation   Single Instruction Multiple Instruction Single Data SISD MISD Multiple Data SIMD MIMD Die Flynnsche Klassifikation [1] …   Deutsch Wikipedia

  • SIMD — Single Instruction Multiple Data (Computing » Hardware) …   Abbreviations dictionary

  • SIMD — single instruction multiple data …   Medical dictionary

  • SIMD — Single Instruction, Multiple Data Rechnerarchitektur zur Verarbeitung paralleler Daten …   Acronyms

  • SIMD — ● ►en sg. adj. ►ARCHI Single Instruction Multiple Data. Beaucoup de donnée traitées par une seule instructions. Utilisé essentiellement dans les gros ordinateurs vectoriels. Voir aussi MIMD, MISD …   Dictionnaire d'informatique francophone