Pilote d'affichage : comment le GPU communique avec votre moniteur

Pilote d'affichage : comment le GPU communique avec votre moniteur

Il est clair que le GPU est le matériel de notre PC qui, à partir d'une liste d'instructions envoyée par le Processeur génère les images que nous voyons sur notre moniteur. Processus que nous avons déjà expliqué précédemment, mais nous n'avons pas expliqué quel est le processus par lequel les images sont envoyées à l'écran, que nous allons commenter dans cet article, qu'est-ce que le contrôleur d'écran ?

Avant de commencer, nous devons garder à l'esprit qu'une chose est la sortie vidéo, qui est l'interface de communication externe qui communique le PC ou tout système dérivé, comme une console, et une autre est l'écran ou le contrôleur vidéo. C'est le matériel en charge de lire le tampon d'image généré dans la VRAM par le GPU. Bien que les deux concepts soient liés, nous pensons qu'il est important que vous connaissiez la différence entre les deux concepts. Étant donné que la confusion entre les deux pose généralement des problèmes pour comprendre le concept. Pour simplifier les choses, le GPU crée d'abord le tampon d'image, puis le pilote d'affichage lit le tampon d'image, puis l'encode pour l'interface vidéo correspondante.

Au début il n'y avait que la télévision

Machine à écrire Terminal TV

Les premiers terminaux texte pour mini-ordinateurs ont apporté avec eux un écran de télévision standard, mais sans possibilité de capter le signal de télévision. La raison? Ils ont été vendus sans le récepteur vidéo. Cependant, du matériel spécialisé était nécessaire pour envoyer le bon signal. La raison en est que le signal vidéo des téléviseurs CRT et d'autres systèmes dérivés était un signal continu, il était donc nécessaire d'utiliser du matériel spécialisé capable de compter le temps pendant lequel le signal pouvait être émis et quand non pour que l'image apparaisse correctement. sur l'écran.

Les premiers modèles s'appelaient TV Typewriters en l'honneur de l'invention de Don Lancaster, basée sur un appareil qui permettait d'écrire du texte sur l'écran. L'invention n'était pas un ordinateur, mais son union avec les premiers processeurs et RAM domestiques a donné naissance à la première génération d'ordinateurs domestiques. De tels systèmes utilisaient initialement un grand nombre de puces TTL, mais la révolution des puces LSI a rapidement unifié ces circuits complexes sur une seule puce.

Mais ils n'étaient pas seulement chargés de compter les temps, mais aussi de générer l'image pour l'envoyer à l'écran. C'est à cette époque qu'est apparue une série d'interfaces vidéo propriétaires qui liaient les moniteurs à des marques et des architectures spécifiques. Le moniteur était alors vu comme un accessoire à capitaliser et chaque plateforme avait son propre standard en termes de résolution par ligne, de nombre de lignes, de taux de rafraîchissement et surtout d'interface vidéo.

A la vitesse du faisceau d'électrons

Contrôleur Pantalla CRT

RAM était extrêmement coûteux pour les premiers PC, donc avoir une mémoire tampon d'image était prohibitif. Pour cela, d'autres méthodes de rendu ont été utilisées qui reposaient notamment sur le rendu à la vitesse à laquelle le faisceau d'électrons allait traverser l'écran. Cela signifiait que de nombreux systèmes ne pouvaient rien calculer avec le temps CPU à l'écran actif pendant des années.

Comme le prix par bit de mémoire est devenu moins cher, il est devenu possible d'utiliser des systèmes basés sur le tampon d'image. Celles-ci reposent sur le stockage temporaire d'une représentation de l'image à lire à l'écran dans la mémoire utilisée par le système vidéo. Mais ce tampon d'image ne pouvait être mis à jour que pendant la période où rien n'était dessiné en mémoire. Cette période était beaucoup plus courte en nombre de lignes de balayage et devait partager le temps avec le temps d'exécution du programme, ce qui affectait les performances de l'ordinateur.

La solution est venue avec l'apparition de la RAM à double port, connue sous le nom de VRAM, qui permettait d'accéder au tampon d'image à partir de deux sources différentes. Cela a permis de modifier à la volée les données graphiques. Mais surtout, il permet l'utilisation de doubles tampons d'image, dans lesquels pendant que la puce graphique est en charge du rendu de l'image suivante, le pilote d'affichage lit le tampon d'image actuel.

Panneau LCD et contrôleur d'affichage

Panneaux LCD

Les écrans LCD ont une particularité, ils ne fonctionnent pas à l'aide d'un faisceau d'électrons, mais les mécanismes de transmission d'images utilisés pour envoyer les images n'ont pas changé, ce qui a changé c'est le support sur lequel elles sont envoyées. Les images sont donc envoyées dans leur succession de paquets de données que le signal vidéo décode pour afficher l'image à l'ancienne, c'est-à-dire par lignes de balayage.

Ce qui veut dire que les mécanismes sont exactement les mêmes qu'avant et n'ont pas changé. La différence est que le terme pixel n'existait pas dans les écrans CRT et qu'il s'agissait plutôt de lignes de balayage qui faisaient varier la couleur de sortie en fonction de la variation de la tension de sortie du signal en fonction d'un mécanisme de résistance complexe. Dans les systèmes LCD, ce qui est envoyé, ce sont les données compressées de chaque pixel, c'est-à-dire ses informations de couleur RVB. Ceci étant le seul changement par rapport aux écrans CRT, mais cela implique de ne pas avoir à utiliser de circuit analogique pour générer le signal vidéo, d'où les sorties vidéo pour les écrans LCD tels que DisplayPort et HDMI sont appelées sorties numériques. .

Où se trouve le pilote d'affichage ?

GPU

Il se trouve dans le GPU lui-même, accompagnant le reste de ses accélérateurs et coprocesseurs tels que les unités DMA, le codec vidéo et de nombreux autres éléments importants. En effet, il accède à la même mémoire à laquelle accède le GPU, car il doit accéder au tampon d'image pour pouvoir envoyer l'image à l'interface vidéo.

Le contrôleur d'affichage d'aujourd'hui a considérablement évolué, permettant non seulement plusieurs résolutions, mais aussi interagissant avec diverses normes d'interface vidéo et envoyant différents signaux vidéo à différents écrans de manière synchronisée.