Hardware-Zone Schriftzug

Neueste Artikel

Arbeitsspeicher

 Der Arbeitsspeicher, auch RAM (Random Access Memory – Speicher mit wahlfreiem Zugriff) genannt, ist ein temporärer Aufbewahrungsort für Daten und Befehle, die momentan von der CPU bearbeitet werden. Bevor der Prozessor beginnt, ein Programm abzuarbeiten, wird es in den Arbeitsspeicher geladen.
Der große Vorteil des Arbeitsspeichers gegenüber einer Festplatte liegt in der hohen Datenübertragungsrate und der geringen Zugriffszeit. Da die Festplatte die Schreib-/Leseköpfe erst positionieren muss, benötigt sie mehrere Millisekunden (ms), bis sie die angeforderten Daten gefunden hat. Der Arbeitsspeicher liefert die Daten innerhalb einer Milliardstel Sekunde (Nanosekunde). Durch die Zwischenspeicherung im Arbeitsspeicher können Daten viel schneller verarbeitet werden.

Aufbau

Arbeitsspeicher besteht aus mehreren Speicherchips, die fest auf einer Leiterplatte mit Kontakten angebracht sind und so ein Speichermodul (DIMM = Dual Inline Memory Module) bilden. Ein einzelner Speicherchip enthält viele Millionen Speicherzellen, die zu einem Gitter aus Spalten und Zeilen (Pages) angeordnet sind. Da auf jede beliebige Zelle zugegriffen werden kann, ohne eine Reihenfolge wie bei einem sequentiellen Speicher (z.B. Magnetband) einhalten zu müssen, spricht man auch von Speicher mit wahlfreiem Zugriff (engl. Random Access Memory). Generell unterscheidet man zwischen dynamischem (DRAM) und statischem RAM (SRAM)

DRAM

Eine einzelne DRAM-Zelle setzt sich aus einem Transistorschalter und einem Kondensator zusammen. Geladener und ungeladener Kondensator stellen die Zahlen EINS und NULL dar. Folglich kann pro Zelle die Informationseinheit 1 Bit gespeichert werden. Die Transistoren werden über Wortleitungen „geöffnet“: Wenn an eine Wortleitung (2 Byte ergeben ein Wort) eine Spannung angelegt wird, geben alle angeschlossenen Transistoren die Ladung der Kondensatoren an die Bitleitungen ab. Damit die Zelle ihren Inhalt nicht verliert, muss sie von einem Schreib-/Leseverstärker immer wieder aufgefrischt werden. Deshalb wird diese Art von RAM als „dynamisch“ bezeichnet.

SRAM

Bei statischen Speicherbausteinen (SRAM) ist die Ausführung jeder Speicherzelle mit den Schreib-/Leseverstärkern bei DRAMs identisch. Weil die Zelle so komplexer ist und mehr Platz benötigt, ist SRAM zwar viel teurer als DRAM, aber auch schneller, da die Auffrischung (Refresh) entfällt.

Für Arbeitsspeicher wird nur DRAM verwendet, für Caches SRAM.

Funktionsweise

Hinsichtlich der Funktionsweise unterscheidet man zwei Arten von DRAM-Bausteinen: Asynchrone und synchrone DRAMs. Während bei asynchronem DRAM eigene Signale zur Steuerung benötigt werden, sind bei synchronem DRAM (SDRAM) alle internen Schreib-/Leseoperationen an einen festen Systemtakt gebunden.

Asynchroner DRAM

ram diagramm

 

