« Fonctionnement d'un ordinateur/Les architectures à parallélisme de données » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 131 :
Ces registres MMX avaient cependant un léger défaut, qui a nuit à l'adoption du MMX. Pour comprendre ce défaut, il faut savoir que les flottants sont gérés sur les processeurs x86 par une extension du jeu d'instruction x86 : le jeu d'instruction x87. Celui-ci définit 8 registres flottants de 80 bits, ainsi qu'à un registre d'état de 32 bits. Et c'est là qu'est le problème : chaque registres MMX correspondait aux 64 bits de poids faible d'un des 8 registres flottants de la x87 ! En clair : il était impossible d'utiliser en même temps l'unité de calcul flottante et l'unité MMX. Le pire, c'est que ce n'était pas un bug, mais quelque chose de voulu par Intel. En faisant ainsi, il n'y avait pas à sauvegarder 8 registres supplémentaires lorsqu'on appelait une fonction ou qu'on devait interrompre un programme pour en lancer un autre (changement de contexte, interruption, etc) : la sauvegarde des registres de la FPU x87 suffisait. Cela a sacrément gêné les programmeurs ou les compilateurs qui voulaient utiliser le jeu d'instruction MMX.
 
[[File:SSE registers.PNG|centre|thumbvignette|upright=2.0|Registres MMX.]]
 
[[File:XMM registers.svg|droite|thumbvignette|upright=2.0|XMM registers]]
 
====SSE====