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

Contenu supprimé Contenu ajouté
Ligne 212 :
[[File:Cpu-gpu.svg|centre|vignette|upright=2.0|Comparaison entre l'architecture d'un processeur généraliste et d'un processeur de shaders.]]
 
Les processeurs de shaders modernes sont de plus des processeurs multithréadés, c'est à dire conçus pour exécuter nativement plusieurs ''threads'' en parallèles, comme nous l'avons vu dans le chapitre sur les architectures multithreadées et l'''hyperthreading''. L'intérêt du multithreading sur une carte graphique tient dans la lenteur les accès mémoire. Les accès mémoire sont très lents sur une carte graphique, car les GDDR des cartes graphiques sont conçues pour avoir un débit absolument énorme mais une latence pas terrible. Après tout, il faut faire un compromis entre latence et débit, et le débit est plus important quand on manipule de très grandes quantités de donnée. Pour mitiger l’impact de la latence, les processeurs de shaders utilisent le multithreading : quand un thread attend la mémoire, le processeur en lance un autre pour combler le temps d'attente avec des calculs. Les processeurs de shaders sont capables de gérer nativement plusieurs dizaines, voire centaines de threads simultanément.
 
===La hiérarchie mémoire d'une carte graphique===