Um auf eine im Arbeitsspeicher befindliche Information zugreifen zu können, wird sowohl eine Zeilen- als auch eine Spaltenadresse benötigt. Zeilen- und Spaltenadresse werden in der Regel aus Kostengründen zeitlich versetzt über dieselben Adressleitungen übertragen (Adressmultiplex). Um dem Adressdekoder mitzuteilen, welche Art von Adresse übertragen wird, sind 2 Steuersignale notwendig:
1. Ein Steuersignal (Row Adress Strobe – RAS) markiert den Transfer einer Zeilenadresse. Diese wird an den Zeilendekoder übergeben, der die entsprechende Wortleitung aktiviert. Dadurch wird die gesamte Zeile (Page) über die Bitleitungen zum Leseverstärker übertragen, der den Zeileninhalt speichert und die Zellen automatisch wieder auffrischt (Refresh).
2. Ein zweites Steuersignal (Column Adress Strobe – CAS) definiert den Transfer der Spaltenadresse. Diese wird zuerst an den Spaltendekoder übergeben, der die zugehörige Spaltenauswahlleitung aktiviert. Die Spaltenauswahl-Einheit wählt dann eine oder mehrere Bitleitungen aus und stellt eine Verbindung zwischen Bit- und Datenleitungen her.

Ob eine Lese- oder Schreiboperation stattfindet, wird über das Signal WE (Write Enable) angezeigt:

 

  • Lesen von Daten (WE ist aktiviert): Die angeforderten Informationen werden über die Datenleitungen ausgegeben.
  • Schreiben von Daten (WE ist deaktiviert): Die zu schreibenden Informationen werden von der Spaltenauswahl-Einheit an die gewählten Bitleitungen übergeben. Die angeschlossenen Leseverstärker werden so überschrieben und die Zellen mit den neuen Daten „aufgefrischt“.

Burst-Modus

Im sogenannten Burst-Modus können mehrere Zellen einer Zeile direkt hintereinander gelesen oder beschrieben werden, ohne jedes Mal Schritt 1 wiederholen zu müssen. Im Burst-Modus ist die Datenübertragungsrate (MB/s) wesentlich höher.

 

Nachteile von asynchronem RAM:

  • Signaldauer und Zeitabstände zwischen RAS und CAS müssen groß genug sein, damit asynchroner DRAM zuverlässig arbeitet. Je höher der Systemtakt ist, desto mehr Wartezyklen benötigt der Steuerungschip.
  • Es kann nur jeweils eine Zeile gelesen werden, da zuerst auf das Zurückschreiben der Zeile und die Deaktivierung der Wortleitung gewartet werden muss.

In einem modernen PC wird deshalb nur noch SDRAM eingesetzt.

Synchroner DRAM

 

Aufbau und Funktionsweise von SDRAMs unterscheiden sich von asynchronem DRAM hinsichtlich folgender Merkmale:

  • Alle internen Operationen sind an den Systemtakt gebunden. Befehle (Wortleitung aktivieren, Auffrischen, Lesen etc.) werden als Kombination der Steuersignale (RAS, CAS, WE, …) und der Adresse immer bei steigender Flanke des Taksignals ausgewertet.
  • SDRAMs sind zusätzlich in sogenannte Bänke unterteilt, die jeweils eigene Leseverstärker und Register zur Zwischenspeicherung von Adressen besitzen. Während eine Bank noch Daten liefert, können an eine andere Bank bereits Adressen übergeben werden. Normale SDRAMs haben bis zu 4 Bänke.
  • Bei DDR-SDRAM (s.u.) werden mehrere Speicherchips zu einer Bank (Rank) zusammengefasst. Sie teilen sich einen gemeinsamen Daten- und Adressbus. Sowohl Datenübertragungsrate als auch Kapazität des Moduls können so erhöht werden. Module mit 4 GiB haben nur eine Bank (Single-Ranked), solche mit 8 oder 16 GiB besitzen zwei Bänke (Dual-Ranked).

SDRAM hat deshalb eine viel geringere Zugriffszeit als asynchroner DRAM und kann mit höheren Taktfrequenzen betrieben werden. Im Burst-Modus muss nur noch die Adresse der ersten Spalte angegeben werden, da ein interner Zähler die nächste Adresse vorgibt. Seit 1998 werden in PCs nur noch synchrone DRAMs verwendet.

DDR-SDRAM

