Zum Inhalt springen

„Video Display Controller“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Unterfunktionseinheiten: falschen Punkt entfernt, deutsch
K Wikilink aus Überschrift entfernt
 
(9 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:TMS9918A 02.jpg|mini|Ein VDC vom Typ TMS9918A]]
[[Datei:TMS9918A 02.jpg|mini|Ein VDC vom Typ TMS9918A]]
Als '''Video Display Controller''' oder '''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.
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.

== Aufgabe ==
Seine Aufgabe ist es den Bildgeber anzusteuern.


== Unterfunktionseinheiten ==
== Unterfunktionseinheiten ==
[[Datei:NECuPD7220BlockDiagram.svg|mini|hochkant=1.4|Blockdiagramm eines VDC vom Typ uPD7220]]
[[Datei:NECuPD7220BlockDiagram.svg|mini|hochkant=1.4|Blockdiagramm eines VDC vom Typ uPD7220]]
=== Bildpuffer ===
Ein Video Display Controller lässt sich in mehrere Funktionseinheiten unterteilen:
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]]
;'''Bildpuffer'''
* mit 320×240 Bildpunkten bei 8 [[bit]] Farbauflösung benötigt 76.800 [[Byte]]s an Speicher
: Beliebige Art von [[Random-Access Memory|Direktzugriffsspeicher]] zum Schreiben und Lesen. Der Bildpuffer ist die Hauptschnittstelle zwischen dem Video Display Controller und dem Bildgeber, also der CPU oder GPU. Die Größe des Bildpuffers bestimmt die maximale Bildauflösung 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 der Größe dieses Speichers die maximale mögliche Bild- und Farbauflösung ausrechnen. Ein Rasterbild mit 320×240 Bildpunkten bei 8bit Farbauflösung benötigt 76.800 Bytes, 640×480 Bildpunkten und 24bit benötigen 921.600 Bytes, 1024×768 Bildpunkte bei 24bit benötigen 2.359.296 Bytes an Speicher. Wenn "double-buffering" oder "tripple-buffering" zum Einsatz kommt werden jeweils doppelt beziehungsweise dreifach so viel Speicher benötigt. Moderne Grafikprozessoren können weit mehr, große Speichermengen werden für Zwischenberechnungen oder schlicht für Texturen benötigt. Ein Teil dieses riesigen Grafikspeichers wird als Bildpuffer genutzt; es ist nicht vorteilhaft dafür einen extra Speicher anzubinden.
* mit 640×480 [[Pixel|Bildpunkten]] bei 24 bit benötigt 921.600 Bytes
: Schon anhand der Farbauflösung von z.&nbsp;B. 8bit kann man erahnen, dass der Bildschirm ebenfalls eine Schnittstelle benötigt, nämlich die Schnittstelle zum Eingabegerät. 8bit Farbtiefe bedeutet 2<sup>8</sup> also 256 mögliche Farben pro Bildpunkt. Der Monitor hat aber überhaupt keine Bildpunkte, sondern jeder Bildpunkt setzt sich aus 3 Unterbildpunkten (Sub-Pixels) für die Farben Rot, Grün und Blau zusammen; d.&nbsp;h. etwas im oder vor dem Monitor muss aus den 8bit Farbinformation pro Bildpunkt Farbwerte für die Unterbildpunkte errechnen oder einer Tabelle entnehmen.
* mit 1024×768&nbsp;Bildpunkte bei 24&nbsp;bit benötigt 2.359.296&nbsp;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.
;'''Logik-Einheit'''
:Die Bilddaten, welche entweder von der CPU oder vom GCA kommen, werden von diesen in den Bildpuffer geschrieben. Die Logik-Einheit liest die Daten aus diesem Puffer wieder raus, und schickt sie an den PHY. Die Daten benötigen Meta-Informationen: Bildauflösung und Farbtiefe. Außerdem muss klar sein, in welchem Format (wie z.&nbsp;B. RGBA8888, ARGB8888, etc.) die einzelnen Pixel kodiert sind.


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]].
:Die Logik-Einheit kann den Bildgeber u.&nbsp;U. auch ansteuern, und z.&nbsp;B. die gewünschte Bildschirmauflösung, Farbtiefe und Bildwiederholrate einstellen. Eine Ansteuerung über diese Logik-Einheit ist bei sämtlich modernen Monitoren vorgesehen.


=== Logik-Einheit ===
:Falls gleichzeitig auf mehreren Monitoren ein Bild ausgegeben werden kann und soll, so wird die gewünschte Konfiguration von der Logik-Einheit gewährleistet.
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.
;'''Pre-PHY'''
: Je nachdem gemäß welcher Spezifikation mit dem Bildgeber kommuniziert wird müssen die Daten entsprechen aufbereitet werden, z.&nbsp;B. muss u.U das vorliegende Farbformat, etwa RGBA8888, in ein andere Farbformat, z.&nbsp;B. in YC<sub>B</sub>C<sub>R</sub> 4:4:4, umgewandelt werden. Übliche Schnittstellen sind [[VGA-Anschluss|VGA]], [[Digital Visual Interface|DVI]], [[High Definition Multimedia Interface|HDMI]] oder [[DisplayPort]].


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.
::Der [[RAMDAC]] führt die Umwandlung eines digitalen in ein analoges Signal durch. Er ist nur notwendig, falls eine analoge elektronische Schnittstelle unterstützt wird. Die Frequenz des RAMDACs kann die maximal mögliche Bildauflösung und Bildwiederholungsrate begrenzen.


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.
;'''[[OSI-Modell#Schicht 1 – Bitübertragungsschicht|PHY]]'''
:Funktionsblock welcher die bei ihm ankommenden Daten in ein Signal, welches z.&nbsp;B. nach [[Low Voltage Differential Signaling]] oder [[Transition-Minimized Differential Signaling]] spezifiziert ist, erzeugt. Es ist dieses Signal, welches über ein Kabel zum Bildgeber geschickt wird.


=== Pre-PHY ===
;'''[[Extended Display Identification Data|EDID]]-Leser'''
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]].
:Pollt Daten vom Monitor.

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 ==
== Geschichte ==
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. Dieser belegt jedoch nur einen verschwindend geringen Anteil der Gesammtfläche der [[Die (Halbleitertechnik)|die]].
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.
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]] selbstä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.


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

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.