Une sortie d’écran d’ordinateur sans carte compatible Vesa / VGA

2

Il ya quelque temps, je me suis disputé avec quelqu'un sur le point de savoir si un ordinateur dépourvu de solution graphique discrète ou intégrée (Ryzen dans cette situation) pouvait afficher la sortie de la connexion HDMI intégrée de la carte mère.

J'ai adopté la position «oui» en pensant que le rendu logiciel est possible. Le processeur pourrait sûrement utiliser le processeur pour envoyer les signaux corrects au connecteur HDMI sans carte VGA.

J'ai essayé de chercher ce problème sur Google, mais malheureusement, la plupart des questions posées s'adressent à des personnes qui débutent en informatique, aussi les réponses ne correspondent-elles pas exactement à ce que je recherche.

Lord Windy
la source

Réponses:

2

Le processeur pourrait sûrement utiliser le processeur pour envoyer les signaux corrects au connecteur HDMI sans carte VGA.

C'est ce que l'on appelle "le bit-banging" - essentiellement, la CPU modifie constamment un registre d'E / S pour créer un signal.

C'est possible et cela a été fait avec des interfaces à très basse vitesse, comme les ports série. L'ancien Commodore 64 le faisait quasiment avec son implémentation de RS-232 et son bus utilisé auparavant pour communiquer avec les imprimantes et les lecteurs de disque. RS-232 ne pourrait pas aller plus vite que 2400 bits par seconde (2.4Kbit / sec).

Mais HDMI est une interface très, très rapide. Par exemple, HDMI 2.0 a une vitesse de 18 Gbps. Cela signifie 18 milliards de fois par seconde, le processeur devrait faire quelque chose pour moduler un signal.

Même si vos processeurs les plus rapides fonctionnent à environ 3 GHz, cela signifie que le temps de cycle des instructions est de 1/3 000 000 000 -

  • presque toutes les instructions du processeur prennent plus d'un cycle

  • Les instructions d'E / S sont "sérialisées" (car elles doivent être effectuées dans l'ordre), de sorte que les fonctionnalités avancées du processeur, telles que la spéculation, ne sont d'aucune aide.

  • Etant donné que les tâches doivent être effectuées dans l'ordre suivant 1 canal, plusieurs processeurs ne sont d'aucun secours.

  • Les instructions d'E / S n'interagissent pas avec la mémoire ni les registres; par conséquent, la mise en cache de MMX / SSE / AVX / EVEX ne fera rien, sauf de vous aider à déterminer ce que vous souhaitez envoyer par le canal de suivi.

Je ne pense donc pas qu'il existe un moyen de "bit-bang" à 18 GHz avec les processeurs x86 modernes et vous ne pouvez même pas utiliser la technologie 3Ghz. Peut-être un taux de rafraîchissement vraiment très bas si l'interface HDMI n'a pas une vitesse minimale.

Mais vous pouvez voir pourquoi un matériel spécialisé pilote l'interface.

Dans tous les cas, vous avez encore besoin d'un matériel minimum pour établir une connexion, car votre CPU est connectée à un bus et ce matériel doit parler le même "langage" ou le même protocole que ce bus pour pouvoir interagir avec la CPU. Pour les anciens systèmes tels que le Commodore 64 et son équivalent ci-dessus, il disposait de périphériques tels que "Adaptateur d'interface polyvalent" ou "Adaptateur d'interface complexe" - le processeur lisait / écrivait sur cette puce pour obtenir l'état de "ports" (il était connecté). apparaissant sur le bus de l’UC) et la puce aurait une connexion physique aux broches des ports physiques situés à l’arrière ou des logements de la carte mère.

Pour les processeurs x86 modernes, le plus proche est celui de PCI-E. Les contrôleurs PCI-E sont désormais intégrés aux processeurs, mais font partie du chipset. Donc, vous auriez encore besoin de quelque chose qui capte les signaux PCI-E et les convertisse au minimum en signaux HDMI.

VGA est une autre affaire cependant.

LawrenceC
la source
C'était une réponse fantastique. Merci beaucoup de l'avoir expliqué clairement!
Lord Windy
1

Non, ça ne peut pas. Sans unité graphique intégrée, il n'y a pas de connexion physique à ces ports. Vous avez besoin d'un type de matériel connecté à ce port pour qu'il soit réellement utilisable.

Seth
la source
1

Je pense que votre ami gagne le pari.

Deux choses sont nécessaires pour produire une vidéo réelle via une interface HDMI ou une autre interface physique:

  1. Générer des images vidéo consécutives
  2. Transmission des images via le connecteur vidéo.

C'est la tâche de communiquer avec le port matériel réel qu'un processeur ne peut raisonnablement pas faire par lui-même.

Étant donné que vous attendez une sortie réelle via le port HDMI, voici deux raisons pour lesquelles cela ne se fait pas uniquement avec un processeur:

  1. Le rendu de chaque image de sortie vidéo est une opération de calcul répétitive. Un processeur pourrait faire le travail, mais cela entraverait de manière significative sa capacité à faire son "travail de jour", rendant le système lent. Les GPU sont spécialement conçus pour ce type de travail.
  2. La conversion de la représentation numérique d'une image vidéo en signaux requis pour la transmettre à un port physique nécessite un matériel personnalisé pour ce port. Les processeurs sont conçus pour fonctionner sur de nombreux systèmes différents et ne permettent pas de contrôler les ports vidéo physiques avec lesquels ils sont censés travailler. Cela empêche un processeur pur de gérer de bout en bout la tâche de générer des images vidéo et de la sortir via un port physique. Même les processeurs modernes intégrant un processeur graphique dépendent de composants supplémentaires fournis sur la carte mère pour la sortie vidéo. Techniquement, ces deux composants forment ensemble une carte graphique.

Évidemment, le processeur peut effectuer la tâche 1, mais c'est la tâche 2 qui nécessite du matériel supplémentaire. Dans les ordinateurs modernes, c'est l'adaptateur graphique.

Imitateur Twisty
la source