prefetchbuffer
DDR bedeutet „Double Data Rate – Doppelte Datenrate“ und bezeichnet eine Technik zur Erhöhung der Datenübertragungsrate von synchronem DRAM. Beim DDR-Verfahren werden nicht nur wie bei normalem SDRAM Datenbits bei steigender Flanke des Taktsignals übertragen, sondern auch bei fallender Flanke.
DDR-SDRAMs verfügen über einen zusätzlichen Datenpuffer am Ausgang, in dem die Daten eines Burst-Zugriffs (s. Burst-Modus) zwischengespeichert werden (Prefetch). Beim sogenannten Zweifach-Prefetch werden doppelt so viele Datenworte pro Lesezugriff ausgegeben wie bei normalem SDRAM. Die Unterschiede zwischen den einzelnen DDR-Verfahren findet man in der folgenden Tabelle:
 DDRDDR2DDR3DDR4DDR5
Prefetch-Faktor248816
Speichertakt (MHz)100 - 200100 - 266100 - 266200 - 667200 - 525
Ein-/Ausgabetakt (MHz)100 - 200200 - 533400 - 1066800 - 26661600 - 4200
Effektive Taktfrequenz (MHz)200 - 400400 - 1066800 - 21331600 - 53333200 - 8400
Spannung2,51,81,51,21,1
Modulkontakte184240240288288

Leistungsmerkmale

Die Leistung eines Arbeitsspeichermoduls wird durch folgende Werte bestimmt:

Speicherkapazität

Bestimmt, wie viele Bytes an Daten das Speichermodul aufnehmen kann. Die Speicherkapazität wird normalerweise in Gigabyte (GB) angegeben.

Zugriffs- oder Latenzzeit

Gibt die Zeitspanne zwischen dem Lesebefehl und dem Eintreffen der angeforderten Daten in Nanosekunden an. Je kürzer, desto besser. Sie wird durch die Taktfrequenz des Speichers beeinflusst.

Effektive Taktfrequenz

Die bei DDR-Speicher angegebene effektive Taktfrequenz hat nichts mit dem tatsächlichen Speichertakt zu tun. Sie ermöglicht allerdings einen groben Leistungsvergleich mit normalem SDRAM. So ist z.B. DDR3-1600-SDRAM in etwa so schnell wie SDRAM mit (theoretisch) 1600 MHz Speichertakt. Die Taktfrequenz berechnet sich wie folgt:

Speichertakt ( MHz ) = Effektive Taktfrequenz Prefetch Faktor Speichertakt (MHz) = {Effektive Taktfrequenz} over {Prefetch-Faktor}
Bei DDR3-1600 beträgt demnach die tatsächliche Taktfrequenz (1600 ÷ 8) 200 MHz.

Auch die theoretische Datenübertragungsrate lässt sich daraus berechnen.

Datenübertragungsrate oder Datendurchsatz

Gibt die Datenmenge an, die in einer bestimmten Zeit über die Datenleitungen transportiert werden kann. Die Datenübertragungsrate wird in Megabyte (MB/s) oder Gigabyte pro Sekunde (GB/s) angegeben. Sie ist abhängig von der Anzahl der Leitungen (Speicherbusbreite), der Anzahl der Speicherkanäle und der Taktfrequenz des Speichers.

Die theoretische Datenübertragungsrate (MB/s) lässt sich wie folgt berechnen:

Datenübertragungsrate ( MB / s ) = ( Effektiver Speichertakt × 64 ) 8 Datenübertragungsrate (MB/s) = {(Effektiver Speichertakt times 64)} over {8}
Bei DDR3-1600 beträgt die theoretische Datenübertragungsrate ((1600 × 64) ÷ 8) 12.800 MB/s oder 12,8 GB/s. Wenn Speicher mit zwei Übertragungskanälen genutzt werden (Dual Channel) verdoppelt sie sich auf 25,6 GB/s.
Da die Datenübertragungsrate im Burst-Modus gemessen wird, ist sie unabhängig von der Latenzzeit. Wenn Datenworte sequentiell, d.h. in Folge abgerufen werden (z.B. Datenbank, Videobearbeitung), ist eine hohe Datenübertragungsrate entscheidend. Wenn viele Befehle in der Sekunde oder kleine Datenpakete verarbeitet werden müssen, ist hingegen eine geringe Latenzzeit wichtiger.

