Videografik-Array - Video Graphics Array

Videografik-Array
IBM VGA-Grafikkarte.jpg
Veröffentlichungsdatum 1987 ; Vor 34 Jahren ( 1987 )
Karten
Einstiegslevel
Mittelklasse
Hochwertig
Geschichte
Vorgänger Verbesserter Grafikadapter
Nachfolger

Video Graphics Array ( VGA ) ist ein Video-Display-Controller und ein begleitender De-facto-Grafikstandard, der erstmals 1987 mit der IBM PS/2- Reihe von Computern eingeführt wurde und innerhalb von drei Jahren in der PC- Industrie allgegenwärtig wurde . Der Begriff kann sich nun auf den Standard für Computerdisplays , den 15-Pin- D-Subminiatur- VGA-Anschluss oder die charakteristische Auflösung von 640×480 der VGA-Hardware beziehen .

VGA war der letzte IBM-Grafikstandard, dem sich die Mehrheit der PC-Klonhersteller anpasste, und ist damit der kleinste gemeinsame Nenner , den praktisch alle PC-Grafikhardware nach 1990 implementieren kann.

IBM beabsichtigte, VGA durch den Extended Graphics Array (XGA)-Standard zu ersetzen , scheiterte jedoch. Stattdessen wurde VGA von Drittanbietern in viele erweiterte Formen angepasst, die zusammen als Super VGA bekannt sind , und wich dann benutzerdefinierten Grafikverarbeitungseinheiten, die zusätzlich zu ihren proprietären Schnittstellen und Fähigkeiten weiterhin gängige VGA-Grafikmodi und -schnittstellen bis heute implementieren Tag.

Der VGA-Analogschnittstellenstandard wurde erweitert, um Auflösungen von bis zu 2048×1536 und in speziellen Anwendungen sogar noch höher zu unterstützen.

Hardware-Design

VGA-Bereich auf dem Motherboard in IBM PS/55

Im Gegensatz zu den Vorgänger-Grafikkarten ( MDA , CGA , EGA und viele Optionen von Drittanbietern) gab es von IBM zunächst keine eigenständige VGA-Karte. Die erste kommerzielle Implementierung von VGA war eine eingebaute Komponente von IBM PS/2, in der es von 256 KB Video-RAM und einem neuen DE-15-Anschluss begleitet wurde, der den DE-9 ersetzte, der von früheren Grafikkarten verwendet wurde.

IBM veröffentlichte später den eigenständigen IBM PS/2 Display Adapter , der den VGA nutzte, aber zu Maschinen hinzugefügt werden konnte, die ihn nicht eingebaut hatten.

Der VGA war ein einzelner Chip, der die Gesamtheit eines Video-Display-Controllers implementierte, und nicht die vielen diskreten Komponenten und ICs der Grafikadapter, die ihm vorausgegangen waren. Der Begriff "Array" statt "Adapter" im Namen bedeutete, dass es sich nicht um ein vollständig unabhängiges Erweiterungsgerät handelte, sondern um eine einzelne Komponente, die in ein System integriert werden konnte.

Der VGA erforderte nur Videospeicher, Zeitmesskristalle und einen externen RAMDAC , und seine geringe Anzahl von Teilen ermöglichte es IBM, ihn im Gegensatz zu früheren IBM PC-Modellen – PC , PC/XT und PC AT  – direkt auf dem PS/2-Motherboard zu integrieren. Dies erforderte einen separaten Bildschirmadapter, der in einem Steckplatz installiert war, um einen Monitor anzuschließen.

Fähigkeiten

Vergleich der Standardauflösungen einschließlich VGAs 640x480

Der VGA unterstützt alle Grafikmodi, die von den MDA-, CGA- und EGA-Karten unterstützt werden, sowie mehrere neue Modi.

Standard-Grafikmodi

  • 640×480 in 16 Farben oder Monochrom
  • 640×350 oder 640×200 in 16 Farben oder monochrom (EGA-Kompatibilität)
  • 320×200 in 256 Farben ( Modus 13h )
  • 320×200 in 4 oder 16 Farben (CGA-Kompatibilität)

