Kann ein Computer ohne Vesa / VGA-kompatible Karte anzeigen

362
Lord Windy

Vor einiger Zeit geriet ich in einen Streit mit jemandem, ob ein Computer ohne diskrete oder integrierte Grafiklösung (in dieser Situation Ryzen) die Ausgabe der eingebauten HDMI-Verbindung des Motherboards anzeigen könnte.

Ich habe die Position "Ja" mit dem Gedanken angenommen, dass das Rendern von Software möglich ist. Sicherlich könnte man die CPU verwenden, um die richtigen Signale ohne VGA-Karte an den HDMI-Anschluss zu senden.

Ich habe versucht, dieses Problem zu googeln, aber leider werden die meisten Fragen von Leuten gestellt, die für Leute gedacht sind, die sich mit Computern beschäftigen. Die Antworten sind also nicht genau das, was ich suche.

2

3 Antworten auf die Frage

2
LawrenceC

Sicherlich könnte man die CPU verwenden, um die richtigen Signale ohne VGA-Karte an den HDMI-Anschluss zu senden.

Dies wird als "Bit-Banging" bezeichnet - im Wesentlichen ändert die CPU ständig ein E / A-Register, um ein Signal zu erzeugen.

Dies ist möglich und wurde mit sehr langsamen Schnittstellen wie seriellen Schnittstellen durchgeführt. Der alte Commodore 64 hat dies mit der Implementierung von RS-232 und dem Bus, mit dem er mit Druckern und Laufwerken sprach, ziemlich gut gemacht. RS-232 kann nicht schneller als 2400 Bit pro Sekunde (2,4 Kbit / s) sein.

HDMI ist jedoch eine sehr, sehr schnelle Schnittstelle. Zum Beispiel hat HDMI 2.0 eine Geschwindigkeit von 18 Gbps. Das bedeutet 18 Milliarden Mal pro Sekunde, die CPU müsste etwas tun, um ein Signal zu modulieren.

Angesichts der Tatsache, dass selbst Ihre schnellsten CPUs etwa 3 GHz haben, bedeutet dies, dass die Zykluszeit für Anweisungen 1 / 3.000.000.000 beträgt.

  • Fast alle CPU-Anweisungen dauern mehr als einen Zyklus

  • E / A-Anweisungen werden "serialisiert" (weil sie in der richtigen Reihenfolge ausgeführt werden müssen), so dass fortgeschrittene CPU-Funktionen wie Spekulationen nicht helfen.

  • Da die Dinge in der Reihenfolge einer Pipe erledigt werden müssen, helfen mehrere CPUs nicht.

  • E / A-Anweisungen interagieren nicht mit dem Speicher oder den Registern, so dass das Zwischenspeichern / MMX / SSE / AVX / EVEX nichts anderes tut, als zu bestimmen, was Sie über die Pipe schicken möchten.

Ich glaube nicht, dass es eine Möglichkeit gibt, mit modernen x86-CPUs bei 18 GHz "bit bang" zu sein, und Sie könnten nicht einmal 3Ghz machen. Vielleicht eine wirklich niedrige Bildwiederholfrequenz, wenn die HDMI-Schnittstelle keine Mindestgeschwindigkeit hat.

Sie können jedoch sehen, warum spezialisierte Hardware die Schnittstelle antreibt.

Auf jeden Fall benötigen Sie immer noch ein Minimum an Hardware für eine Verbindung, da Ihre CPU an einen Bus angeschlossen ist und diese Hardware die gleiche "Sprache" oder das gleiche Protokoll wie dieser Bus beherrscht, um mit der CPU zu interagieren. Für alte Systeme wie den Commodore 64 und dessen Modell waren bereits Geräte wie der "Versatile Interface Adapter" oder der "Complex Interface Adapter" vorhanden. Die CPU würde auf diesem Chip lesen und schreiben, um den Status der "Ports" (es war angeschlossen) zu erhalten zu und erschien auf dem CPU-Bus) und der Chip hätte eine physische Verbindung, um die physischen Ports auf der Rückseite oder die Steckplätze in der Hauptplatine zu verbinden.

Für moderne x86-CPUs ist PCI-E am nächsten. PCI-E-Controller sind jetzt in CPUs integriert, waren jedoch Teil des Chipsatzes. Sie benötigen also immer noch etwas, das PCI-E-Signale aufnimmt und diese mindestens in HDMI-Signale umwandelt.

VGA ist jedoch eine andere Sache .

Das war eine fantastische Antwort. Vielen Dank für die klare Erklärung! Lord Windy vor 6 Jahren 0
1
Seth

Nein, ich kann nicht. Ohne eingebaute Grafikeinheit besteht keine physische Verbindung zu diesen Ports. Sie benötigen eine Art Hardware, die mit diesem Port verbunden ist, damit der Port tatsächlich verwendet werden kann.

1
Twisty Impersonator

Ich denke, dein Freund gewinnt die Wette.

Für die Ausgabe des tatsächlichen Videos über eine HDMI- oder eine andere physikalische Schnittstelle sind zwei Dinge erforderlich:

  1. Erzeugung aufeinanderfolgender Videoframes
  2. Übertragen der Frames über den Videoanschluss.

Es ist die Aufgabe, mit dem eigentlichen Hardware-Port zu kommunizieren, den eine CPU allein nicht leisten kann.

Da Sie eine tatsächliche Ausgabe über den HDMI-Port erwarten, gibt es zwei Gründe, warum dies nicht nur mit einer CPU geschieht:

  1. Das Rendern jedes Einzelbildes einer Videoausgabe ist auf wiederholte Weise rechenintensiv. Eine CPU könnte die Arbeit erledigen, aber dies würde ihre Fähigkeit, ihren "Tagesjob" zu erledigen, erheblich beeinträchtigen, was zu einem langsamen System führt. GPUs wurden für diese Art von Arbeit entwickelt.
  2. Um die digitale Darstellung eines Videoframes in die Signale umzuwandeln, die erforderlich sind, um es über einen physischen Port zu übertragen, ist ein Hardware-Customizing für diesen Port erforderlich. CPUs sollen in vielen verschiedenen Systemen funktionieren und haben keine Kontrolle über die physischen Videoanschlüsse, mit denen sie voraussichtlich arbeiten. Dies macht es einer reinen CPU unmöglich, die Aufgabe, Video-Frames zu generieren und über einen physischen Port auszugeben, durchgängig zu erledigen . Selbst moderne CPUs, die eine eingebaute GPU enthalten, sind für die Videoausgabe von zusätzlichen Komponenten auf dem Motherboard abhängig. Technisch bilden diese beiden Teile zusammen eine Grafikkarte.

Offensichtlich kann die CPU Task 1 ausführen, aber für Task 2 ist zusätzliche Hardware erforderlich. In modernen Computern ist dies der Grafikadapter.