{"id":16190,"date":"2022-11-15T15:54:48","date_gmt":"2022-11-15T14:54:48","guid":{"rendered":"https:\/\/www.bernd-leitenberger.de\/blog\/?p=16190"},"modified":"2022-11-15T15:54:48","modified_gmt":"2022-11-15T14:54:48","slug":"warum-haben-grafikkarten-spezial-ram","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2022\/11\/15\/warum-haben-grafikkarten-spezial-ram\/","title":{"rendered":"Warum haben Grafikkarten Spezial-RAM?"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_16190\" class=\"pvc_stats all  \" data-element-id=\"16190\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.bernd-leitenberger.de\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Auf den heutigen Blog bin ich gekommen, weil ich an einem seit langem angefangenen Aufsatz &uuml;ber den \u201eidealen CP\/M Rechner\u201c weitermache, den wohl niemand au&szlig;er mir interessiert. Das Hautproblem ist dabei die RAM Ausstattung, genauer gesagt der Bildschirmspeicher und der Zugriff auf ihn.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg02.met.vgwort.de\/na\/8ec36b6421444fef8db596a40c744d1b\" width=\"1\" height=\"1\" alt=\"\"\/><br \/>\nDamit man die Materie etwas besser versteht hier mal eine Erkl&auml;rung der Problematik. Bei den damals &uuml;blichen Monitoren mit R&ouml;hren war es so, das der Computer parallel zur Bewegung des Elektronenstrahls die Bits an den Monitor &uuml;bergeben musste, meist &uuml;ber eine serielle Leitung. Bei typisch 100.000 bis 300.000 Pixeln pro Bild zur damaligen Zeit und Bildwiederholraten von 50 bis 70 Hz kommt man so leicht in den zweistelligen Megabit Bereich. Es gab schon Bausteine, die auf schnelle Transfers spezialisiert waren. Viele Rechner setzten daf&uuml;r eigene ASIC Bausteine wie Video Gate Arrays ein, die sequenziell den Speicher auslasen und dann die Bits in ein Schieberegister ablegten wo sie getaktet bitweise &uuml;bertrugen wurden. War mehr als Schwarz-Wei&szlig; bzw. Schwarz-Gr&uuml;n oder Schwarz-Bernstein n&ouml;tig, so gab es mehrere Leitungen, meist eine pro RGB Komponente (Rot, Gr&uuml;n., Blau), zusammen mit einem Signal f&uuml;r die Helligkeit kam man so auf 16 Farben, die bei vielen Rechnern Standard waren (8 Farben als Mischung der RGB Signale in zwei Helligkeiten). Farbe erh&ouml;hte nat&uuml;rlich noch die Problematik der Bandbreite bzw. des schnellen Auslesens von Speicherbausteinen, weil so aus acht Schwarz-Wei&szlig; Pixeln zwei Pixeln in 16 Farben wurden.<!--more--><\/p>\n<p>Eine zweite Besonderheit des Monitors ist noch wichtig. Es gab durch die niemals ganz plane Glasr&ouml;hre Bereiche oben und unten, die nicht beschrieben wurden und bei vielen Rechnern auch als Rand zu sehen waren. Unter optimalen Umst&auml;nden machte der Rand ein Viertel der Gesamtfl&auml;che aus, bei einigen Heimcomputern konnten es aber auch 40 Prozent sein. Da der Rand zur Fl&auml;che mitz&auml;hlt erh&ouml;ht er die Anforderungen an die Bandbreite weiter, allerdings muss die Elektronik w&auml;hrend der Rand von dem Elektronenstrahl abgestrichen wird, keine Bildinformationen &uuml;bertragen und das Video Gate Array greift dann nicht auf das RAM zu. Die Synchronisation des Gate Arrays und des Bildschirms erfolgt durch generierte Synchronisationsimpulse am Ende jeder Zeile und jedes Bildes.<\/p>\n<p>Als w&auml;re das nicht schon genug an Anforderungen, muss die Information nicht nur gelesen werden, sondern auch geschrieben. Das geschieht durch die CPU, die Zeichen im RAM rendert oder Linien zeichnet. Sie greift daher auch auf das RAM zu, die ganze theoretische Bandbreite des RAM steht so f&uuml;r das Gate Array nicht zur Verf&uuml;gung.<\/p>\n<p>Die folgende Tabelle informiert &uuml;ber die Anforderungen an den Bildschirmspeicher die ich f&uuml;r verschiedene Aufl&ouml;sungen ermittelt haben. Angenommen wird ein Rand von 25 Prozent der Gesamtfl&auml;che.<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"4\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"20%\">Aufl&ouml;sung<\/td>\n<td width=\"20%\">Bildpunkte + Rand<\/td>\n<td width=\"20%\">Bildwiederholfrequenz<\/td>\n<td width=\"20%\">Bandbreite<\/td>\n<td width=\"20%\">Zykluszeit RAM<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"20%\">640 \u00d7 400<\/td>\n<td width=\"20%\">341.333<\/td>\n<td width=\"20%\">50 Hz<\/td>\n<td width=\"20%\">17,07 MHz<\/td>\n<td width=\"20%\">468 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"20%\">720 \u00d7 448<\/td>\n<td width=\"20%\">430.080<\/td>\n<td width=\"20%\">50 Hz<\/td>\n<td width=\"20%\">21,51 MHz<\/td>\n<td width=\"20%\">371 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"20%\">640 \u00d7 480<\/td>\n<td width=\"20%\">409.600<\/td>\n<td width=\"20%\">50 Hz<\/td>\n<td width=\"20%\">20,48 MHz<\/td>\n<td width=\"20%\">390 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"20%\">640 \u00d7 400<\/td>\n<td width=\"20%\">341.333<\/td>\n<td width=\"20%\">60 Hz<\/td>\n<td width=\"20%\">20,48 MHz<\/td>\n<td width=\"20%\">390 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"20%\">720 \u00d7 448<\/td>\n<td width=\"20%\">430.080<\/td>\n<td width=\"20%\">60 Hz<\/td>\n<td width=\"20%\">25,85 MHz<\/td>\n<td width=\"20%\">309 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"20%\">640 \u00d7 480<\/td>\n<td width=\"20%\">409.600<\/td>\n<td width=\"20%\">60 Hz<\/td>\n<td width=\"20%\">24,58 MHz<\/td>\n<td width=\"20%\">325 ns<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Zur Erkl&auml;rung: Nat&uuml;rlich k&ouml;nnen auch Monitore nicht unbegrenzt schnell die Information darstellen. Dies wurde damals in MHz Bandbreite angegeben. 1983 hatten die bezahlbaren Monitore eine Bandbreite von 14,5 bis 18 MHz, 1986 lag sie bei 20 bis 22 MHz. Es gab immer Monitore mit h&ouml;herer Bandbreite, nur waren sie auch deutlich teurer und mein Rechner sollte ja erschwinglich sein.<\/p>\n<p>Die Zykluszeit des RAM ist berechnet f&uuml;r einen Zugriff auf acht RAM Bausteine gleichzeitig (8 Bit pro Zugriff), da 8 Bit Rechner meistens RAM Bausteine mit einer Datenleitung nahmen (Organisation z.B. 64 Kbit \u00d7 1, dann ben&ouml;tigt man 8 Bausteine um ein Byte zu speichern.<\/p>\n<p>F&uuml;r das Auslesen ist wichtig das vor dem n&auml;chsten Zzugriff das RAM einen vollst&auml;ndigen Zyklus durchlaufen hat \u2013 nach dem Auslesen von Information muss sie bei dynamischen RAM wieder aufgefrischt werden. Statische RAM ben&ouml;tigen dies nicht und bei ihnen entspricht dann die Zykluszeit der Zugriffszeit. Nimmt man nur den Zugriff des Video Arrays auf das RAM so ist die Zykluszeit der Kehrwert der Bandbreite.<\/p>\n<h2 class=\"western\">Und wo bleibt die CPU?<\/h2>\n<p>Wer damalige Zykluszeiten von RAM noch im Kopf hat wird sich nun sagen \u201eUnd wo ist das Problem?\u201c. Das Problem ist, dass die CPU auch auf das RAM zugreift. Zum einen d&uuml;rfen sich Video-RAM und CPU nicht ins Gehege kommen, zum anderen erh&ouml;ht dies die Anforderungen an das RAM drastisch. Bei den damaligen CPU ohne Pipeline war es so, das sie feste Befehlszyjlen hatten. In der ersten H&auml;lfte des Zyklus griffen sie auf das RAM zu, in der zweiten H&auml;lfte erfolgten interne Operationen. Das nutzten viele Systeme aus. Das Video Gate Array griff dann immer im zweiten Zyklus auf das RAM zu. Dann verdoppelte sich aber die Anforderung an die Zykluszeit, da man nur halb so viel Zeit daf&uuml;r hatte Aus dem niedrigsten Wert der obigen Tabelle 309 ns, wurden dann 154 ns und eine so kurze Zykluszeit hatte damals kein RAM.<\/p>\n<p>Die Methode war zudem nicht ohne Nachteile. Der letzte Zyklus einer Instruktion konnte keinen RAM Zugriff erfordern und ben&ouml;tigte so weniger Takte. Damit nun die CPU nicht mit dem Videozugriff kollidierte, legte das Gate Array meist ein Signal an den Wait Eingang der CPU der sie zum Warten brachte bis das Signal wieder verschwand. Das bremste die CPU aus. Die Z80 um die es in meinem Beispiel geht ist hier sehr empfindlich. Diese Methode wurde bei dem Amstrad CPC und MSX Rechnern eingesetzt und sie verlangsamte den Rechner um 20 %, ein 4 MHz Rechner war also nur 3,2 MHz netto schnell. Je nach Befehl wurden 1 bis 7 Wartetakte eingeschoben. Das betraf, sofern es keinen separaten Videospeicher gibt, jeden Zugriff, also nicht nur auf den Bildschirm sondern auch bei normalen Operationen.<\/p>\n<p>Weiterhin begrenzte dies den CPU Takt, den im ersten Zyklus musste nun nicht nur der Zugriff erfolgen, sondern auch der Komplette Zyklus mit Wiederauffrischen der Information. Ohne Video-Array h&auml;tte man die zweite Zyklus f&uuml;r das Wiederauffrischen der Information,<\/p>\n<p>Hier nun die obige Tabelle nochmal, bei Einsatz dieser einfachen Methode, nur diesmal mit den dann ben&ouml;tigten Zykluszeiten und der maximal m&ouml;glichen Tatfrequenz einer Z80 CPU:<\/p>\n<p>&nbsp;<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"4\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"30%\">Aufl&ouml;sung<\/td>\n<td width=\"30%\">Bildwiederholfrequenz<\/td>\n<td width=\"20%\">Max. Z80 Frequenz<\/td>\n<td width=\"20%\">Zyskluszeit RAM<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"30%\">640 \u00d7 400<\/td>\n<td width=\"30%\">50 Hz<\/td>\n<td width=\"20%\">4 MHz<\/td>\n<td width=\"20%\">234 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"30%\">720 \u00d7 448<\/td>\n<td width=\"30%\">50 Hz<\/td>\n<td width=\"20%\">5 MHz<\/td>\n<td width=\"20%\">185 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"30%\">640 \u00d7 480<\/td>\n<td width=\"30%\">50 Hz<\/td>\n<td width=\"20%\">4,8 MHz<\/td>\n<td width=\"20%\">195 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"30%\">640 \u00d7 400<\/td>\n<td width=\"30%\">60 Hz<\/td>\n<td width=\"20%\">4,8 MHz<\/td>\n<td width=\"20%\">195 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"30%\">720 \u00d7 448<\/td>\n<td width=\"30%\">60 Hz<\/td>\n<td width=\"20%\">6 MHz<\/td>\n<td width=\"20%\">155 ns<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"30%\">640 \u00d7 480<\/td>\n<td width=\"30%\">60 Hz<\/td>\n<td width=\"20%\">5,1 MHz<\/td>\n<td width=\"20%\">183 ns<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Das sind nun mal nicht berauschende Geschwindigkeiten. Die Z80 ist sehr anspruchsvoll beim RAM Timing, eine Z80 CPU braucht schon im Normalbetrieb genauso schnelle RAM wie eine 5 MHz 8086 CPU.<\/p>\n<h2 class=\"western\">M&ouml;gliche L&ouml;sungen, nur mit RAMs<\/h2>\n<p>Die einfachste L&ouml;sung ist es mehr Speicherbausteine zu verwenden. Wenn man den Speicher nicht aus 8 Bausteinen, sondern 16 aufbaut, dann w&uuml;rde jeder zweite Zugriff andere Bausteine ansprechen. Diese Technik ist bei Gro&szlig;rechnern g&auml;ngig, Ein 64 K Systeme wurde dann nicht acht Bausteine mit je 64 Kbit, sondern 16 mit je 32 Kbit einsetzen. Die L&ouml;sung ist aber teurer und braucht mehr Platz. Zudem braucht man eine weitere Schaltung, wenn es einen Sprung im Programm gibt oder aus anderen Gr&uuml;nden man zweimal auf dieselbe Bank zugreift, die dann erneut die CPU anh&auml;lt. Immerhin k&ouml;nnte man in diesem Falle auf das generelle Anhalten beim Videozugriff verzichten wenn das Video Array immer gerade auf andere Bank zugreift.<\/p>\n<p>Die zweite L&ouml;sung sind RAMs die anders organisiert sind. Auch so kommt man auf mehr B&auml;nke, aber ohne mehr Chips einzusetzen. Verwendet man anstatt 64 K \u00d7 1 Bit ein RAM mit 16 K \u00d7 4 Bit so speichern beide Bausteine 64 Kbit, aber vom zweiten ben&ouml;tigt man nur zwei f&uuml;r das Speichern eines Bytes anstatt acht. Damit w&uuml;rde bei acht Bausteinen im Mittel erst nach vier Zugriffen wieder die ersten beiden an die Reihe kommen. IBM PC kompatible Rechner setzten dieses Konzept um.<\/p>\n<p>Die letzte M&ouml;glichkeit sind statische RAM. Bei ihnen ist die Zykluszeit gleich der Zugriffszeit, bei normalen RAM ist die Zykluszeit meist 70 bis 80 % l&auml;nger als die Zugriffszeit. Ich habe mal mit den Einzelhandelspreisen vom Januar 1986 hier eine kleine Liste erstellt:<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"4\">\n<tbody>\n<tr valign=\"top\">\n<td width=\"17%\">Bezeichnung<\/td>\n<td width=\"17%\">Organisation<\/td>\n<td width=\"17%\">Zugriffszeit<\/td>\n<td width=\"17%\">Zykluszeit<\/td>\n<td width=\"17%\">Kosten f&uuml;r 64 KByte<\/td>\n<td width=\"17%\">Kosten f&uuml;r 256 KByte<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"17%\">4116<\/td>\n<td width=\"17%\">16K <span style=\"font-family: Liberation Serif, serif;\">\u00d7<\/span> 1 DRAM<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">320 ns<\/td>\n<td width=\"17%\">136 DM<\/td>\n<td width=\"17%\"><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"17%\">4164<\/td>\n<td width=\"17%\">64K \u00d7 1 DRAM<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">280 ns<\/td>\n<td width=\"17%\">22,40 DM<\/td>\n<td width=\"17%\"><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"17%\">41256<\/td>\n<td width=\"17%\">256K \u00d7 1 DRAM<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">260 ns<\/td>\n<td width=\"17%\"><\/td>\n<td width=\"17%\">72,80 DM<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"17%\">4416<\/td>\n<td width=\"17%\">16K \u00d7 4 DRAM<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">260 ns<\/td>\n<td width=\"17%\">136 DM<\/td>\n<td width=\"17%\"><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"17%\">6116 LP-3<\/td>\n<td width=\"17%\">2K \u00d7 8 SRAM<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">176 DM<\/td>\n<td width=\"17%\"><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"17%\">6264 LP-15<\/td>\n<td width=\"17%\">8K \u00d7 8 SRAM<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">150 ns<\/td>\n<td width=\"17%\">82,40 DM<\/td>\n<td width=\"17%\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Man sieht die L&ouml;sung mit mehr Bausteinen daf&uuml;r niedriger Dichte (4116) ist teuer. Zu dem Zeitpunkt kostete ein 4116 RAM schon mehr als das viermal gr&ouml;&szlig;ere 4164!. Die Sonderform 4416 mit 4 Datenleitungen ist ebenso &uuml;berproportional teuer. Wenn die Kosten keine Rolle spielen, w&uuml;rde ich am besten den Speicher komplett aus 6264 statischem RAM aufbauen. Bei 150 ns Zykluszeit erlaubt das sogar eine 6,7 MHz CPU. Es ist aber fast viermal so teuer wie die kosteng&uuml;nstigste L&ouml;sung und teurer als 256 KByte mit 256 Kbit DRAM Bausteinen.<\/p>\n<h2 class=\"western\">Andere L&ouml;sungen<\/h2>\n<p>Viele Rechner hatten ein separates Videoram, das mussten nicht mal Rechner mit Grafikmodus sein, denn auch bei Rechnern die nur einen Textmodus beherrschten ergaben sich dieselben Probleme. Dieses Video RAM wurde dann exklusiv von einem Videoprozessor verwaltet. Popul&auml;r waren der TMS 9928\/9929 im <a href=\"https:\/\/www.bernd-leitenberger.de\/TI994a-intern.shtml\">Ti 99\/4A<\/a> und den <a href=\"https:\/\/www.bernd-leitenberger.de\/msx.shtml\">MSX Ger&auml;ten<\/a>. Die Commodore Rechner hatten den VIC. IBM PC kompatible Rechner hatten die Grafik- und Textdarstellung sowieso auf eine Steckkarte ausgelagert und setzten bei <a href=\"https:\/\/www.bernd-leitenberger.de\/grafik-beim-ibm-pc.shtml\">CGA (Gafikkarte) und MDA (Textkarte) <\/a>den 6845 von Motorola ein. Wenn die CPU in den Videospeicher schreiben wollte musste sie warten. Im Normalfall war dies so gel&ouml;st, dass der CPU-Zugriff dann erlaubt war, wenn die nicht sichtbaren Bereiche vom Elektronenstrahl passiert wurden also nach Ende jeder Zeile. Da bei selbst 400 Zeilen und 50 Hz eine Zeile in weniger als 50 \u00b5s gezeichnet ist, bemerkt man davon keine Verlangsamunmg. Operationen bei denen die CPU nur auf den Grafikspeicher zugreift laufen aber langsamer ab, doch das ist selten.<\/p>\n<p>Die zweite L&ouml;sung wurde schon 1983 erfunden, es waren Multiport-RAM die dann zum Standard bei Grafikkarten wurden. Eines der ersten war das TMS4161 RAM. Es hatte zwei Ports. Im einen Port war es kompatibel zum 4164 RAM. Der zweite Port hatte ein 256 Bit breites Stiftregister und eine Daten und eine Steuerleitung. Legte man an die Steuerleitung ein Signal an, so stand an der Datenleitung das n&auml;chste Bit an. So konnten bis zu 256 Bit sequentiell mit hoher Datenrate (25 MHz) ausgelesen werden. Dieses RAM kopiert im Prinzip eine ganze Zeile bei einem Zugriff in ein Stiftregister anstatt nur einem Bit. Es machte Gebrauch von der Tatsache das der Bildschirminhalt immer sequentiell innerhalb einer Zeile ausgelesen wurde (die Zeilen mussten aber nicht sequentiell im Speicher angeordnet sein). Die Wartezyklen f&uuml;r eine 8086 CPU sanken so von 20 auf 1 Prozent ab. Daneben h&auml;tte man bei 8 Bausteinen (wegen der 1 Bit Organisation) eine Videobandbreite von bis zu 200 MHz unterst&uuml;tzen k&ouml;nnen.<\/p>\n<p>Solche RAM wurden dann unter verschiedenen Bezeichnungen wie GRAM oder VRAM zum Standard-RAM der <a href=\"https:\/\/www.bernd-leitenberger.de\/bits-sparen-vdp-vdc-timing.shtml\">Grafikkarten<\/a> ab der VGA Generation, also man weil die RAMs nur langsamer schneller wurden und es immer mehr Farben gab, zum Standard. Daneben etablierte sich das Grafikkarten auch mehr Bits auf einmal zugriffen, das ist bis heute so geblieben.<\/p>\n<p>Heute gibt es noch immer einen Unterschied zwischen DDR-RAM im Computer und auf der Grafikkarte. Das GDDR-RAM ist immer noch eine Klasse besser als das im Computer. Daneben greifen die GPU mit breiteren Bussen auf das RAM zu und transferieren mehr Daten pro Zeiteinheit, zus&auml;tzlich ist das RAM fest verl&ouml;tet: spart einige Zentimeter Weg, die bei Taktfrequenzen von mehreren Gigahertz aber durchaus eine Rolle spielen. Schon l&auml;ngst resultiert die Geschwindigkeitsanforderung nicht mehr aus der f&uuml;r die Darstellung ben&ouml;tigten Bandbreite. Vielmehr berechnet heute die Grafikkarte selbst die Szene und muss daf&uuml;r viele Daten aus dem RAM holen, das daher auch um ein vielfaches gr&ouml;&szlig;er als das nur f&uuml;r die Darstellung ben&ouml;tigte RAM ist \u2013 selbst f&uuml;r 8K Aufl&ouml;sung ben&ouml;tigt man nur 128 MByte RAM f&uuml;r den Bildschirminhalt selbst, w&auml;hrend selbst preiswerte Grafikkarten &uuml;ber 1 bis 2 GByte RAM haben.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_16190\" class=\"pvc_stats all  \" data-element-id=\"16190\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.bernd-leitenberger.de\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Auf den heutigen Blog bin ich gekommen, weil ich an einem seit langem angefangenen Aufsatz &uuml;ber den \u201eidealen CP\/M Rechner\u201c weitermache, den wohl niemand au&szlig;er mir interessiert. Das Hautproblem ist dabei die RAM Ausstattung, genauer gesagt der Bildschirmspeicher und der Zugriff auf ihn. Damit man die Materie etwas besser versteht hier mal eine Erkl&auml;rung der [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"closed","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":[610,1922,3385,4931,4932],"class_list":["post-16190","post","type-post","status-publish","format-standard","hentry","category-computer","tag-grafikkarten","tag-ram","tag-video","tag-zugriffszeit","tag-zykluszeit","entry"],"a3_pvc":{"activated":true,"total_views":435,"today_views":1},"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":16190,"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":18612,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/28\/galileos-cds-teil-2\/","url_meta":{"origin":16190,"position":1},"title":"Galileos CDS \u2013 Teil 2","author":"Bernd Leitenberger","date":"28. M\u00e4rz 2026","format":false,"excerpt":"So, heute geht es weiter mit Teil 2 \u00fcber Galileos CDS, dieser Beitrag schlie\u00dft nahtlos an den ersten Beitrag von gestern an, wie man schon an der ersten Textzeile sieht. Nach der Einleitung im ersten Teil geht es heute weiter damit warum der RCA 1802 genutzt wurde und was seine\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\/191e4b0728de42829cf656027b84dc82","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":16190,"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":18614,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/29\/galileos-cds-teil-3\/","url_meta":{"origin":16190,"position":3},"title":"Galileos CDS &#8211; Teil 3","author":"Bernd Leitenberger","date":"29. M\u00e4rz 2026","format":false,"excerpt":"So nun zum dritten Teil \u00fcber das prim\u00e4re Computersystem von Galileo, das CDS. Nachdem sich die ersten beiden Teile nur mit dem RCA 1802, warum er gew\u00e4hlt wurde und seiner Architektur befassten geht es heute um das Computersystem selbst. Der Artikel schlie\u00dft so an seine beiden Vorg\u00e4nger gestern und vorgestern\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\/6e7f572a246b4ac395de9c260733b707","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":16190,"position":4},"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":18504,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/01\/25\/die-glorreichen-10-satellitenrekorde\/","url_meta":{"origin":16190,"position":5},"title":"Die glorreichen 10 &#8211; Satellitenrekorde","author":"Bernd Leitenberger","date":"25. Januar 2026","format":false,"excerpt":"Ich denke, es wird mal wieder Zeit f\u00fcr etwas leichte Unterhaltung die etwas Wissen vermittelt. Also einen Blog \u00fcber 10 Rekorde bei Satelliten, die ihr vielleicht noch nicht kennt. Um eines klarzustellen - es geht nur um Satelliten. Raumsonden sind au\u00dfen vor, weil bei ihnen vieles anderes ist, so kann\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":"\/img\/1kgsats.png","width":350,"height":200,"srcset":"\/img\/1kgsats.png 1x, \/img\/1kgsats.png 1.5x, \/img\/1kgsats.png 2x, \/img\/1kgsats.png 3x"},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/16190","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=16190"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/16190\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=16190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=16190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=16190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}