Die Modi 640 × 480 16-Farben und 320 × 200 256-Farben hatten vollständig neu definierbare Paletten, wobei jeder Eintrag aus einem 18-Bit-(262.144-Farben) Farbraum ausgewählt wurde.

Die anderen Modi waren standardmäßig EGA- oder CGA-kompatible Paletten und Anweisungen, erlaubten aber immer noch die Neuzuordnung der Palette mit VGA-spezifischen Befehlen.

640×480 Grafikmodus

Als der VGA in großen Mengen von Herstellern geklont wurde, die immer mehr Fähigkeiten hinzufügten, wurde sein 640×480, 16-Farben-Modus de facto der kleinste gemeinsame Nenner von Grafikkarten. Mitte der 1990er Jahre wurde von Betriebssystemen wie Windows 95 und OS/2 Warp 3.0 ein 640×480×16-Grafikmodus unter Verwendung der VGA-Speicher- und Registerspezifikationen erwartet , die keine Unterstützung für niedrigere Auflösungen oder Bittiefen oder Unterstützung für andere Speicher- oder Registerlayouts ohne zusätzliche Treiber. Bis weit in die 2000er Jahre, auch nachdem der VESA- Standard für Grafikkarten alltäglich geworden war, blieb der "VGA"-Grafikmodus eine Kompatibilitätsoption für PC-Betriebssysteme.

Andere Grafikmodi

Nicht standardmäßige Anzeigemodi können implementiert werden, mit horizontalen Auflösungen von:

  • 512 bis 800 Pixel breit, in 16 Farben
  • 256 bis 400 Pixel breit, in 256 Farben

Und Höhen von:

  • 200 oder 350 bis 410 Zeilen (einschließlich 400 Zeilen) bei 70 Hz Bildwiederholfrequenz oder
  • 224 bis 256 oder 448 bis 512 Zeilen (einschließlich 240 oder 480 Zeilen) bei 60 Hz Bildwiederholfrequenz
  • 512 bis 600 Zeilen bei reduzierten vertikalen Bildwiederholraten (bis zu 50 Hz, einschließlich zB 528, 544, 552, 560, 576 Zeilen), abhängig von der individuellen Monitorkompatibilität.

So stehen beispielsweise hochauflösende Modi mit quadratischen Pixeln bei 768×576 oder 704×528 in 16 Farben oder mittel-niedrige Auflösung bei 320×240 mit 256 Farben zur Verfügung. Alternativ ist eine erweiterte Auflösung mit „fetten“ Pixeln und 256 Farben mit zB 400×600 (50 Hz) oder 360×480 (60 Hz) und „dünnen“ Pixeln, 16 Farben und der 70 Hz Bildwiederholfrequenz mit zB 736 . erhältlich ×410-Modus.

"Schmale" Modi wie 256 × 224 behalten in der Regel das gleiche Pixelverhältnis wie im 320 × 240-Modus, es sei denn, der Monitor wird so eingestellt, dass das Bild gestreckt wird, um den Bildschirm auszufüllen, da sie stattdessen einfach durch Maskieren des breiteren Modus abgeleitet werden zum Ändern von Pixel- oder Zeilen-Timings, kann jedoch nützlich sein, um den Speicherbedarf und Pixeladressierungsberechnungen für Arcade-Spielkonvertierungen oder Konsolenemulatoren zu reduzieren.

Standardtextmodi

VGA implementiert auch mehrere Textmodi:

  • 80×25, gerendert mit einer 9×16-Pixel-Schriftart, mit einer effektiven Auflösung von 720×400
  • 40×25, mit einer 9×16-Schriftart, mit einer effektiven Auflösung von 360×400
  • 80×43 oder 80×50, mit einem 8×8-Schriftraster, mit einer effektiven Auflösung von 640×344 oder 640×400 Pixel.

