© Juni 2025, letzte Änderung am 27.07.25
--- still under construction ---
1977 kam ein Heimcomputer Commodore PET 2001 auf den Markt.
Dieser hatte sowohl RAM - Random Access Memory alsauch
ROM - Read only Memory.
Betrachte ich das RAM genauer, so wurden dort in der letzten PET Version
2 Sorten verbaut.
Das verbaute SRAM - static RAM heißt 2114A-1 mit 1024 x 4 Bit Kapazität.
Zur Ansteuerung wird ein nCE - Chip Enable Signal benötigt.
Zum Schreiben ist zusätzlich ein nWE - Write Enable nötig.
Das n vor CE oder WE bedeutet Negation und wird häufig auch
mit einen Strich über den Buchstaben dargestellt.
-1 steht für 100 ns Zugriffszeit, also nachdem nCE aktiviert wurde,
stehen spätestens nach 100 ns stabile Daten an oder können eingelesen werden.
Für den Datenaustausch werden 4 Datenleitungen z.B. D0..D3 benötigt.
Für die 1024 = 210 Speicherstellen, werden 10 Adress-Leitungen
A0..A9 benötigt.
Um einen Zustand speichern zu können, also statisch zu halten,
werden je Bit mind. 4 Transistoren benötigt.
Der 2. verbaute Typ ist ein DRAM dynamic RAM 2108 mit 8 K x 1 Bit Kapazität.
Statt 213 Bits über 13 Adressleitung zu steuern, werden die Adressen
zeitlich hintereinander an 7 Adress-Pins angelegt.
Zunächst 7 Reihen übernommen mit fallender Flanke von
nRAS - Row Address Strobe und und danach 6 Spalten mit fallender Flanke von
nCAS - Column Address Strobe.
Im Schreibfall wird zeitgleich zu nCAS noch nWE aktiviert.
Mit steigender Flanke von nWE wird das Daten Bit eingelesen.
Da das DRAM lediglich einen kleinen Kondensator und einen FET je Bit hat,
muss das Bit regelmäßig aufgefrischt werden → refresh rate.
Aufgrund der gemultiplexten Adressen → halb so viele Leitungen
und der mind. 1/4 Komplexität je Bit im Vergleich zu SRAM
folgte der Siegeszug der DRAMs.
Das DRAM MK4116 mit 16K x 1 Bit von Mostek hatte damals 75% Weltmarktanteile.
Es hat 3 Steuerleitungen nRAS, nCAS, nWE;
7 Adress-Leitungen A0..A6; zwei Datenleitungen DIN, DOUT
3 Versorgungsspannungen −5 V, +5 V; +12 V; Gnd → im 16 Pin Gehäuse
Beim MK4116-3 gibt es folgendes Timing: (einfacher Lese oder Schreib-Zugriff)
Mit fallender Flanke von nCAS werden die Daten DIn übernommen.
Mit steigender Flanke von nCAS kann DOut übernommen werden.
Weitere Details wie z.B. nRAS-only refresh cycle, Read modify write
betrachte ich hier nicht mehr.
page mode read oder Write ist eine Technik wo mit RAS,
wie zuvor beschrieben, eine Seite ausgewählt wird.
Mit den ersten CAS wird die erste Adresse innerhalb dieser Seite adressiert,
dann wird CAS deaktiviert und erneut wieder aktiviert
um die nächste Adresse innerhalb dieser Seite zu erreichen.
Man spart also bei allen weiteren Zugriffen die Zeit für RAS.
Als ich die ersten Atari 520 ST mit 512 K Byte Speicher auf 1 MB erweiterte,
habe ich anfangs noch 16 stk DRAMs huckepack auf andere gelötet und
jeweils ein paar Beinchen zur Steuerung (RAS, CAS) vorsichtig weg gebogen.
Gegen Ende der Atari-Zeit kamen kleine 30 polige Streifen-Platinen
mit DRAMs heraus, welche die Erweiterung stark vereinfachten.
Mit 4 SIPPs - Single Inline Pin Package waren dann 1 MB möglich.
SIPP hat sich allerdings zugunsten der Bauform ohne Pins nicht durchgesetzt.
Das 30 polige Pin kompatible SIMM - Single Inline Memory Module
wurde der erste Standard mit 8 Bit Breite. Dafür wurde folgendes benötigt.
VCC = 5V, GND, nWE, nRAS, nCAS, A0..A11, DQ0..DQ7, und ein paar Parity-Leitungen
Es war also mit RAS und CAS noch ein asynchrones Design.
In der 486er Zeit folgte das asnchrone 72 polige PS/2 SIMM mit 32 Bit Datenbreite.
Neue Begriffe waren FPM - fast page mode und EDO - Extended Data Output, Parity fiel weg.
144 polige SO - small outline SIMMs für Laptops haben bereits 64 Bit Breite
und die Parameter können über ein extra EEPROM via I2C ausgelesen werden.
Kurz nach Einführung der 168 polige DIMMs mit 64 Bit Datenbreite ca. 1997 wechselte man vom
asynchronen DRAM zum SDRAM - synchronous DRAM.
Bei SDRAMs steht ein zentrales Taktsignal zur Verfügung. RAS und CAS werden nicht mehr als Strobe
zur Übernahme von Adressen oder Daten verwendet, sondern zur Codierung von Befehlen.
Der riesen Vorteil ist, das die Ausführung "pipelined" geschieht.
Das heisst, nahezu wärend das SDRAM noch Daten ausgibt, kann ich schon einen neuen Befehl platzieren.
Des weiteren ist der Speicher in 2 Bänke aufgeteilt. Wärend z.B. die eine Bank ausgegeben wird,
kann die 2. mit gänzlich anderer Adresse vorbereitet werden.
Um die 168 Kontakte unter zu bringen, werden sowohl auf der Oberseite als auch auf der Unterseite
der Platine Kontakte genutzt. Daher der Name DIMM - Dual Inline Memory Module.
Anbei die Signale für ein 168 poliges DIMM Synchonous DRAM ohne ECC - error correction.
Die Zeiten beim SDRAM nicht mehr in ns angegeben, sondern in Zyklen des Grundtaktes.
Z.B. 2-2-3 bei PC133 - Fronsidebus 133 MHz theoretisch max. 133 MHz x 8 Bytes ≈ 1 GB/s
Diese Parameter stehen im EEPROM als Empfehlung drin und werden wärend der Initailisierung
dem SDRAM über den Adressbus mitgeteilt.
Z.B. Burst: 8 Takte mit Daten, 1. Datum um 2 Takte verzögert (CAS latency).
Zum Anfang
Mit Einführung der 184 poligen DDR - double data rate RAMs ca. 1999,
wurden wiederum die SDRAMs verdängt. Die Ausführung geschieht wie beim SDRAM "pipelined",
jedoch sowohl auf der positven Takt-Flanke, als auch auf der negativen Flanke.
Die Laptop Variante DDR SO-DIMM hat 200 Pins.
Beim DDR SDRAM werden bei jeden Zugriff 2x 8 Byte Datenbusbreite = 16 Bytes
entspricht einem prefetch von 2, gelesen oder geschrieben.
Z.B. PC2100 3-4-4-10 DDR-266 ≙ 133 MHz theoretisch max. 2x 133 MHz x 8 Bytes = 2,1 GB/s
Zum Anfang
DDR2 Speicher mit nochmals verdoppelter Datenrate und 1,8 V wurde etwa 2003 spezifiziert.
Siehe JEDEC standard JESD79-2 240 Pins als DIMM oder 200 Pins als SO-DIMM.
Z.B PC2-4200 3-3-3 DDR2-533 ≙ 133 MHz theoretisch max. 4x 133 MHz x 8 Bytes = 4,2 GB/s
1/ (133 MHz x 2 wg.DDR2 ) ≈ 3,75 ns
Zum Anfang
2007 führte man DDR3 Speicher mit 1,35..1,5 V ein, mit nochmals verdoppelten internen Takt.
240 Pins als DIMM, 204 Pins als SO-DIMM.
Z.B. PC3-10600 DDR3-1333 ≙ 166 MHz theoretisch max. 8x 166 x 8 Bytes = 10,6 GB/s
Zum Anfang
DDR4 Speicher folgte 2014 mit 1,2 V, als DIMM mit 288 Pins und als SO-DIMM mit 260 Pins.
Z.B. PC4-14900 DDR4-1866 ≙ 233 MHz theoretisch max. 8x 233 x 8 Bytes = 14,9 GB/s
Gegenüber DDR3 wurden nur leichte Verbesserungen eingeführt.
Zum Anfang
Beim 2020 definierten DDR5 Speicher mit 1,1 V geht man auf 16 fachen Prefetch.
Das DIMM hat 288 Pins und das SO-DIMM 262 Pins. Der Datenbus ist nun 2x 32 Bit breit, statt 64 Bit.
Durch div. Signalentzerrungs-Maßnahmen, sind höhere Taktfrequenzen möglich.
Z.B. PC5-38400 DDR5-4800 ≙ 300 MHz theoretisch max. 16x 300 x 8 Bytes = 38,4 GB/s
Der nächste Standard wird warscheinlich HBM - High Bandwidth Memory.
Er hat sich parallel entwickelt 2013 HBM 1, 2016 HBM 2, 2021 HBM 3 …
und wird wahrscheinlich langfristig die bestehenden DDRx-SDRAMs ablösen,
da die Verdrahtung auf FR4-PCBs beruhen, statt auf Silizium "interposer".
Zum Anfang
Am 21.12.24 habe ich bei Mindfactory nach DDR4-3200 jedec PC4-25600U unbuffered gesucht.
Sortiert habe ich das nach den Zeiten.
| size [GB] | Preis [€] | Bezeichnung | Spg [V] | tCL tRCD tRP tRAS |
|---|---|---|---|---|
| 1x16 | 27 54 |
16GB G.Skill Aegis DDR4-3200 DIMM CL16 Single SKU F4-3200C16S-16GIS |
1,35 | 16 18 18 38 XMP 2.0 |
| 2x16 | 51 |
32GB G.Skill Aegis DDR4-3200 DIMM CL16 Dual Kit SKU F4-3200C16D-32GIS |
1,35 | 16 18 18 38 XMP 2.0 |
| 2x16 | 54 |
32GB (2x 16GB) G.Skill RipJaws V schwarz DDR4-3200 SKU F4-3200C16D-32GVK DIMM CL16-18-18-38 Dual Kit |
1,2..1,35 | 16 18 18 38 XMP 2.0 |
| 1x16 | 31 62 |
16GB Kingston FURY Beast DDR4-3200 DIMM CL16 Single SKU KF432C16BB1/16 |
1,35 | 16 18 18 XMP 2.0 |
| 2x16 | 63 |
32GB Kingston FURY Beast DDR4-3200 DIMM CL16 SKU KF432C16BB1K2/32 Dual Kit |
1,35 | 16 18 18 XMP 2.0 |
| 2x16 | 57 |
Corsair Vengeance LPX schwarz DDR4-3200 DIMM CL16 SKU CMK32GX4M2E3200C16 Dual Kit |
1,35 | 16 20 20 38 XMP 2.0 |
| 1x16 | 32 64 |
16GB Kingston FURY Beast DDR4-3200 DIMM CL16 Single SKU KF432C16BB/16 |
1,35 | 16 20 20 XMP 2.0 |
| 2x16 | 65 |
32GB Crucial DDR4-3200 DIMM CL22 Dual Kit SKU CT2K16G4DFRA32A |
1,2 | 22 22 22 |
| 1x16 | 26 52 |
16GB Lexar Value DDR4-3200 DIMM CL22 Single SKU LD4AU016G-B3200GSST |
1,2 | 22 22 22 |
Anbei ein Beispiel:
DDR4-3200 16-18-18-38 → 400 MHz; PC4-25600 → 25,6 GB/s theoretisches Maximum.
1/ (400 MHz x 4 wg.DDR4) ≈ 625 ps ≙ 1,6 GHz interner SDRAM Takt
Vom Ablauf her wird erst RAS aktiviert und es werden die 1. Adressen & Bank BAx eingelesen.
tRCD = 18 → 11,25 ns
Frühestens nach 11,25 ns darf CAS aktiviert werden um die 2. Adressen & /WE einzulesen.
tCL = 16 → nach weiteren 10 ns können Daten ein- oder ausgegeben werden.
Mit z.B. einmalig 8 Datensätzen (burst length) ergibt sich folgende Zeit und Menge:
→ 8 x 4 Takten = 8 x 2,5 ns = 20 ns; bei DDR auf jeder Flanke Daten
8 Datensätze x 8 prefetch x 8 Bytes Datenbreite → 512 Bytes
tRAS = 38 → 23,75 ns ist kleiner als 54 ns = 16 + 18 + 20 und braucht daher nicht berücksichtigt werden.
tRP = 18 → 11,25 ns wird zur Erholung benötigt.
→ 11,25 + 10 + 20 + 11,25 = 52,5 ns; 512 / 52,5 ns = 9,75 GB/s
Da man in diesem Beispiel nur 512 Bytes auf einen Schlag liest,
ist die resultierende Übertragungsrate klein.
Zum Anfang
appuals.com
RAM Timings: CAS, RAS, tRCD, tRP, tRAS Explained
console5.com
MK4116.pdf
wikipedia.org
Dynamic random-access memory
gadget-manual.com
Pinout of DDR1, DDR2, DDR3 RAM connectors
pinoutguide.com
SDRAM DIMM (168 pin, Unbuffered) pins and signals
pinoutguide.com
R144 pin SO SIMM connector
allpinouts.org
DDR SDRAM DIMM 184 Pin
crucial.de
Worin besteht der Unterschied zwischen SDRAM, DDR, DDR2, DDR3, DDR4 und DDR5?
csdn.net
DDR3 SDRAM SO-DIMM 204 Pinout
gadget-manual.com
Desktop DDR4 RAM Pinout
Zum Anfang