{"id":1959,"date":"2009-11-13T11:03:11","date_gmt":"2009-11-13T10:03:11","guid":{"rendered":"http:\/\/bernd-leitenberger.de\/blog\/?p=1959"},"modified":"2009-11-13T11:03:11","modified_gmt":"2009-11-13T10:03:11","slug":"kleine-geschichte-der-grafikkarten","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2009\/11\/13\/kleine-geschichte-der-grafikkarten\/","title":{"rendered":"Kleine Geschichte der Grafikkarten"},"content":{"rendered":"<p>Eine Mail gestern in der meine Aufs&auml;tze zur Geschichte des Computers gelobt wurden, brachte mich auf die Idee mal wieder dar&uuml;ber was zu schreiben. Nun finde ich die derzeitige Entwicklung ziemlich langweilig und sehe auch so was wie eine Schere zwischen Anwendungen und Hardware &#8211; es wird immer mehr Kerne auf einem Prozessor geben, aber es fehlen bei dem Privatanwender die Anwendungen die so viele Kerne nutzen k&ouml;nnen, da die meisten Anwendungen im Batch oder Dialogbetrieb arbeiten. So habe ich mich einem Kapitel aus der Hardwaregeschichte zugewandt: Der Anzeige von Informationen.<\/p>\n<p>Am Anfang war alles noch recht einfach: Es gab nur Text. Eine Routine im Betriebssystem oder eine festverdrahtete Logik las aus einem bestimmten Speicherbereich den Buchstabencode aus, sah in einer Tabelle aus welche Pixel daf&uuml;r an waren und welche aus und steuerte damit den Elektronenstrahl. Bei den nachleuchtenden Monitoren, die damals &uuml;blich waren musste das Timing nicht exakt sein und eine hohe Bildwiederholrate war auch nicht n&ouml;tig. Das konnte selbst ein schwachbr&uuml;stiger 8 Bit Prozessor nebenher erledigen. So hatten die ersten Computer wie Altair 8800, IMSAI oder von Prozessor Technologies nur monochrome Textdarstellung. Das galt auch f&uuml;r viele der n&auml;chsten Generationen wie den ersten Commodore CBM Systemen. Es gab damals keine eigene Hardware f&uuml;r die Darstellung und auch keinen dezidierten Grafikspeicher.<!--more--><\/p>\n<p>Mit dem Aufkommen der Heimcomputer sollten diese an den Fernseher angeschlossen werden. Die Leute wollten dann spielen oder zumindest Grafik und Farbe haben. Das machte den Job weitaus schwieriger auch weil nun die Signal synchronisiert werden mussten und TV Bildschirme nicht nachleuchten, es also je nach Fernsehnorm 25 oder 30 Bilder in zwei Halbbildern pro Sekunde geben musste. Versuche dies mit dem Hauptprozessor zu machen, waren nicht so gut: Der Sinclair ZX81 sparte sich die Logik daf&uuml;r ein und machte alles mit dem Hauptprozessor (mit nur 4 IC&#8217;s d&uuml;rfte er sehr lange den Rekord f&uuml;r den am h&ouml;chsten integrierten PC gehalten haben). Doch es ging nur in Schwarz-Wei&szlig; mit einem unsauberen Bild und jedes Mal musste vor Bildschirmausgaben und -eingaben der Prozessormodus umgeschaltet werden vom Fast Modus in den Slow Modus &#8211; der letztere war nicht schneller, nur erlaubte er auch die Ver&auml;nderung des Bildschirminhalts.<\/p>\n<p>Eine Besserung brachten die ersten Videoprozessoren wie das TMS 9918 und der MC6845. Sie griffen auf einen eigenen Speicherbereich zu, der entweder separat war oder gemeinsam mit der CPU genutzt wurde. Die einfachste Aufgabe dieser war es, den Inhalt eines Speicherbereiches auf einem Monitor oder TV Ger&auml;t auszugeben und die entsprechenden PAL und NTSC Signale zu erzeugen &#8211; mit korrekten Synchronisationsignalen. Das Bild (die Pixel) wurden aber von der CPU berechnet. Beide hatten verschiedene Modi mit denen man die Anzahl der Farben pro Pixel, die Pixelanzahl pro Zeile und die Zeilenzahl variieren konnte und so waren sie weitgehend anpassbar. Der MC 6845 war der popul&auml;rere. Er wurde in zahlreichen Heimcomputern (so der Amstrad Serie) eingesetzt und im IBM PC in der CGA Grafikkarte und der Hercules Karte. Obwohl er &#8222;d&uuml;mmer&#8220; war als der TMS 9918 hatte er einen enormen Vorteil: Er konnte viel mehr Grafikmodi und adressierte bis zu 512 KByte RAM. So waren auch sehr hochaufl&ouml;sende Grafikdisplays ansteuerbar. Ich erinnere mich noch an meine Hercules Karte und wie gut die Bilder da in Monochrom in 720 x 348 Pixeln aussahen (zumindest f&uuml;r die damalige Zeit als Standardaufl&ouml;sung 640 x 200 Pixel war). Word (f&uuml;r DOS) konnte durch Grafikanzeige sogar Proportionalschrift, Italiic, Unterstreichen und Fettschrift simulieren. Der MC 5845 wurde auch noch f&uuml;r VGA und EGA eingesetzt, dort erg&auml;nzt durch einige Custom IC&#8217;s f&uuml;r die h&ouml;heren Farbmodi, die er nativ nicht beherrschte. Ein Vorg&auml;ngermodell, der 6545 wurde in zahlreichen Commodore Maschinen eingesetzt.<\/p>\n<p>Der TMS 9918 eingesetzt bei dem Texas TI 99 4A und der MSX Serie hatte zwar nur wenige einprogrammierte Modi und konnte nur 16 KB Speicher adressieren, aber er war darauf ausgelegt erstmals Grafik nicht nur anzuzeigen, sondern auch zu erzeugen. So besa&szlig; er einen Sprite Generator &#8211; er konnte eine Spielfigur wie das Pacman M&auml;nnchen selbst&auml;ndig animieren und auf den Hintergrund reagieren oder bei einer Kollision einen Interrupt ausl&ouml;sen und so den Hauptprozessor entlasten. Das war der erste Vorl&auml;ufer zu den heutigen Chips die nicht nur den Inhalt anzeigten.<\/p>\n<p>Danach tat sich erstmals lange Zeit nichts. Zwar stiegen bei EGA und VGA die Aufl&ouml;sungen, aber es ver&auml;nderte sich nicht die Technik der Grafikkarten. Nach wie vor zeigten diese nur den Bildschirminhalt an anstatt ihn zu verwalten. So war es beim IBM PC unter DOS beliebt, direkt in den Bildschirmspeicher zu schreiben, anstatt das BIOS dazu zu bem&uuml;hen. Mit dem Verlust der Marktf&uuml;hrerschaft von IBM Ende der 80 er Jahre gab es auch ein Vakuum bei der Entwicklung. Es gab nun nicht mehr eine Firma die einen Standard setzte sondern jeder Hersteller produzierte seine eigene Super-VGA Karte: Das war eine VGA Karte die mehr konnte als die VGA Aufl&ouml;sung (meistens 800 x 600 und\/oder 1024 x 768). Es war jedoch nicht standardisiert und so lieferte jeder Hersteller Treiberdisketten f&uuml;r g&auml;ngige Software wie Lotos 1-2-3, Autocad oder Turbo Pascal. Als ich damals programmierte baute ich in meine Programme Men&uuml;s ein in denen der Anwender seine Grafikkarte w&auml;hlen konnte und der passende Treiber dann gew&auml;hlt wurde &#8211; alles nicht gerade kundenfreundlich.<\/p>\n<p>Das ganze &auml;nderte sich mit Windows. Nun gab es diesen neuen Standard und nun war auch alles Grafisch. Es kamen die ersten Grafik-Beschleuniger Karten auf den Markt. Bekannt war die Tseng ET4000. Der Unterschied: Anstatt den Inhalt des Speichers blo&szlig; wiederzugeben erzeugten sie diesen nun erstmals. Bei diesen Karten verband ein Treiber sie mit Windows: Sie konnten die elementaren Zeichenroutinen von Windows 3.1 in Hardware ausf&uuml;hren wie Linien Zeichen, Polygonz&uuml;ge erstellen oder Fl&auml;chen f&uuml;llen. Es gab dann auch die ersten Benchmarks welche die Geschwindigkeit ma&szlig;en und den ersten Skandal: Einige Hersteller pr&uuml;ften in ihren Treibern, ob das Programm das die Zeichenoperationen anstie&szlig;, das Benchmarkprogramm von Ziff Davis (Zeitschrift PC Wourld) war und wenn dies der Fall war, dann f&uuml;hrten sie nicht alle Operationen aus (Ausnahme: Endergebnis) und waren so scheinbar schneller.<\/p>\n<p>Der Urvater der heutigen Grafikkarten waren Ende der 90 er Jahre die Voodoo Karten von 3DFX. Diese Karten hatten erstmals in Hardware Operationen die f&uuml;r Spiele gebraucht wurden, wie Schattenwurf oder Berechnung ob ein Element nicht ein anderes verdeckt. Sie l&auml;uteten den Siegeszug dieser Serie ein, denn f&uuml;r nichts zahlen die Leute mehr Geld als f&uuml;r Spiele. Gleichzeitig begann ein Verdr&auml;ngungswettbewerb unter den Herstellern von Grafikkarten bei dem fast alle Firmen unter gingen. Heute sind nur noch ATI und NVIDIA &uuml;brig. In absoluten St&uuml;ckzahlen dominieren aber die Motherboard Chips&auml;tze: Intel hat einen Marktanteil von &uuml;ber 50 % an den Grafikchips und fertigt nur Chips f&uuml;r die Mainboards. Von den rund 45 % die Nvidea und ATI zusammen an Marktanteil haben d&uuml;rften auch viele auf integrierte L&ouml;sungen entfallen.<\/p>\n<p>So verwundert es nicht, dass heute beide gro&szlig;e Hersteller nach alternativen M&ouml;glichkeiten f&uuml;r ihre GPU&#8217;s suchen, die inzwischen schon l&auml;ngst leistungsf&auml;higer als eine CPU sind. Je nach Typ arbeiten einige Hundert kleiner Kerne auf einer GPU. So gibt es Bibliotheken mit denen Video Encoding viel schneller auf einer GPU m&ouml;glich ist und auch die Programmierung mit C und FORTRAN ist heute m&ouml;glich. Beide Firmen arbeiten daran auch die doppelt genaue Berechnung zu beschleunigen &#8211; sie spielt f&uuml;r Spiele keine Rolle, ist aber f&uuml;r den Einsatz in Wissenschaft und Technik notwendig. Warum? Nun es gibt nur wenige Leute die 500-1000 Euro f&uuml;r eine Top Spielekarte hinlegen, die nach einigen Monaten veraltet ist. Aber bei einem Supercomputer bei dem sie verspricht 10 mal schneller als eine normale CPU zu sein, ist das kein Thema. In einem solchen System landen dann heute gerne pro Rechner gleich mal 10.000-100.000 GPU&#8217;s und so ist dieser Markt durchaus interessant f&uuml;r die Hersteller. Doch auch hier versucht Intel mit einem Prozessor mit 256 Kernen gegenzuhalten. Ob es dazu kommen wird ist noch offen. Vor einem Jahr angek&uuml;ndigt, ist es recht still um das Projekt geworden und es ist eben kein Massenmarkt wie bei den normalen Prozessoren: F&uuml;r alle anderen Zwecke haben heute die Leute schon Probleme nur ihre vier oder acht Kerne auszulasten.<\/p>\n<p>Ich finde es unter dem Gesichtspunkt der Energieeffizienz und der Reduzierung der Ger&auml;uschkulisse schon gut, dass es heute L&ouml;sungen gibt, bei denen man eine Grafikkarte zus&auml;tzlich zur Onboard Grafik hinzunehmen kann. Wenn gespielt wird, so schaltet sich die Mainboard Grafik ab und schleift die Signale der Grafikkarte durch an den Monitorausgang und wenn dies nicht ben&ouml;tigt wird, so wird die Grafikkarte abgeschaltet. Denn eines ist leider auch immer noch gegeben: Wird eine GPU nicht gefordert, soll sie also nur die Windows Elemente anzeigen, aber nicht laufend eine Spieleszenerie anzeigen, so braucht sie nur einen Bruchteil der Grafikleistung, die Leistungsaufnahme sinkt leider nicht im selben Ma&szlig;e. Das verbindet das beste aus beiden Welten, denn f&uuml;r mich ist wichtiger das bei der normalen Arbeit mein PC leise ist und das erreicht man am besten mit einem geringeren Energieverbrauch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine Mail gestern in der meine Aufs&auml;tze zur Geschichte des Computers gelobt wurden, brachte mich auf die Idee mal wieder dar&uuml;ber was zu schreiben. Nun finde ich die derzeitige Entwicklung ziemlich langweilig und sehe auch so was wie eine Schere zwischen Anwendungen und Hardware &#8211; es wird immer mehr Kerne auf einem Prozessor geben, aber [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[611,610,612,613],"class_list":["post-1959","post","type-post","status-publish","format-standard","hentry","category-computer","tag-grafikdarstellung","tag-grafikkarten","tag-mc6845","tag-tms9918","entry"],"a3_pvc":{"activated":false,"total_views":930,"today_views":0},"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18380,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/03\/die-glorreichen-10-das-war-mal-weg-pc-hardware\/","url_meta":{"origin":1959,"position":0},"title":"Die glorreichen 10 &#8211; Das war mal weg: PC Hardware","author":"Bernd Leitenberger","date":"3. September 2025","format":false,"excerpt":"Ich will heute mal zwei ZDF Info \/ Neo Sendungen verbinden. Die glorreichen 10, die bei mir als Vorlage f\u00fcr einige Blogs dienten und die von mir noch mehr gesch\u00e4tzte Sendung \"Das war mal weg\", wo es um Dinge geht, die fr\u00fcher fast jeder hatte und die heute aus unserem\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/876c61d389304d98aa0332fadd769381","width":350,"height":200},"classes":[]},{"id":18683,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/06\/01\/die-glorreichen-10-programmiersprachen-2\/","url_meta":{"origin":1959,"position":1},"title":"Die glorreichen 10 \u2013 Programmiersprachen (2)","author":"Bernd Leitenberger","date":"1. Juni 2026","format":false,"excerpt":"Der heutige Teil schlie\u00dft nahtlos an den ersten Teil an, der gestern erschien. Es geht um 10 Kriterien anhand derer man Programmiersprachen kategorisieren kann. Maschinennah oder universell, aber komplex Als eine maschinennahe Sprache bezeichnet man eine Sprache, die nahe den M\u00f6glichkeiten von Prozessoren ist. Das Paradebeispiel ist C. Alle Prozessoren\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/7f5d9cf5265047179df05b778bf455b5","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":1959,"position":2},"title":"Galileos CDS &#8211; Teil 1","author":"Bernd Leitenberger","date":"27. M\u00e4rz 2026","format":false,"excerpt":"Hall\u00f6chen, es wird Zeit das ich mich mal wieder melde. Es gab zwei Gr\u00fcnde, warum ich mich so rar gemacht habe. Das eine ist das es gerade nicht so viel aktuelles gibt, au\u00dfer einem Update zu Artemis, zu dem ich vielleicht noch etwas schreibe. W\u00e4hrend Trump das ganze Programm nach\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/4fb81c7bafbd4d9d88b5695abdb33d29","width":350,"height":200},"classes":[]},{"id":18511,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/01\/27\/musks-ki-rechenzentren-im-orbit\/","url_meta":{"origin":1959,"position":3},"title":"Musks KI-Rechenzentren im Orbit","author":"Bernd Leitenberger","date":"27. Januar 2026","format":false,"excerpt":"Bei meinem regelm\u00e4\u00dfigen Besuch des Space Reviews stie\u00df ich auf diesen Artikel: SpaceX, orbital data centers, and the journey to Mars. Ich hatte in meiner Nachlese schon erw\u00e4hnt das Elon Musk, nachdem er dies lange verschoben hat nun plant SpaceX an die B\u00f6rse zu bringen. Ich meinte aber, das l\u00e4ge\u2026","rel":"","context":"In &quot;SpaceX&quot;","block_context":{"text":"SpaceX","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/spacex\/"},"img":{"alt_text":"","src":"https:\/\/vg06.met.vgwort.de\/na\/0ee72da693054bc3b5c3f00214a7e2b3","width":350,"height":200},"classes":[]},{"id":18673,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/30\/wenn-ihr-geld-zum-verbrennen-habt\/","url_meta":{"origin":1959,"position":4},"title":"Wenn ihr Geld zum Verbrennen habt \u2026","author":"Bernd Leitenberger","date":"30. Mai 2026","format":false,"excerpt":"\u2026 Dann z\u00fcndet damit das Grillfeuer an, aber kauft keine SpaceX Aktien. Kapitalismus ist schon was Seltsames. Der Wert eines Unternehmens in Form der Marktkapitalisierung, die man bei Aktiengesellschaften berechnen kann durch Anzahl der Aktien x Handelswert der Aktie, hat nicht sehr viel mit den wirtschaftlichen Daten des Unternehmens zu\u2026","rel":"","context":"In &quot;SpaceX&quot;","block_context":{"text":"SpaceX","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/spacex\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/d117c41e8e65452ab328ab6fca4f3147","width":350,"height":200},"classes":[]},{"id":18676,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/31\/die-glorreichen-10-programmiersprachen\/","url_meta":{"origin":1959,"position":5},"title":"Die glorreichen 10 \u2013 Programmiersprachen","author":"Bernd Leitenberger","date":"31. Mai 2026","format":false,"excerpt":"Ich wollte mal eine Reihe in dieser Rubrik \u00fcber Programmiersprachen machen. Zuerst dachte ich daran eine Liste nach meinen pers\u00f6nlichen Favoriten zu erstellen. Anfangs bef\u00fcrchtete ich, dass ich gar nicht auf 10 komme, aber es sind tats\u00e4chlich mehr, wenngleich ich in vielen Sprachen nur kleine Programme verfasst habe oder mich\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/4073c4f9dc6943a08702cdde13605d43","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/1959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/comments?post=1959"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/1959\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=1959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=1959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=1959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}