Wie bei den pixelbasierten Grafikmodi sind durch die korrekte Programmierung des VGA zusätzliche Textmodi mit einem Gesamtmaximum von etwa 100 × 80 Zellen und einem aktiven Bereich von etwa 88 × 64 Zellen möglich.

Eine Variante, die manchmal zu sehen ist, ist 80×30 oder 80×60 mit einer 8×16- oder 8×8-Schriftart und einer effektiven 640×480-Pixel-Anzeige, die den flimmernden 60-Hz-Modus gegen zusätzliche 5 oder 10 . eintauscht Textzeilen und quadratische Zeichenblöcke (oder bei 80×30 quadratische Halbblöcke).

Technische Details

Im Gegensatz zu den Vorgängerkarten, die binäre TTL- Signale als Schnittstelle mit einem Monitor (oder Composite im Fall des CGA) verwendeten, führte der VGA eine Videoschnittstelle mit reinen analogen RGB-Signalen ein, 0,7 Volt Spitze-Spitze max. In Verbindung mit einem 18-Bit- RAMDAC ergab dies einen Farbraum von 262.144 Farben. Diese Tonleiter hat kommen als gut bekannt sein SRGB Farbraum (aber es ist am häufigsten in 16.777.216 Farben unterteilt , um eine 24-Bit - RAMDAC oder 8-Bits pro Primärfarbe verwendet wird ).

Die ursprünglichen VGA-Spezifikationen folgen:

Signalzeiten

Der vorgesehene Standardwert für die Horizontalfrequenz des 640×480-Modus von VGA ist genau das Doppelte des Wertes, der im NTSC-M- Videosystem verwendet wird, da dies das Anbieten optionaler TV-Out- Lösungen oder externer VGA-zu-TV-Konverterboxen viel einfacher machte zum Zeitpunkt der Entwicklung von VGA. Es ist auch mindestens nominell doppelt so hoch wie CGA, das auch Composite-Monitore unterstützt .

Alle abgeleiteten VGA-Timings (dh diejenigen, die die Masterquarze mit 25,175 und 28,322 MHz und in geringerem Maße die nominelle Zeilenrate von 31,469 kHz verwenden) können durch Software variiert werden, die die VGA-Firmware-Schnittstelle umgeht und direkt mit der VGA-Hardware kommuniziert, da viele MS-DOS-basierte Spiele taten dies. Es ist jedoch zu erwarten, dass nur die Standardmodi oder Modi, die zumindest fast genau die gleichen H-Sync- und V-Sync-Timings wie einer der Standardmodi verwenden, mit den ursprünglichen VGA-Monitoren der späten 1980er und frühen 1990er Jahre funktionieren. Die Verwendung anderer Timings kann solche Monitore tatsächlich beschädigen und wurde daher normalerweise von Softwareherstellern vermieden.

"Multisync"-CRT-Monitore von Drittanbietern waren flexibler und konnten in Kombination mit "Super EGA", VGA und späteren SVGA-Grafikkarten mit erweiterten Modi einen viel größeren Bereich an Auflösungen und Bildwiederholraten bei beliebigen Sync-Frequenzen und Pixeltakt anzeigen Tarife.

Für den gängigsten VGA-Modus (640×480, 60 Hz, non-interlaced ) finden Sie die horizontalen Timings im HP Super VGA Display Installation Guide und an anderen Stellen.

Typische Anwendungen ausgewählter Modi

640×400 @ 70 Hz ist traditionell der Videomodus, der zum Booten von VGA-kompatiblen x86- PCs verwendet wird , die einen grafischen Startbildschirm anzeigen, während der Textmodus-Boot 720×400 @ 70 Hz verwendet.

Diese Konvention wurde jedoch in den letzten Jahren ausgehöhlt, da POST- und BIOS-Bildschirme zu höheren Auflösungen übergehen und EDID-Daten nutzen, um die Auflösung an einen angeschlossenen Monitor anzupassen.

