Zum Inhalt springen

„Video Display Controller“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
MystBot (Diskussion | Beiträge)
K Wikilink aus Überschrift entfernt
 
(35 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:TMS9918A 02.jpg|mini|Ein VDC vom Typ TMS9918A]]
Ein '''Video Display Controller''' oder VDC ist eine [[integrierte Schaltung]], die der Hauptbestandteil in einem Videosignalgenerator ist. Seine Aufgabe ist es das [[Videosignal]]s für den [[Fernseher]] oder den [[Bildschirm|Monitor]] in einer [[Datenverarbeitungsanlage]] oder in einem Spielsystem zu erzeugen. VDCs waren in den alten [[Heimcomputer]] der Achtzigerjahre, aber auch in einigen frühen [[Spielkonsole|Videospielsystemen]] üblich. Aktuelle Computersysteme verwenden stattdessen einen [[Grafikprozessor]] (GPU), der deutlich mehr Funktionen übernehmen kann und gewisse Berechnungen zur Bildaufbereitung selbstständig übernimmt. Die tatsächliche Bildumwandlung geschieht im [[RAMDAC]].
Als '''Video Display [[Controller (Hardware)|Controller]]''' ('''VDC''') bezeichnet man eine [[integrierte Schaltung]], welche die unmittelbare Schnittstelle zwischen [[Datenverarbeitungsanlage]] ([[Heimcomputer]], [[Spielkonsole]] etc.) und grafischer Ausgabe/Bildgeber, also z. B. [[Computermonitor|Monitor]] oder [[Fernsehgerät]], realisiert. Seine Aufgabe ist es, den Bildgeber anzusteuern.


== Unterfunktionseinheiten ==
Das VDC war der Hauptbestandteil der Videosignalgeneratorlogik, aber manchmal gibt es auch andere unterstützende Chips, wie [[Random Access Memory|RAM]], um die Pixeldaten zu halten und [[Read Only Memory|ROM]], um Schriftarten zu speichern. In reinen Textsystemen übernimmt der VDC die Aufgabe, aus den Zeichenwerten im Hauptspeicher und der Schriftart die Buchstaben zu erzeugen. Einige VDCs konnten bereits einige Aufgaben mittels [[Schieberegister]]n und [[Indizierte Farben|Paletten]] selbstständig erledigen. Der Grafikprozessor des [[Nintendo Entertainment System]] war beispielsweise für die Darstellung der [[Sprite (Computergrafik)|Sprites]] auf dem Bildschirm verantwortlich. Wenn kein zusätzlicher [[RAMDAC]] vorhanden ist, erzeugt der VDC die Timingsignale des Videosignals, also die Taktsignale für den Kathodenstrahl des Bildschirms.
[[Datei:NECuPD7220BlockDiagram.svg|mini|hochkant=1.4|Blockdiagramm eines VDC vom Typ uPD7220]]
=== Bildpuffer ===
Der [[Bildpuffer]] ist die Hauptschnittstelle zwischen dem Video Display Controller und dem Bildgeber, also der [[CPU]] oder [[Grafikprozessor|GPU]]. Er ist eine beliebige Art von [[Random-Access Memory|Direktzugriffsspeicher]] zum Schreiben und Lesen. Seine Größe bestimmt die maximale [[Bildauflösung|Bild-]] und [[Farbtiefe (Computergrafik)|Farbauflösung]].

Bei sehr frühen [[Grafikkarte]]n hatte der [[Löten|verlötete]] Direktzugriffsspeicher lediglich den Zweck, als Bildschirmpuffer zu dienen. Man konnte also schon allein anhand seiner Größe die maximale mögliche Bild- und Farbauflösung ausrechnen. Ein [[Rastergrafik|Rasterbild]]
* mit 320×240 Bildpunkten bei 8 [[bit]] Farbauflösung benötigt 76.800 [[Byte]]s an Speicher
* mit 640×480 [[Pixel|Bildpunkten]] bei 24 bit benötigt 921.600 Bytes
* mit 1024×768 Bildpunkte bei 24 bit benötigt 2.359.296 Bytes.
Wenn [[Doppelpufferung|''double-'']] oder [[Dreifachpufferung|''triple-buffering'']] eingesetzt wird, so wird jeweils doppelt bzw. dreifach so viel Speicher benötigt.

