« Fonctionnement d'un ordinateur/Les architectures à parallélisme de données » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 157 :
===Une unité de calcul pipelinée===
[[File:Vectorsimdpipeline.png|vignette|Illustration du pipeline interne d'un processeur vectoriel.]]▼
La différence entre processeur vectoriel et SIMD tient dans la façon dont sont traités les vecteurs : les instructions SIMD traitent chaque élément en parallèle, alors que les processeurs vectoriels pipelinent ces calculs ! Par pipeliner, on veut dire que l’exécution de chaque instruction est découpée en plusieurs étapes indépendantes : au lieu d'attendre la fin de l’exécution d'un opération avant de passer à la suivante, on peut ainsi commencer le traitement d'une nouvelle donnée sans avoir à attendre que l'ancienne soit terminée.▼
▲La différence entre processeur vectoriel et SIMD tient dans la façon dont sont traités les vecteurs : les instructions SIMD traitent chaque élément en parallèle, alors que les processeurs vectoriels pipelinent ces calculs ! Par pipeliner, on veut dire que l’exécution de chaque instruction est découpée en plusieurs étapes indépendantes.
▲Vectorsimdpipeline.png|Illustration du pipeline interne d'un processeur vectoriel.
[[File:Pipeline.png|centre|vignette|upright=2|Pipeline vectoriel.]]
Pour donner un exemple, on peut donner l'exemple d'une multiplication flottante effectuée entre deux registres. Son exécution peut être décomposée en plusieurs étapes.
Ligne 174 ⟶ 173 :
[[File:Multiplication vectorielle - pipeline.png|centre|vignette|upright=2|Multiplication vectorielle - pipeline]]
Avec une unité de calcul pipelinée découpée en N étages, on peut gérer
[[File:Startup and dead time vector pipeline.png|centre|vignette|upright=2|Startup and dead time vector pipeline]]
|