640×480 @ 60 Hz ist der standardmäßige Windows-Grafikmodus (normalerweise mit 16 Farben), bis zu Windows 2000. Er bleibt eine Option in XP und späteren Versionen über die Bootmenü-Option "Video mit niedriger Auflösung" und die Einstellungen für den Kompatibilitätsmodus pro Anwendung , obwohl Windows jetzt standardmäßig auf 1024 × 768 eingestellt ist und im Allgemeinen keine Auflösung unter 800 × 600 eingestellt werden kann.

Der Bedarf an einem derart minderwertigen, universell kompatiblen Fallback hat seit der Jahrtausendwende abgenommen, da Bildschirme nach VGA-Signalisierungsstandard oder Adapter, die nicht über die ursprüngliche Auflösung hinaus zeigen, immer seltener werden.

320×200 bei 70 Hz war der gängigste Modus für PC-Spiele aus der VGA-Ära.

Verbinder

Ein D-SUB-Anschluss (besser bekannt als VGA-Anschluss )
VGA-BNC-Anschlüsse

Die Standard-VGA-Monitorschnittstelle ist ein 15-poliger D-Subminiatur-Anschluss in der "E"-Schale, verschiedentlich als "HD-15", "DE-15" und "DB-15" bezeichnet.

Da VGA analoge Niederspannungssignale verwendet, wird die Signalverschlechterung bei minderwertigen oder zu langen Kabeln zu einem Faktor. Zu den Lösungen gehören abgeschirmte Kabel, Kabel, die ein separates internes Koaxialkabel für jedes Farbsignal enthalten, und "ausgebrochene" Kabel, die ein separates Koaxialkabel mit einem BNC-Anschluss für jedes Farbsignal verwenden.

BNC-Breakout-Kabel verwenden normalerweise fünf Anschlüsse, jeweils einen für Rot, Grün, Blau, Horizontal Sync und Vertikal Sync, und enthalten nicht die anderen Signalleitungen der VGA-Schnittstelle. Bei BNC sind die Koaxialdrähte durchgehend und durch das Interconnect vollständig abgeschirmt, so dass kein Übersprechen oder externe Störungen möglich sind.

Farbpalette

VGA 256 Standard-Farbpalette
Beispiele für VGA-Bilder in 640×480 mit 16 Farben und 320×200 mit 256 Farben (unten). Dithering wird verwendet, um Farbbeschränkungen zu maskieren.

Das VGA-Farbsystem verwendet registerbasierte Paletten, um Farben in verschiedenen Bittiefen auf seinen 18-Bit-Ausgabefarbraum abzubilden. Es ist abwärtskompatibel mit den EGA- und CGA-Adaptern, unterstützt jedoch in diesen Modi zusätzliche Bittiefe für die Palette.

Im EGA 16-Farbmodus bietet VGA beispielsweise 16 Palettenregister und im 256-Farbmodus 256 Register. Jedes Palettenregister enthält einen 3×6-Bit- RGB-Wert, der eine Farbe aus dem 18-Bit-Farbraum des DAC auswählt .

Diese Farbregister werden auf Standardwerte initialisiert, von denen IBM erwartet, dass sie für jeden Modus am nützlichsten sind. EGA-16-Farben-Modi werden beispielsweise mit der Standard-CGA-16-Farben-Palette initialisiert und der 256-Farben-Modus mit einer Palette bestehend aus 16 CGA-Farben, 16 Graustufen und dann 216 Farben, die von IBM ausgewählt wurden, um die erwarteten Anwendungsfälle zu erfüllen . Nach der Initialisierung können sie jederzeit neu definiert werden, ohne den Inhalt des Video-RAM zu ändern, wodurch Palettenwechsel möglich sind .

In den 256-Farben-Modi ist der DAC so eingestellt, dass er vier 2-Bit-Farbwerte, einen aus jeder Ebene, zu einem 8-Bit-Wert kombiniert, der einen Index in der 256-Farben-Palette darstellt. Die CPU-Schnittstelle kombiniert die 4 Ebenen auf die gleiche Weise, ein Feature namens "chain-4", so dass jedes Pixel der CPU als gepackter 8-Bit-Wert erscheint, der den Palettenindex repräsentiert.