Moderne Grafikprozessoren können weit mehr, große Speichermengen werden für Zwischenberechnungen oder [[Textur (Computergrafik)|Texturen]] benötigt. Ein Teil dieses riesigen Grafikspeichers wird als Bildpuffer genutzt; es ist nicht vorteilhaft dafür einen extra Speicher anzubinden.

Schon anhand der Farbauflösung von z.&nbsp;B. 8&nbsp;bit kann man erahnen, dass der Bildschirm ebenfalls eine Schnittstelle benötigt, nämlich die Schnittstelle zum [[Eingabegerät]]. 8&nbsp;bit Farbtiefe bedeutet 2<sup>8</sup>&nbsp;=&nbsp;256 mögliche Farben pro Bildpunkt. Der Monitor hat aber überhaupt keine Bildpunkte, sondern jeder Bildpunkt setzt sich zusammen aus 3&nbsp;Unterbildpunkten (''Sub-Pixels'') für die Farben Rot, Grün und Blau; d.&nbsp;h. etwas im oder vor dem Monitor muss aus den 8&nbsp;bit Farbinformation pro Bildpunkt [[Farbwert]]e für die Unterbildpunkte errechnen oder [[Indizierte Farben|einer Tabelle entnehmen]].

=== Logik-Einheit ===
Die Logik-Einheit liest die [[Bilddaten]], die von der&nbsp;CPU oder dem&nbsp;GCA in den Bildpuffer geschrieben wurden, wieder aus und schickt sie an den&nbsp;PHY (s.&nbsp;u.).

Diese Daten benötigen [[Metainformation]]en: Bildauflösung und Farbtiefe. Außerdem muss klar sein, in welchem Format (z.&nbsp;B. RGBA8888, ARGB8888 etc.) die einzelnen Pixel [[kodiert]] sind.

Die Logik-Einheit kann den Bildgeber u.&nbsp;U. auch ansteuern und z.&nbsp;B. die gewünschte Bildschirmauflösung, Farbtiefe und [[Bildwiederholrate]] einstellen. Dies ist bei sämtlich modernen Monitoren vorgesehen.

Falls ein Bild gleichzeitig auf mehreren Monitoren ausgegeben werden kann und soll, wird die gewünschte [[Konfiguration (Computer)|Konfiguration]] von der Logik-Einheit gewährleistet.

=== Pre-PHY ===
Je nachdem, gemäß welcher [[Spezifikation]] mit dem Bildgeber kommuniziert wird, müssen die Daten entsprechend aufbereitet werden. So muss u.&nbsp;U. das vorliegende Farbformat, etwa&nbsp;RGBA8888, in ein anderes Farbformat, z.&nbsp;B. in YC<sub>B</sub>C<sub>R</sub>&nbsp;4:4:4, umgewandelt werden. Übliche Schnittstellen sind [[VGA-Anschluss|VGA]], [[Digital Visual Interface|DVI]], [[High Definition Multimedia Interface|HDMI]] oder [[DisplayPort]].

Falls eine analoge elektronische Schnittstelle unterstützt wird, muss der [[RAMDAC]] das [[Digitalsignal|digitale Signal]] in ein analoges umwandeln. Die [[Frequenz]] des&nbsp;RAMDACs kann die maximal mögliche Bildauflösung und Bildwiederholungsrate begrenzen.

=== PHY ===
Dieser [[Funktionsblock]] erzeugt aus den bei ihm ankommenden Daten ein Signal, welches z.&nbsp;B. nach [[Low Voltage Differential Signaling]] oder [[Transition-Minimized Differential Signaling]] spezifiziert ist. Dieses Signal wird über ein Kabel zum Bildgeber geschickt.