Timing

timing

Das Timing definiert die minimalen Zeitabstände zwischen den Befehlen, die vom Steuerungschip an den Arbeitsspeicher gesendet werden. Je kürzer diese Abstände sind, desto schneller ist der Speicher. Normalerweise wird das Zeitverhalten von Speichermodulen automatisch eingestellt, kann aber vom Benutzer auf eigene Gefahr verändert werden. Wenn die Abstände zu gering sind, können vermehrt Systemabstürze auftreten.

Beispiel: DDR3-1600 CL9 9-9-24
Die absoluten Zeitabstände lassen sich mit folgender Formel berechnen:

Format: CLx tRCD – tRP – tRAS

CL (CAS Latency): Die eigentliche Zugriffs- oder Latenzzeit
tRCD (RAS-to-CAS Delay): Minimaler Zeitabstand zwischen Aktivierung einer Zeile bzw. Bank und dem Senden eines Lesebefehls
tRP (RAS Precharge): Minimaler Zeitabstand zwischen Deaktivierung einer Zeile bzw. Bank und erneuten Aktivierung einer Zeile in derselben Bank
tRAS (Row Address Strobe, auch Bank Active Time): Minimaler Zeitabstand zwischen Aktivierung einer Bank und dem Senden des Befehls zum Deaktivieren dieser Bank, wird nicht immer angegeben

Die Werte werden in Taktzyklen in Bezug auf die jeweilige Speichertaktfrequenz angegen. Deshalb können nur Speichermodule mit gleicher Taktfrequenz miteinander verglichen werden.

Zeit = 1 effektive Taktfrequenz × ( 2 × Taktzyklen ) Zeit = {1} over {effektive Taktfrequenz} times (2 times Taktzyklen)
Latenzzeit = 1 ÷ 1600 MHz × (2 × 9) = 0,01125 μs × 1.000 = 11,25 ns
tRAS = 1 ÷ 1600 × (2 × 24) = 0,03 × 1000 = 30 ns

XMP (Intel) / DOCP (AMD)

Intel Extreme Memory Profiles (XMP) ermöglicht den Betrieb von Arbeitsspeichermodulen außerhalb der offiziellen JEDEC-Spezifikation. Die JEDEC ist eine Organisation, zu deren Aufgaben die Standardisierung von SDRAM-Speichermodulen und -chips gehört. Sie legt für jedes Speichermodul u.a. Taktfrequenz, Spannung und zeitliche Parameter (Latenzen bzw. Taktzyklen) fest, die quasi einen Mindeststandard darstellen. Bei den heutzutage üblichen DDR4-SDRAM-Speichermodulen sind die maximale Taktfrequenz auf 1600 MHz (effektiv 3200 MHz) und die Spannung auf 1,2 V festgelegt. In der Praxis verkraften viele Speichermodule jedoch viel höhere Taktfrequenzen und Spannungen sowie engere Timings. Diese vom JEDEC-Standard abweichenden Parameter werden in einem Profil gespeichert und können im UEFI BIOS des Mainboards aktiviert bzw. geladen werden. Welche XMP-Speichermodule unterstützt werden, hängt vom jeweiligen Mainboard ab. Aber: Nicht jedes Modul ist auch für jede CPU geeignet! Außerdem gibt es bei jeder CPU einen bestimmten Speichertakt, bei dem das Leistungsmaximum erreicht wird. Bei aktuellen CPUs liegt dieser zwischen 3200 MHz und 3600 MHz. Im Internet finden sich dazu zahlreiche Leistungstests und Erfahrungsberichte.