|

|
Der Arbeitsspeicher oder Hauptspeicher ist in der Informationstechnik der Speicher eines Computers, in dem Datenobjekte, also Programme und die von diesen in Mikroprozessoren zu verarbeitenden Nutzdaten, abgelegt und zu einem späteren Zeitpunkt (unverändert) abgerufen werden können. Die Informationspsychologie verwendet den Ausdruck „Arbeitsspeicher“ als ein Synonym für den menschlichen „Kurzspeicher“ oder „Kurzzeitspeicher“.
Der Arbeitsspeicher des Computers ist ein durch Adressen (in Tabellenform) strukturierter Bereich, welcher Binärwörter fester Größe aufnehmen kann. Der Arbeitsspeicher moderner Computer ist flüchtig, d. h. dass alle Daten nach dem Abschalten der Energieversorgung verloren gehen – der Hauptgrund hierfür liegt in den verwendeten DRAMs. Verfügbare Alternativen wie etwa MRAM sind allerdings für die Verwendung als Arbeitsspeicher noch zu langsam.
Die häufigste Bauform für den Einsatz in Computern ist das Speichermodul. Es ist zwischen verschiedenen RAM-Typen zu unterscheiden. Während bis Mitte der 1990er vorwiegend SIMMs mit FPM- oder EDO-RAM üblich waren, kommen in heutigen Computern in erster Linie DIMMs mit z. B. SDR-, DDR- oder DDR2-SDRAMs zum Einsatz.
Um den physischen Arbeitsspeicher zu erweitern, können moderne Betriebssysteme zusätzlichen virtuellen Arbeitsspeicher auf Massenspeichern allokieren. Diesen Speicher nennt man auch Swapspeicher.
Um diese Erweiterung transparent zu realisieren, bedient man sich eines virtuellen Speicherraumes, in dem sowohl der physische als auch der virtuelle Speicher vorhanden sind. Teile dieses virtuellen Speicherraumes – eine oder mehrere Speicherseiten – werden dabei entweder auf physikalisch vorhandenem RAM oder auf dem Swapspace abgebildet. Die Nutzungsrate der einzelnen Seiten bestimmt, welche Speicherseiten ausgelagert und nur auf Massenspeichern und welche im schnellen RAM existieren. Diese Funktionen werden von heutigen CPUs unterstützt, wobei die Menge des unterstützten Gesamtspeichers im Laufe der Entwicklung deutlich gestiegen ist.
Der Swapspeicher stellt eine sehr preiswerte, aber mit extrem schlechter Performance verbundene Erweiterung zum physikalischen Arbeitsspeichers dar. Ein Missverhältnis ist an häufigem „Swappen“, also dem Verschieben von Daten zwischen Massen- und physischem Arbeitsspeicher, leicht zu erkennen.
Die Performance von Speichermodulen misst sich vor allem in der "absoluten Latenz"
Dabei können die Timings sogar ansteigen und müssen trotzdem nicht schlechter sein als bei bisherigen DDR1-Modulen. Denn die absolute Latenz ergibt sich aus zwei Merkmalen: Takt und Timings.
Beispiele:
DDR400 2-2-2-5: 10 ns - 10 ns - 10 ns - 25 ns (CAS-TRCD-TRP-TRAS)
DDR2/667 4-4-4-12: 12 ns - 12 ns - 12 ns - 36 ns
DDR2/800 4-4-4-12: 10 ns - 10 ns - 10 ns - 30 ns
DDR2/1066 5-5-5-15: 9,4 ns - 9,4 ns - 9,4 ns - 28,1 ns
DDR3/1333 8-8-8: 12 ns - 12 ns - 12 ns
DDR3/1600 9-9-9: 11,25 ns - 11,25 ns - 11,25 ns
Daraus ergibt sich sogar die Konsequenz, dass Standardmodule besser sein können als bei DDR2. Denn für eine bessere Leistung brauchen sie weniger Spannung.
Es gibt viele Hersteller, die die Spezifikationen nicht einhalten und Module mit weit höheren Taktraten oder kleineren Timings anbieten. Wenn es nach der JEDEC ginge, dürfte es solche Speicher wie DDR2/900, DDR2/1000, DDR2/1066, DDR2/1200, DDR2/1250 oder Timings von CL3 bei DDR2/800 gar nicht geben.
Aber auch ein verbessertes Modul wie DDR3/2000 mit CL9-9-9 wäre dank der viel höheren Bandbreite je nach Anwendung deutlich von Vorteil.
CAS (column access strobe) - latency (CL):
gibt an, wieviele Taktzyklen der Speicher benötigt, um Daten bereit zu stellen. Kleinere Werte sind prinzipiell besser.
Beispiel: Ist DDR1/400 mit CAS 3 im Vergleich zu DDR1/333 mit CAS 2,5 schneller?
333MHZ / 2,5 = 133,2 [bereit gestellte Daten]
400MHZ / 3 = 133,3 [bereit gestellte Daten]
Der höher getaktete Speicher zeigt aufgrund seiner höheren Latenz gegenüber dem 333MHZ Speicher keinen Geschwindigkeitsvorteil.
RAS (row access strobe) - precharge delay (tRP):
bezeichnet die Zeit, die der Speicher benötigt um den geforderten Spannungszustand zu liefern. Erst nach Erreichen des gewünschten Ladezustandes kann das RAS-Signal gesendet werden. Auch hier verbessern niedrigere Werte die Performance des Speichers.
hierbei wird über die Abtastsignale „Spalten“ und „Zeilen“ eine bestimmte Speicherzelle lokalisiert, der Inhalt dieser kann dann bearbeitet werden (Auslesen/Beschreiben). Zwischen der Abfrage „Zeile“ und der Abfrage „Spalte“ befindet sich eine festgelegte Verzögerung ==> Delay. Ein geringerer Wert lässt ebenfalls einen Performancegewinn entstehen.
Row-Active-Time (tRAS): Erlaubte Neuzugriffe nach festgelegter Anzahl von Taktzyklen, setzt sich rein rechnerisch aus CAS + tRP + Sicherheit zusammen. Auch hier gilt, kleinere Werte erhöhen die Performance des Speichers.
Der Zugriff auf den Arbeitsspeicher durch die CPU wird zumeist durch ein oder mehrere Cache-RAMs (kurz „Cache“) abgefedert, um die Performance beim Zugriff auf häufig genutzte Speicherstellen nochmals stark zu verbessern. Der Cache ist im Verhältnis zu anderen Speichern sehr schnell, da er möglichst direkt am Prozessor angebunden ist. Allerdings ist er nur wenige Megabyte groß.
Bei geringem Speicherbedarf können Programme bzw. Teile davon fast ausschließlich im Cache laufen, ohne dass das RAM angesprochen werden muss.
Der Cache ist als Assoziativspeicher ausgeführt, kann also entscheiden, ob die Daten einer Adresse schon im Cache gespeichert sind oder noch vom Arbeitsspeicher geholt werden müssen. Dann wird ein anderer Teil des Caches aufgegeben. Der Cache wird dabei stets mit mehreren aufeinander folgenden Worten gefüllt, beispielsweise stets mit mindestens 256 Bits (so genannter Burst-Modus), da es sehr wahrscheinlich ist, dass in Kürze auch Daten vor oder hinter den gerade benötigten gelesen werden sollen.
Die Anbindung des physikalischen Speichers erfolgt durch den Adressbus, dessen „Breite“ in Bits angegeben wird:
16 Bit: Maximal 64 KiB. Generation der s. g. 8-Bit-Computer
20 Bit: Maximal 1 MiB. Generation des PC/XT-Standards und der DOS-Ära.
24 Bit: Maximal 16 MiB. Bei PCs der Adressraum des 80286, bei Apple der Adressraum der ersten Macintosh-Computer und alte AMIGA-Computer (A500) (Motorola 68000)
32 Bit: Maximal 4 GiB. Bei PCs der Adressraum von 80386 bis Pentium 4/Athlon. Bei Apple Adressraum bis Macintosh G4.
48 Bit: Maximal 256 TiB. PCs der Adressraum von AMD64 sowie Intel Prozessoren mit Intel 64 Erweiterung.
64 Bit: Maximal 16 EiB. Bei PCs der Adressraum Intel Itanium, bei Apple der Adressraum des Power Mac G5.
Einer der wesentlichen Unterschiede der beiden Prozessorgenerationen „32-Bit“ und „64-Bit“ ist also der bereits angesprochene maximal ansteuerbare Arbeitsspeicher. (Allerdings ist mit der Anzahl der Bits einer Prozessorgeneration im Allgemeinen die Breite des Datenbusses gemeint, die nicht notwendigerweise etwas mit der Breite des Adressbusses zu tun hat. Die Breite des Adressbusses, nicht die des Datenbusses, bestimmt jedoch die Größe des Adressraums.)
zurück
|