=== Extended Display Identification Data-Leser (EDID-Leser) ===
[[Polling (Informatik)|Pollt]] Daten vom Monitor.

== Geschichte ==
Alte Grafikkarten beinhalteten einen Chip, welcher nur einen Video Display Controller implementierte. Ein moderner Grafikprozessor&nbsp;(GPU) beinhaltet auch einen ''Display Controller'', auch ''Display Engine'' genannt, der jedoch nur einen verschwindend geringen Anteil der gesamten [[Die (Halbleitertechnik)|Die]]-Fläche belegt.

Der&nbsp;VDC war der Hauptbestandteil der Logik zur Generierung des [[Videosignal]]s, aber manchmal gibt es auch andere unterstützende Chips wie [[Random Access Memory|RAM]], um die Pixeldaten zu halten, oder [[Read Only Memory|ROM]], um [[Schriftart]]en zu speichern.

In reinen Textsystemen übernimmt der&nbsp;VDC die Aufgabe, aus den Zeichenwerten im [[Hauptspeicher]] und der Schriftart die Buchstaben zu erzeugen.

Einige&nbsp;VDCs konnten bereits einige Aufgaben mittels [[Schieberegister]]n und [[Indizierte Farben|Paletten]] selbständig erledigen; so war z.&nbsp;B. der Grafikprozessor des [[Nintendo Entertainment System]] für die Darstellung der [[Sprite (Computergrafik)|Sprites]] auf dem Bildschirm verantwortlich.

Wenn kein zusätzlicher [[RAMDAC]] vorhanden ist, erzeugt der&nbsp;VDC die Timingsignale des Videosignals, also die [[Taktsignal]]e für den [[Kathodenstrahl]] des Bildschirms.


[[Kategorie:Fernsehtechnik]]
[[Kategorie:Fernsehtechnik]]
[[Kategorie:Mikrocontroller]]
[[Kategorie:Mikrocontroller]]

[[ca:Video Display Controller]]
[[en:Video Display Controller]]
[[it:Video Display Controller]]
[[nl:Video Display Controller]]
[[ru:Видеоконтроллер]]

Aktuelle Version vom 17. April 2024, 07:20 Uhr

Ein VDC vom Typ TMS9918A

Als Video Display Controller (VDC) bezeichnet man eine integrierte Schaltung, welche die unmittelbare Schnittstelle zwischen Datenverarbeitungsanlage (Heimcomputer, Spielkonsole etc.) und grafischer Ausgabe/Bildgeber, also z. B. Monitor oder Fernsehgerät, realisiert. Seine Aufgabe ist es, den Bildgeber anzusteuern.

Unterfunktionseinheiten

[Bearbeiten | Quelltext bearbeiten]
Blockdiagramm eines VDC vom Typ uPD7220

Der Bildpuffer ist die Hauptschnittstelle zwischen dem Video Display Controller und dem Bildgeber, also der CPU oder GPU. Er ist eine beliebige Art von Direktzugriffsspeicher zum Schreiben und Lesen. Seine Größe bestimmt die maximale Bild- und Farbauflösung.

Bei sehr frühen Grafikkarten hatte der verlötete Direktzugriffsspeicher lediglich den Zweck, als Bildschirmpuffer zu dienen. Man konnte also schon allein anhand seiner Größe die maximale mögliche Bild- und Farbauflösung ausrechnen. Ein Rasterbild

  • mit 320×240 Bildpunkten bei 8 bit Farbauflösung benötigt 76.800 Bytes an Speicher
  • mit 640×480 Bildpunkten bei 24 bit benötigt 921.600 Bytes
  • mit 1024×768 Bildpunkte bei 24 bit benötigt 2.359.296 Bytes.

Wenn double- oder triple-buffering eingesetzt wird, so wird jeweils doppelt bzw. dreifach so viel Speicher benötigt.

Moderne Grafikprozessoren können weit mehr, große Speichermengen werden für Zwischenberechnungen oder Texturen benötigt. Ein Teil dieses riesigen Grafikspeichers wird als Bildpuffer genutzt; es ist nicht vorteilhaft dafür einen extra Speicher anzubinden.

