« Les cartes graphiques/Les processeurs de shaders » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 1 :
Au fur et à mesure que les procédés de fabrication devenaient de plus en plus étoffés, les cartes graphiques pouvaient incorporer un plus grand nombre de circuits. Les unités géométriques, autrefois câblées, sont devenues des unités programmables. Les unités de traitement de la géométrie deviennent donc des processeurs indépendants, capable d’exécuter des programmes appelés des '''Shadersshaders'''. Les premiers shaders étaient dédiés aux traitement de la géométrie, et étaient appelés des ''vertex shaders''. Par la suite, l'étape de traitement des pixels est elle aussi devenue programmable, les '''pixels shaders''' ont fait leur apparition. Puis d'autres formes de shaders sont apparues par la suite, pour effectuer des calculs géométriques complexes ou des calculs non-graphiques.
 
Les shaders sont écrits dans un langage de haut-niveau, le HLSL pour les shaders Direct X et le GLSL pour les shaders Open Gl, puis sont ensuite traduit (compilés) en instructions machines à destination des processeurs de shaders. Au début, ces langages et la carte graphique supportaient uniquement des programmesopérations simples. Mais au fil du temps, les spécifications de ces langages sont devenues de plus en plus riches à chaque version de Direct X ou d'Open Gl, et le matériel en a fait autant.
 
==Le jeu d'instruction des processeurs de shaders==
 
Sur tous lesLes processeurs de traitementshaders depeuvent vertices,effectuer ille estmême possiblecalcul de traitersur plusieurs morceaux de vertices à la fois. Même chose pour les processeurs de pixels shaders, qui peuvent traiterou plusieurs pixels à la fois. CesOn processeursdit que ce sont ditdes processeurs parallèles, à savoir qu'ils peuvent faire plusieurs calculs en parallèle dans des unités de calcul séparées. IlLes existeprocesseurs plusieursparallèles typessont detrès nombreux, mais tous sont des processeurs dedit shadersSIMD, quique senous distingueallons parvoir dans la manièresection suivante, à quelques exceptions près dont lesnous calculsreparlerons sontplus faitstard. enNous parallèleparlerons :des processeurs SIMT dans la section sur la microarchitecture.
* les processeurs SIMD et VLIW, avec un parallélisme au niveau du jeu d'instruction ;
* les processeurs scalaires, sans parallélisme (du moins, au niveau du jeu d'instruction).
 
Les processeurs VLIW étaient autrefois utilisés sur les anciennes RADEON d'AMD, mais ne sont plus vraiment utilisées aujourd'hui, la mode étant aux processeurs SIMD ou scalaires. Nous parlerons des processeurs SIMT dans la section sur la microarchitecture, ceux-ci ayant un jeu d'instruction non-parallèle, mais convertissent les instructions séries en instructions parallèles à la volée.
 
====Processeurs SIMD====