{"id":4820,"date":"2011-05-25T00:19:24","date_gmt":"2011-05-24T22:19:24","guid":{"rendered":"http:\/\/www.bernd-leitenberger.de\/blog\/?p=4820"},"modified":"2011-05-23T13:20:37","modified_gmt":"2011-05-23T11:20:37","slug":"die-sache-mit-dem-ram","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2011\/05\/25\/die-sache-mit-dem-ram\/","title":{"rendered":"Die Sache mit dem RAM"},"content":{"rendered":"<p>Zeit mal wieder f&uuml;r einen Aufsatz &uuml;ber Computer &#8211; diesmal ein Grundlagenkapitel, wobei ich ja weis, dass wir hier einige gut vorgebildete Leser haben. Die bitte ich schon jetzt um Nachsicht, weil ich mich auf das wesentliche beschr&auml;nken will, damit alle was davon haben. (Das mache ich eigentlich immer, nur gibt es nicht viele Leser mit der entsprechenden Vorbildung in anderen Gebieten oder sie melden sich nicht).<\/p>\n<p>Das heutige RAM in Form von Halbleiterspeichern entstand Anfang der siebziger Jahre. Vorher gab es zwar schon etwa 10 Jahre lang IC&#8217;s mit integrierten Schaltungen, aber sie ersetzten Logikschaltungen, die vorher ganze Platinen einnahmen. Das RAM war lange Zeit noch Ringkernspeicher, also ein magnetischer Speicher, kein elektronischer Speicher.<!--more--><\/p>\n<p>Kurz nach dem sp&auml;ter &#8222;statischen&#8220; Speicher genannten, ersten Speicher, der aus den Transistoren der Logikschaltungen bestand, wurde das dynamische RAM erfunden. Beim statischen RAM bestand eine Speicherstelle aus 4 Transistoren, die ein Flip-Flop bildeten. Sie speicherten ein Bit. Eine DRAM Speicherstelle bestand nur aus einem Transistor und einem Kondensator, der noch dazu in die Tiefe des Substrats ging. Der Transistor lies die Ladung im Substrat passieren oder eben nicht. Verglichen mit dem statischen RAM ben&ouml;tigte diese Speicherstelle nur ein Viertel des Platzes &#8211; oder es gab Speicherchips mit viermal so viel Kapazit&auml;t zum gleichen Preis. Sp&auml;ter wurde das Verh&auml;ltnis noch extremer, weil auch der gesamte Aufbau eines DRAM&#8217;s viel einfach ist und es weniger Leitungen gibt.<\/p>\n<p>Der einzige Nachteil war, dass der Speicher seine Information von alleine vergisst und das auch bei anliegender Stromversorgung. Sie musste regelm&auml;&szlig;ig &#8222;aufgefrischt&#8220; werden &#8211; dazu wird jede Speicherstelle ausgelesen und der Inhalt erneut geschrieben. W&auml;hrend dieser Zeit ist sie nicht ansprechbar. Das erfordert eine eigene Logik, die jedoch weil sich der Speicher schnell durchsetzte bald in die Mikroprozessoren eingebaut wurde.<\/p>\n<p>Anfangs war so der einzige Vorteil des statischen Speichers, dass er unkomplizierter war. Der Geschwindigkeitsvorteil von statischem Speicher durch den fehlenden Refresh liegt im einstelligen Prozentbereich. Doch diesem Siegeszug folgte Ern&uuml;chterung.<\/p>\n<p>In den folgenden Jahren steig die Taktfrequenz von Mikroprozessoren schnell an. 1974 wurden 2 MHz erreicht, 1978 schon 4 MHz, 1982 waren es 8 MHz und 1985 waren es es 16 MHz. Dem musste die mittlere Zugriffszeit des Speichers folgen. Darunter ist folgendes zu verstehen: Soll ein Bit oder Byte gelesen werden, so legt der Prozessor zuerst die Adresse, von der gelesen wird, auf den Adressbus, signalisiert dann durch ein Signal, dass der Speicherbaustein die Adresse &uuml;bernehmen kann, danach liest der Speicherbaustein die Daten aus und legt sie auf den Datenbus und signalisiert in einem vierten Zyklus durch ein weiteres Signal, dass diese vom Prozessor gelesen werden k&ouml;nnen. Das bedeutet, es werden 4 Takte ben&ouml;tigt um ein Byte auszulesen, je schneller die Prozessoren wurden, desto kleiner musste diese Zykluszeit werden. Anfangs war das kein Problem. Speicher war sogar schneller als die Prozessoren. So konstruierte 1976 Texas Instruments den Prozessor TMS9900, der seinen Registersatz im Speicher ablegte &#8211; eine Fehlentscheidung, denn sp&auml;ter sank die Zugriffszeit kaum noch.<\/p>\n<p>Bis zu einer Zugriffszeit von 100 bis 120 ns, das entspricht bei Prozessoren, die 4 Takte pro Byte brauchen, einem Takt von 8 bis 10 MHz, folgte der Speicher den Prozessoren, dann gelang es kaum noch das Auslesen von DRAM zu beschleunigen. Doch eine R&uuml;ckkehr zu dem statischen Speicher war nicht mehr m&ouml;glich. Er w&auml;re nicht finanzierbar gewesen. Durch den gleichen Aufbau wie die Logikschaltungen ist er allerdings deutlich schneller. Bei den schnelleren 286 Prozessoren b&uuml;rgerte sich daher ein Begriff ein: Wartetakte. Entweder man bezahlte viel f&uuml;r schnellen Speicher oder man verzichtete auf Leistung, indem nach jedem Zugriff der Prozessor einen oder zwei Takte lang D&auml;umchen drehte.<\/p>\n<p>So &uuml;bernahm man ein Konzept, dass sich schon bei den Gro&szlig;rechnern bew&auml;hrte. Dort war das Problem durch die viel h&ouml;heren Taktfrequenzen schon ein Jahrzehnt vorher aufgetreten. Die L&ouml;sung bestand in einem zwischengeschalteten, kleinen Speicher, dem Cache. Er bestand aus schnellem statischen Speicher, hatte aber nur einen Bruchteil der Gr&ouml;&szlig;e des eigentlichen Hauptspeichers. Der Cache wurde in kleinen Einheiten, den Cache-Lines organisiert. Jede nahm eine Kopie von zusammenh&auml;ngenden Teilen des Hauptspeichers auf. Eine Logik merkte sich welche Cache Lines als letztes genutzt wurden und verwarf den Inhalt der Lines, deren Zugriff lang zur&uuml;ck lag wenn neue Daten vom Hauptspeicher ben&ouml;tigt wurden. Sp&auml;ter wurden die Algorithmen noch perfektioniert. Die 386er Generation hatte den Cache in eigenen Bausteinen auf der Platine, beim 486er gab es schon ein zweistufiges Konzept (ein kleiner L1 Cache auf dem Prozessor, ein gr&ouml;&szlig;erer auf dem Mainboard, heute gibt es bis zu 3 Cache Levels, die aber meist alle im Prozessor verbaut sind.<\/p>\n<p>Sie machen inzwischen einen Gro&szlig;teil der Transistorzahl der Prozessoren aus, bei Serverprozessoren mit gro&szlig;en Caches bis zu 90%. Das liegt auch darin, dass ein Cache je schneller er sein muss, mehr Transistoren pro Bit braucht. &Uuml;blich sind bei L1-Caches 8 Transistoren pro Bit und bei L2 Caches sind es 6 Transistoren. Jede Stufe ist etwas langsamer als die vorherige, daf&uuml;r um so gr&ouml;&szlig;er.<\/p>\n<p>Das l&ouml;st aber das Problem der langsamen Zugriffszeit nur bedingt. Sie liegt heute bei 30 bis 40 ns, das hei&szlig;t ohne Caches w&uuml;rde man maximal 25 MHz Takt? bedienen k&ouml;nnen. Die L&ouml;sung war das synchrone RAM. Es nutzt eine Eigenschaft von Code aus &#8211; im Normalfall ben&ouml;tigt man ja nicht die Daten von Ziig unterschiedlichen Positionen vom Speicher, sondern Variablen liegen hintereinander und Code wird weitgehend sequentiell durchlaufen. SDRAM und das darauf aufbauende DDR RAM liefern nun nach dem ersten Datenwort mit jedem Takt ein weiteres. (DDR RAM: pro Takt zwei, daher das &#8222;double Data Rate&#8220;) Je nach Speicherbaustein 8 bis 16 St&uuml;ck. F&uuml;r diese wird dann ? der Zugriffszeit eingespart.<\/p>\n<p>Das zweite, was aber nur bedingt m&ouml;glich ist, um die Geschwindigkeit zu steigern, ist die Verbreiterung des Datenbusses, also einfach mehr Leitungen die mehr Daten parallel &uuml;bertragen. Bei Prozessoren setzt die Bauform von RAM-Modulen hier eine Grenze. Die Pins kann man nicht zu nah aneinander r&uuml;cken, um nicht zu riskieren, dass es Probleme beim Einsetzen der kleinen Platinen gibt. Bei Grafikkarten, wo der Speicher direkt verl&ouml;tet wird, gibt es jetzt schon 256 Datenleitungen, einige Karten arbeiten sogar mit 512. Im PC Bereich muss man bisher mit 64 auskommen. 256 Datenleistungen bedeuten nat&uuml;rlich bei gleich schnellem Speicher die vierfache Transferleistung. Das Grafikkarten so hohe Anforderungen haben verwundert nicht: Bei PC Programmen &auml;ndert sich der Code &uuml;berhaupt nie, Daten nur teilweise. Bei dem Inhalt des Bildschirmspeichers &auml;ndert dieser sich bei Aktion Spielen dauernd. Es kommt also darauf an m&ouml;glichst viele Daten hin und her zu schaufeln. Daf&uuml;r sind Caches die h&auml;ufig benutzte Codeteile zwischenspeichern nicht so wichtig.<\/p>\n<p>Die immer h&ouml;here Geschwindigkeit macht es auch n&ouml;tig den Speicher recht nahe an den Prozessor zu bringen. Bei den alten PC&#8217;s konnte man den Speicher noch auf Modulen und Zusatzkarten einbauen. Das w&auml;re heute undenkbar. Neben der langen Signallaufzeit &uuml;ber die lange Strecke passiert er auch einige Logikbausteine die das Signal verz&ouml;gern und dazu kommt noch ein zeitintensives Busprotokoll. Das elektrische Signale legen in Leiterbahnen etwa 200.000 km\/s zur&uuml;ck. Klingt nach viel, aber bei 3 GHz bedeutet dass, das ein Signal maximal 7 cm weit kommt, bis der n&auml;chste Takt kommt. Der Speicher muss also direkt an den Prozessor herangebracht werden und wenn sie mal ihr Mainboard ansehen, stellen sie auch fest, dass er sich direkt neben dem Prozessor befindet.<\/p>\n<p>Ich vermute mal, wenn SSD noch schneller werden, werden diese auch bald nicht mehr an einer SATA Leitung h&auml;ngen, sondern direkt an dem Prozessor angebracht werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zeit mal wieder f&uuml;r einen Aufsatz &uuml;ber Computer &#8211; diesmal ein Grundlagenkapitel, wobei ich ja weis, dass wir hier einige gut vorgebildete Leser haben. Die bitte ich schon jetzt um Nachsicht, weil ich mich auf das wesentliche beschr&auml;nken will, damit alle was davon haben. (Das mache ich eigentlich immer, nur gibt es nicht viele Leser [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[1926,1924,1922,1923,1925],"class_list":["post-4820","post","type-post","status-publish","format-standard","hentry","category-computer","tag-cache","tag-ddr-ram","tag-ram","tag-sdram","tag-statischer-speicher","entry"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18612,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/28\/galileos-cds-teil-2\/","url_meta":{"origin":4820,"position":0},"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":4820,"position":1},"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":4820,"position":2},"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":18380,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/03\/die-glorreichen-10-das-war-mal-weg-pc-hardware\/","url_meta":{"origin":4820,"position":3},"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":18603,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/12\/politikverdruss\/","url_meta":{"origin":4820,"position":4},"title":"Politikverdruss","author":"Bernd Leitenberger","date":"12. M\u00e4rz 2026","format":false,"excerpt":"Bei uns wurde in BW gew\u00e4hlt und nat\u00fcrlich gab es jede Menge Sendungen im Radio und Fernsehen mit den Spitzenkandidaten. Ich habe mir die SWR1 Reihe \"Leute\", ein Radio-Talkformat mit den Spitzenkandidaten angeh\u00f6rt und nehme das mal als Aufh\u00e4nger etwas \u00fcber das zu schreiben was mich an der Politik in\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/9297ac798f9047d9a27f46008ab7fa99","width":350,"height":200},"classes":[]},{"id":5216,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2011\/08\/10\/fcea2\/","url_meta":{"origin":4820,"position":5},"title":"FCEA2","author":"Bernd Leitenberger","date":"10. August 2011","format":false,"excerpt":"CEA2 (Chemical Equilibrium with Applications) ist ein seit gut 30 Jahren entwickeltes NASA Programm mit dem verschiedenste Probleme bei Gasphasen berechnet werden k\u00f6nnen. Ich beschr\u00e4nke mich auf das, was Raumfahrtliebhaber wohl am meisten machen: Die Berechnung der Performance von Triebwerken bei Raketen. Ich will die Benutzung des Programmes einmal erl\u00e4utern,\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:\/\/vg01.met.vgwort.de\/na\/89efc24160614a1a93d97d19447e81a6","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\/4820","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=4820"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/4820\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=4820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=4820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=4820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}