Schon anhand der Farbauflösung von z. B. 8 bit kann man erahnen, dass der Bildschirm ebenfalls eine Schnittstelle benötigt, nämlich die Schnittstelle zum Eingabegerät. 8 bit Farbtiefe bedeutet 28 = 256 mögliche Farben pro Bildpunkt. Der Monitor hat aber überhaupt keine Bildpunkte, sondern jeder Bildpunkt setzt sich zusammen aus 3 Unterbildpunkten (Sub-Pixels) für die Farben Rot, Grün und Blau; d. h. etwas im oder vor dem Monitor muss aus den 8 bit Farbinformation pro Bildpunkt Farbwerte für die Unterbildpunkte errechnen oder einer Tabelle entnehmen.

Die Logik-Einheit liest die Bilddaten, die von der CPU oder dem GCA in den Bildpuffer geschrieben wurden, wieder aus und schickt sie an den PHY (s. u.).

Diese Daten benötigen Metainformationen: Bildauflösung und Farbtiefe. Außerdem muss klar sein, in welchem Format (z. B. RGBA8888, ARGB8888 etc.) die einzelnen Pixel kodiert sind.

Die Logik-Einheit kann den Bildgeber u. U. auch ansteuern und z. B. die gewünschte Bildschirmauflösung, Farbtiefe und Bildwiederholrate einstellen. Dies ist bei sämtlich modernen Monitoren vorgesehen.

Falls ein Bild gleichzeitig auf mehreren Monitoren ausgegeben werden kann und soll, wird die gewünschte Konfiguration von der Logik-Einheit gewährleistet.

Je nachdem, gemäß welcher Spezifikation mit dem Bildgeber kommuniziert wird, müssen die Daten entsprechend aufbereitet werden. So muss u. U. das vorliegende Farbformat, etwa RGBA8888, in ein anderes Farbformat, z. B. in YCBCR 4:4:4, umgewandelt werden. Übliche Schnittstellen sind VGA, DVI, HDMI oder DisplayPort.

Falls eine analoge elektronische Schnittstelle unterstützt wird, muss der RAMDAC das digitale Signal in ein analoges umwandeln. Die Frequenz des RAMDACs kann die maximal mögliche Bildauflösung und Bildwiederholungsrate begrenzen.

Dieser Funktionsblock erzeugt aus den bei ihm ankommenden Daten ein Signal, welches z. B. nach Low Voltage Differential Signaling oder Transition-Minimized Differential Signaling spezifiziert ist. Dieses Signal wird über ein Kabel zum Bildgeber geschickt.

Extended Display Identification Data-Leser (EDID-Leser)

[Bearbeiten | Quelltext bearbeiten]

Pollt Daten vom Monitor.

Alte Grafikkarten beinhalteten einen Chip, welcher nur einen Video Display Controller implementierte. Ein moderner Grafikprozessor (GPU) beinhaltet auch einen Display Controller, auch Display Engine genannt, der jedoch nur einen verschwindend geringen Anteil der gesamten Die-Fläche belegt.

Der VDC war der Hauptbestandteil der Logik zur Generierung des Videosignals, aber manchmal gibt es auch andere unterstützende Chips wie RAM, um die Pixeldaten zu halten, oder ROM, um Schriftarten zu speichern.

In reinen Textsystemen übernimmt der VDC die Aufgabe, aus den Zeichenwerten im Hauptspeicher und der Schriftart die Buchstaben zu erzeugen.

Einige VDCs konnten bereits einige Aufgaben mittels Schieberegistern und Paletten selbständig erledigen; so war z. B. der Grafikprozessor des Nintendo Entertainment System für die Darstellung der Sprites auf dem Bildschirm verantwortlich.

Wenn kein zusätzlicher RAMDAC vorhanden ist, erzeugt der VDC die Timingsignale des Videosignals, also die Taktsignale für den Kathodenstrahl des Bildschirms.