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

Contenu supprimé Contenu ajouté
Ligne 71 :
[[File:Fermi.svg|vignette|Schéma de la micro-architecture d'un processeur sur la micro-architecture Fermi de NVIDIA.]]
 
Cela n'a pas changé avec l'unification des ''shaders'', si ce n'est que les GPU modernes disposent d'une flopée d'unités de calcul SIMD identiques. De nos jours, les unités de calculs dédiées à des opérations bien précises existent encore, même dans les architectures récentes. Pour vous en donner un exemple, je vais prendre l'architecture Fermi de NVIDIA, utilisée dans les cartes graphiques de la marque sorties en 2010. Les cartes graphiques de cette marque sont composées de plusieurs processeurs de ''shaders''. L'intérieur d'un de ces processeur est illustrée ci-contre, avec les termes de nomenclature utilisée par NVIDIA.

Les différentes mémoires inclues dans le processeur sont en bleu. Elles regroupent un cache d'instruction, un banc de registres (''register file'') qui contient les registres du processeur, et divers caches (en bas) reliés au reste du processeur par un réseau d’interconnexion (''interconnect network''). En orange se trouve les circuits de contrôle, qui ont pour but de décoder et de répartir les instructions sur les unités de calculs plus bas. Ils regroupent l'unité de décodage des instructions (non-représentée), des ''warp scheduler'' et les unités de ''dispatch'' qui s'occupent de la répartition des calculs sur les unités de calcul. Enfin, en vert, on a diverses unités de calcul. Les unités ''core'' ne sont pas des cœurs de processeurs, comme la terminologie utilisée par NVIDIA peut le faire croire, mais des unités de calcul arithmétiques simples, capables de faire additions, multiplications, et quelques autres calculs du genre. Les unités LD/ST sont les unités pour l'accès à la mémoire et elles sont capables d'accèder à des textures et de les filtrer. Enfin, les unités SFU sont des unités de calculs spécialisées dans les calculs complexes, trigonométriques ou autres.
 
===La mitigation de la latence mémoire===