Verwenden

Der Videospeicher des VGA wird auf den in dem Bereich zwischen den Segmenten über einen Fensterspeicher des PC kartiert 0xA0000 und 0xBFFFF in der PC - Real - Mode - Adreßraum (A000: 0000 und B000: FFFF in Segment: Offset - Notation). Typischerweise sind diese Startsegmente:

  • 0xA0000 für EGA/VGA-Grafikmodi (64  KB )
  • 0xB0000 für monochromen Textmodus (32 KB)
  • 0xB8000 für Farbtextmodus und CGA-kompatible Grafikmodi (32 KB)

Aufgrund der Verwendung unterschiedlicher Adresszuordnungen für verschiedene Modi ist es möglich, einen Monochrom-Adapter (zB MDA oder Hercules ) und einen Farbadapter wie VGA, EGA oder CGA in demselben Gerät zu installieren.

Anfang der 1980er Jahre wurde dies typischerweise verwendet, um Lotus 1-2-3- Tabellenkalkulationen in hochauflösendem Text auf einem monochromen Display und zugehörige Grafiken gleichzeitig auf einem CGA-Display mit niedriger Auflösung anzuzeigen. Viele Programmierer verwendeten auch ein solches Setup, wobei die monochrome Karte Debugging-Informationen anzeigte, während ein Programm im Grafikmodus auf der anderen Karte lief. Mehrere Debugger, wie Borlands Turbo Debugger , D86 und Microsofts CodeView könnten in einem Dual-Monitor-Setup arbeiten. Zum Debuggen von Windows können entweder Turbo Debugger oder CodeView verwendet werden.

Es gab auch DOS-Gerätetreiber wie ox.sys, die eine Simulation der seriellen Schnittstelle auf dem monochromen Display implementierten und es dem Benutzer beispielsweise ermöglichten, Absturzmeldungen von Debugging-Versionen von Windows zu erhalten, ohne ein echtes serielles Terminal zu verwenden.

Es ist auch möglich, den Befehl "MODE MONO" an der DOS- Eingabeaufforderung zu verwenden, um die Ausgabe auf die monochrome Anzeige umzuleiten. Wenn kein Monochrom-Adapter vorhanden war, konnte der Adressraum 0xB000–0xB7FF als zusätzlicher Speicher für andere Programme verwendet werden.

Programmierung

Durch das "Entketten" des 256 KB VGA-Speichers in vier separate "Ebenen" werden die 256 KB RAM von VGA in 256-Farben-Modi verfügbar. Bei einigen Arten von Grafikvorgängen gibt es einen Kompromiss zwischen zusätzlicher Komplexität und Leistungsverlust, der jedoch dadurch abgemildert wird, dass andere Vorgänge in bestimmten Situationen schneller werden:

  • Das Füllen von einfarbigen Polygonen könnte aufgrund der Möglichkeit, vier Pixel mit einem einzigen Schreibvorgang in die Hardware einzustellen, beschleunigt werden.
  • Der Videoadapter könnte beim Kopieren von Video-RAM-Bereichen helfen, was manchmal schneller war als dies mit der relativ langsamen CPU-zu-VGA-Schnittstelle.
  • Die Verwendung mehrerer Videoseiten in der Hardware ermöglichte Doppelpufferung , Dreifachpufferung oder geteilte Bildschirme, die zwar im 320×200 16-Farben-Modus von VGA verfügbar waren, mit dem Standardmodus 13h jedoch nicht möglich war .
  • Insbesondere waren mehrere höhere Anzeigemodi mit beliebiger Auflösung möglich, bis hin zur programmierbaren Grenze von 800 × 600 mit 16 Farben (oder 400 × 600 mit 256 Farben) sowie andere benutzerdefinierte Modi mit ungewöhnlichen Kombinationen von horizontalen und vertikale Pixelzählungen in beiden Farbmodi.

