Der Arbeitsspeicher ist für das Ausführen von Programmen wichtig. Seine Größe und Leistung beeinflussen maßgeblich die Leistung und Schnelligkeit des ganzen Systems.
Man unterscheidet meist zwei große Kategorien von Arbeitsspeichern:
Dynamische Speicher oder DRAM (Dynamic Random Access Memory): Sie sind preiswert und werden hauptsächlich für den Zentralspeicher des Computers verwendet.
Statische Speicher oder SRAM (Static Random Access Memory): Sie sind schnell und teuer und werden insbesondere für die Cache-Speicher des Prozessors verwendet.
Der Arbeitsspeicher besteht aus hunderttausenden kleinen Kondensatoren, die Ladungen speichern. Wenn er geladen ist, entspricht der logische Zustand des Kondensators 1, im gegenteiligen Fall ist er gleich 0, was bedeutet, dass jeder Kondensator ein Bit des Speichers darstellt.
Da die Kondensatoren sich entladen, müssen sie ständig nachgeladen werden (die genaue Bezeichnung ist auffrischen, auf Englisch refresh) und dies in regelmäßigen Zeitabständen, die Auffrischungszyklen genannt werden. DRAM-Speicher brauchen zum Beispiel Auffrischungszyklen von ungefähr 15 Nanosekunden (ns).
Jeder Kondensator ist an einen Transistor gekoppelt (Typ MOS), mit dem der Zustand des Kondensators wiederhergestellt oder geändert werden kann. Diese Transistoren sind in Form von Tabellen (Matrix) angeordnet, das heißt dass das Abtasten eines Speicherkästchens (auch Speicherpunkt genannt) über eine Zeile und eine Spalte erfolgt.
Jeder Speicherpunkt zeichnet sich also durch eine Adresse aus, die einer Zeilennummer (auf Englisch row) und einer Spaltennummer (auf Englisch column) entspricht. Dieser Zugriff erfolgt allerdings nicht unmittelbar, sondern innerhalb einer Frist, die Latenzzeit genannt wird. Dementsprechend dauert das Abtasten von gespeicherten Daten eine Zeitspanne, die der Zyklusdauer plus der Latenzzeit entspricht.
Für einen Speicher des Typs DRAM entspricht die Zugriffszeit 60 Nanosekunden (35 ns Zyklusdauer und 25 ns Latenzzeit). Bei einem Computer entspricht die Zyklusdauer dem Gegenteil der Taktfrequenz, zum Beispiel bei einem Computer, der mit 200 MHz getaktet ist, entspricht die Zyklusdauer 5 ns (1: (200 x 106)).
Demnach muss eine Computer, der mit hoher Frequenz arbeitet und Speicher verwendet, deren Zugriffszeit länger ist als die Zyklusdauer des Prozessors, Wartezyklen (auf Englisch wait state) absolvieren, um Zugriff auf den Speicher zu haben. Im Falle eines Computers der mit 200 MHz getaktet ist und Speicher vom Typ DRAM benutzt (deren Zugriffszeit 60 ns beträgt), gibt es elf Wartezyklen für einen Transferzyklus. Die Leistung des Computers wird umso mehr gemindert, je mehr Wartezyklen gibt. Es ist also ratsam, schnelle Speicher zu verwenden.
Alle Arbeitsspeichertypen haben die Form von Speichersteckkarten, die auf das Motherboard gesteckt werden.
Die ersten Speicher hatten die Form von Chips, die DIP (Dual Inline Package) genannt wurden. Mittlerweile hat sich das Steckkartenformat durchgesetzt, das sind längliche Karten, die auf hierfür vorgesehene Steckverbinder gesteckt werden.
Man unterscheidet gewöhnlich drei Typen von RAM-Steckkarten:
SIMM (Single Inline Memory Module): Bei diesem Steckkarten-Format handelt es sich um Leiterplatten die auf einer Seite mit Speicherchips versehen sind.
Es gibt zwei Typen von SIMM-Karten, je nach Anzahl der Steckverbinder: Die SIMM-Karten mit 30 Steckverbindern (mit den Abmessungen 89 x 13 mm) sind 8-Bit-Speicher, die die ersten PC-Generationen ausstatteten (286, 386).
Die SIMM-Karten mit 72 Steckverbindern (mit den Abmessungen 108 x 25 mm) sind Speicher, die in der Lage sind, 32 Bit Daten gleichzeitig zu verwalten. Dieser Speichertyp rüstet PCs von 386 DX bis zu den ersten Pentiums aus. Auf Letzteren arbeitet der Prozessor mit einem Datenbus mit einer Breite von 64 Bit, daher müssen diese Computer unbedingt mit zwei SIMM-Karten ausgestattet werden. Es ist nicht möglich, Karten mit 30 Stiften an Befestigungsplätzen mit 72 Steckverbindern anzubringen, da eine spezielle Vorrichtung (Einkerbung in der Mitte der Steckverbinder) das Aufstecken verhindert.
DIMM (Dual Inline Memory Module): Bei diesem Format handelt es sich um 64-Bit-Speicher, die man also nicht paaren muss. DIMM-Karten besitzen Speicherchips auf jeder Seite der Leiterplatte und haben 84 Steckverbinder auf jeder Seite, womit sie insgesamt mit 168 Stiften ausgestattet sind. Außer durch ihre größeren Abmessungen (130 x 25mm) unterscheiden sie sich von den SIMM-Karten durch eine zweite Vorrichtung zur Fehlervermeidung.
DIMM-Steckverbinder verfügen über eine verbesserte Einsteckvorrichtung. Zwei Hebel auf jeder Seite des Steckverbinders erleichtern das Einfügen.
Außerdem gibt es kleinere Module, die SO DIMM (Small Outline DIMM) genannt werden und für Laptops bestimmt sind. SO-DIMM-Karten verfügen nur über 144 Stifte für 64-Bit-Speicher und über 77 Stifte für 32-Bit-Speicher.
RIMM (Rambus Inline Memory Module), auch RD-RAM oder DRD-RAM genannt: Dieses Kartenformat besteht aus 64-Bit-Speichern, die von der Firma Rambus entwickelt worden sind. Sie besitzen 184 Stifte. Diese Karten besitzen zwei Einkerbungen, um eine Verwechslung mit den vorhergehenden Modulen zu vermeiden.
Angesichts ihrer hohen Transfergeschwindigkeit besitzen RIMM-Karten einen Thermofilm, der für eine verbesserte Wärmeabfuhr sorgen soll.
Wie bei den DIMM-Karten gibt es auch hier kleinere Module, die SO RIMM (Small Outline RIMM) genannt werden und für Laptops bestimmt sind. SO-RIMM-Karten besitzen nur 160 Stifte.
Beim DRAM (Dynamic RAM) handelt es sich um einen Speichertyp, dessen Transistoren in einer Matrix nach Reihen und Spalten angeordnet sind. Ein Transistor, der an einen Kondensator gekoppelt ist, enthält die Information eines Bits. 1 Oktett (1 Byte) enthält 8 Bit, so dass eine DRAM-Speicherkarte von 256 Mo (MegaOketett oder Megabyte) demnach 256 x 2^10 x 2^10 = 256 x 1024 x 1024 = 268.435.456 Oktetts = 268.435.456 x 8 = 2.147.483.648 Bits = 2.147.483.648 Transistoren enthält. Eine Karte von 256 Mo besitzt so tatsächlich eine Kapazität von 268.435.456 Oktett, oder 268 Mo. Diese Speicher haben eine Zugriffszeit von 60 ns.
Andererseits erfolgt der Speicherzugriff meist auf Daten, die nacheinander im Speicher angeordnet worden sind. So ist der Zugriffsmodus serienmäßig (burst mode) und erlaubt ohne zusätzliche Latenzzeit auf drei hintereinander folgende Daten über die erste Information zuzugreifen. In diesem Burst-Modus entspricht die Zugriffszeit auf die erste Information der Zyklusdauer, zuzüglich der Latenzzeit, und die Zugriffszeit auf die drei anderen Daten entspricht nur der Zyklusdauer. Die vier Zugriffszeiten werden demnach in folgender Form notiert: X-Y-Y-Y. Die Schreibform 5-3-3-3 weist auf einen Speicher hin, der fünf Taktzyklen braucht, um auf die erste Information und die drei folgenden zuzugreifen.
Um den Zugriff auf den DRAM-Speicher zu beschleunigen, gibt es eine Technik, die Paginierung genannt wird. Sie besteht darin, auf die Daten zuzugreifen, die in einer gleichen Spalte stehen, und nur die Zeilenadresse zu ändern, wodurch die Wiederholung der Spaltennummer zwischen dem Abtasten der einzelnen Zeilen gespart wird. Man spricht dann von DRAM FPM (Fast Page Mode). Der FPM ermöglicht es Zugriffszeiten von etwa 70 bis 80 Nanosekunden zu erreichen, für eine Arbeitsfrequenz die von 25 bis 33 Mhz gehen kann.
DRAM EDO (Extended Data Out, zu Deutsch Erweiterter Datenausgang, auch Hyper-Page genannt), ist 1995 erschienen. Die bei diesem Speichertyp verwendete Technik besteht darin, die folgende Spalte während des Lesevorgangs der Daten einer Spalte zu adressieren. Dies führt zu einer Überlappung der Zugriffe, durch die in jedem Zyklus Zeit gespart wird. Die Zugriffszeit auf den EDO-Speicher entspricht etwa 50 bis 60 Nanosekunden bei einer Arbeitsfrequenz zwischen 33 und 66 Mhz.
So ermöglicht der DRAM EDO, wenn er im Burst-Modus verwendet wird, Zyklen in der Form von 5-2-2-2 zu erhalten, das heißt eine Einsparung von vier Zyklen bei Zugriff auf vier Daten. Da der EDO-Speicher keine Frequenzen über 66 MHz akzeptiert, wurde er duch den SDRAM ersetzt.
SDRAM (Synchronous DRAM, zu Deutsch synchroner RAM) ist 1997 erschienen und erlaubt eine synchronisierte Abtastung der Daten mit dem Bus des Motherboards, im Gegensatz zu den Speichern EDO und FPM (die als asynchron bezeichnet werden), die ihre eigene Uhr besitzen. Der SDRAM ermöglicht es also, sich von den Wartezeiten zu befreien, die durch die Synchronisation mit dem Motherboard entstanden. Es kann so ein Zyklus im Burst-Modus von folgender Form erreicht werden 5-1-1-1, das bedeutet eine Einsparung von drei Zyklen im Vergleich zum RAM EDO. Auf diese Weise ist der SDRAM in der Lage, mit einer Taktrate von bis zu 150 Mhz zu arbeiten, wodurch er Zugriffszeiten von etwa 10 ns erreicht.
DR-SDRAM (Direct Rambus Synchronous DRAM) oder RDRAM ist ein Speichertyp, mit dem der Datentransfer auf einen Bus von 16 Bit Breite und einer Kadenz von 800 Mhz ermöglicht wird. So wie der SDRAM ist auch dieser Speichertyp mit der Uhr des Busses synchronisiert, um den Datenaustausch zu verbessern. Allerdings ist der Rambus-Speicher eine Eigentumstechnologie, was bedeutet, dass jedes Unternehmen, das RAM-Speicherkarten mit dieser Technologie herstellen will, den Firmen Rambus und Intel Lizenzgebühren zahlen muss.
DDR-SDRAM (Double Data Rate SDRAM) ist ein Speicher, der auf der SDRAM-Technologie basiert, aber die Transferrate des SDRAM bei gleicher Frequenz verdoppeln kann.
Die Ausführung der Lese-und Schreiboperationen im Speicher basiert auf einer Uhr. Die Standard-DRAM-Speicher verwenden eine Methode, die SDR (Single Data Rate) genannt wird und darin besteht, eine Information bei jeder steigenden Flanke zu lesen bzw. zu schreiben.
Der DDR erlaubt es, die Frequenz der Lese-und Schreiboperationen zu verdoppeln, mit einer Uhr, die in der gleichen Frequenz getaktet ist, indem die Daten bei jeder steigenden, sowie jeder fallenden Flanke gesendet werden.
DDR-Speicher besitzen meist Handelsnamen vom Typ PC XXXX, wobei XXXX die Transferrate in Mo/s darstellt.
Der Speicher DDR2 (oder DDR-II) ermöglicht es, zweimal höhere Übertragungsraten zu erreichen als der DDR bei gleichbleibender externer Frequenz.
Man spricht von QDR (Quadruple Data Rate oder quad-pumped), um die verwendete Lese-und Schreibmethode zu bezeichnen. Der DDR2-Speicher benutzt zwei getrennte Kanäle für die Lese- und die Schreiboperationen, so dass er in der Lage ist, doppelt so viele Daten wie der DDR zu senden oder zu empfangen.
Der DDR2 besitzt außerdem eine größere Anzahl an Steckverbindern als der klassische DDR (240 für den DDR2 gegen 184 für den DDR).
Die folgende Tabelle gibt die Frequenz des Motherboard (FSB), die des Speichers (RAM) und die entsprechende Transferrate an:
Speicher | Bezeichnung | Frequenz (RAM) | Frequenz (FSB)</th> | Transferrate |
---|---|---|---|---|
DDR200 | PC1600 | 200 MHz | 100 MHz | 1,6 GB/s |
DDR266 | PC2100 | 266 MHz | 133 MHz | 2,1 GB/s |
DDR333 | PC2700 | 333 MHz | 166 MHz | 2,7 GB/s |
DDR400 | PC3200 | 400 MHz | 200 MHz | 3,2 GB/s |
DDR433 | PC3500 | 433 MHz | 217 MHz | 3,5 GB/s |
DDR466 | PC3700 | 466 MHz | 233 MHz | 3,7 GB/s |
DDR500 | PC4000 | 500 MHz | 250 MHz | 4 GB/s |
DDR533 | PC4200 | 533 MHz | 266 MHz | 4,2 GB/s |
DDR538 | PC4300 | 538 MHz | 269 MHz | 4,3 GB/s |
DDR550 | PC4400 | 550 MHz | 275 MHz | 4,4 GB/s |
DDR2-400 | PC2-3200 | 400 MHz | 100 MHz | 3,2 GB/s |
DDR2-533 | PC2-4300 | 533 MHz | 133 MHz | 4,3 GB/s |
DDR2-667 | PC2-5300 | 667 MHz | 167 MHz | 5,3 GB/s |
DDR2-675 | PC2-5400 | 675 MHz | 172,5 MHz | 5,4 GB/s |
DDR2-800 | PC2-6400 | 800 MHz | 200 MHz | 6,4 GB/s |
Nicht selten trifft man auf Schreibweisen vom Typ 3-2-2-2 oder 2-3-3-2, um die Parametrisierung des Arbeitsspeichers zu beschreiben. Diese Reihe von vier Zahlen beschreibt die Synchronisierung des Speichers (auf Englisch timing), das heißt die Folge der nötigen Taktzyklen, um auf eine Information zuzugreifen, die sich im Arbeitsspeicher befindet. Diese vier Zahlen entsprechen meist, in ihrer Reihenfolge, den folgenden Werten:
CAS delay oder CAS latency (CAS bedeutet Column Address Strobe): Es handelt sich um die Anzahl der Taktzyklen, die zwischen dem Senden des Lesebefehls und der tatsächlichen Ankunft der Information liegen. Anders ausgedrückt: Es handelt sich um die Zugriffszeit auf eine Spalte.
RAS precharge time, manchmal tRP geschrieben (RAS bedeutet Row Address Strobe): Es handelt sich um die Anzahl der Taktzyklen zwischen zwei RAS-Befehlen, das heißt zwischen zwei Zugriffen auf eine Zeile.
RAS to CAS delay, manchmal tRCD geschrieben: Es handelt sich um die Anzahl der Taktzyklen, die der Zugriffszeit von einer Zeile auf ein Spalte entsprechen.
RAS active time, manchmal tRAS geschrieben): Es handelt sich um die Anzahl der Taktzyklen, die der Zugriffszeit auf eine Zeile entsprechen.
Die Speicherkarten sind mit einer Vorrichtung ausgestattet, die SPD (Serial Presence Detect) genannt wird und die es dem BIOS ermöglicht, die vom Hersteller definierten nominalen Einstellungswerte zu kennen. Es handelt sich um ein EEPROM, dessen Daten vom BIOS geladen werden, wenn der Benutzer die Einstellung Auto wählt.
Manche Speicher besitzen Mechanismen, mit denen Fehler ausgebessert werden, um so die Vollständigkeit der enthaltenen Daten zu garantieren. Dieser Speichertyp wird gewöhnlich in Systemen verwendet, die mit sensiblen Daten arbeiten, daher findet man diesen Speichertyp auf Servern.
Karten mit Paritätsbit ermöglichen es, sich zu versichern, dass die im Speicher enthaltenen Daten auch die gewünschten sind. Dafür ist ein Bit von jedem gespeicherten Oktett dazu abgestellt, die Summe der Datenbits festzuhalten.
Das Paritätsbit ist gleich 1, wenn die Summe der Datenbits eine ungerade Zahl ist, und gleich 0 im gegenteiligen Fall.
Auf die Weise kann mit Speicherkarten, die ein Paritätsbit besitzen, die Vollständigkeit der Daten überprüft werden, Fehler können aber nicht korrigiert werden. Außerdem enthalten von neun MB Speicher nur acht Speicher Daten, da das letzte Megaoktett die Paritätsbits enthält.
ECC (Error Correction Coding) sind Speicherkarten, die mehrere Bits der Fehlerkorrektur zugeordnet haben (man nennt sie demnach Kontrollbits). Diese Karten werden hauptsächlich auf Servern verwendet und ermöglichen das Aufdecken und Korrigieren von Fehlern.
Manche Speichersteuereinheiten bieten einen doppelten Kanal (auf Englisch Dual Channel) für den Speicher. Die Speichermodule werden paarweise benutzt, um die Bandbreite zu addieren und so die Systemkapazitäten maximal auszunutzen. Bei Benutzung des Dual Channels ist es wesentlich, identische Karten paarweise zu verwenden (Frequenz, Kapazität und empfehlenswerterweise auch von der gleichen Marke).
Foto: © Pixabay.