Software wie Fractint , Xlib und ColoRIX unterstützten auch optimierte 256-Farben-Modi auf Standardadaptern mit frei kombinierbaren Breiten von 256, 320 und 360 Pixeln und Höhen von 200, 240 und 256 (oder 400, 480 und 512) Zeilen noch weiter auf 384 oder 400 Pixelspalten und 576 oder 600 (oder 288, 300). 320×240 war jedoch die bekannteste und am häufigsten verwendete, da sie eine Standardauflösung von 40 Spalten und ein Seitenverhältnis von 4:3 mit quadratischen Pixeln bot. Die Auflösung "320×240×8" wurde allgemein als Modus X bezeichnet , der Name, den Michael Abrash verwendet hat, als er die Auflösung in Dr. Dobb's Journal vorstellte .

Die Modi mit der höchsten Auflösung wurden nur in speziellen Opt-in-Fällen und nicht standardmäßig verwendet, insbesondere bei hohen Zeilenzahlen. Standard-VGA-Monitore hatten eine feste Zeilenabtastrate (H-Scan) – „Multisync“-Monitore waren damals teure Raritäten – und so musste die Bildwiederholrate (V-Scan) reduziert werden, um sie zu berücksichtigen , was das sichtbare Flimmern und damit die Augenbelastung erhöht . Zum Beispiel reduzierte der höchste 800×600-Modus, der ansonsten auf der passenden SVGA-Auflösung (mit insgesamt 628 Zeilen) basiert, die Bildwiederholfrequenz von 60 Hz auf etwa 50 Hz (und 832×624, die theoretisch maximal erreichbare Auflösung mit 256kb at 16 Farben, hätte sie auf etwa 48 Hz reduziert, kaum höher als die Rate, mit der XGA-Monitore eine Doppelfrequenz-Interlacing-Technik verwendet haben, um Vollbildflimmern zu mindern).

Diese Modi waren auch mit einigen Monitoren völlig inkompatibel, was zu Anzeigeproblemen wie dem Verschwinden von Bilddetails im Overscan (insbesondere in der horizontalen Dimension), vertikalem Roll, schlechter horizontaler Synchronisation oder sogar einem vollständigen Fehlen des Bildes abhängig vom genauen versuchten Modus führte. Aufgrund dieser potenziellen Probleme waren die meisten VGA-Optimierungen, die in kommerziellen Produkten verwendet wurden, auf standardkonformere, "monitorsichere" Kombinationen beschränkt, wie 320 × 240 (quadratische Pixel, drei Videoseiten, 60 Hz), 320 × 400 (doppelte Auflösung, zwei Videoseiten, 70 Hz) und 360×480 (höchste Auflösung kompatibel mit Standard-VGA-Monitoren und -Karten, eine Videoseite, 60 Hz) in 256 Farben oder doppelte horizontale Auflösung im 16-Farben-Modus.

Hardwarehersteller

Mehrere Unternehmen produzierten VGA-kompatible Grafikkartenmodelle.

Nachfolger

Super-VGA (SVGA)

Super VGA (SVGA) ist ein Anzeigestandard, der 1988 entwickelt wurde, als NEC Home Electronics die Gründung der Video Electronics Standards Association (VESA) ankündigte . Die Entwicklung von SVGA wurde von NEC zusammen mit anderen VESA-Mitgliedern wie ATI Technologies und Western Digital geleitet . SVGA-fähige Grafikauflösungen von bis zu 800×600 Pixeln , 36% mehr als die maximale Auflösung von VGA von 640×480 Pixeln.

Erweitertes Grafik-Array (XGA)

Extended Graphics Array (XGA) ist ein IBM-Standard - Display eingeführt im Jahr 1990. Später wurde es die häufigste Bezeichnung der 1024  ×  768 Pixel Bildschirmauflösung .

Siehe auch

Verweise

Weiterlesen

Externe Links