Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Arbeitsspeicher

Zugriffe auf den Arbeitsspeicher durch den Hauptprozessor werden zumeist über ein oder mehrere Pufferspeicher oder Cache-RAMs (kurz „Cache“) optimiert. Im Cache …

Inhalt6 Abschnitte
  1. 1. Was ist der Arbeitsspeicher?
  2. 2. Physischer und virtueller Speicher
  3. 3. Cache
  4. 4. Anbindung des Arbeitsspeichers
  5. 5. Leistung von Speichermodulen und Timings
  6. 6. Geschichte und Hersteller

Was ist der Arbeitsspeicher?

Der Arbeitsspeicher (oder Hauptspeicher) eines Computers ist der Speicher, der die gerade auszuführenden Programme bzw. Programmenteile und die dabei benötigten Daten enthält. Er ist Teil der Zentraleinheit, und da der Prozessor unmittelbar auf ihn zugreift, bestimmen seine Leistungsfähigkeit und Größe maßgeblich die Leistung des gesamten Computers. Er ist ein durch Adressen strukturierter Bereich, der Binärwörter fester Größe aufnehmen kann; wegen der binären Adressierung hat er praktisch immer eine auf Potenzen von 2 basierende Größe. Die Größe wird entweder mit Dezimalpräfixen (1 kB = 1000 Bytes, SI-Notation) oder Binärpräfixen (1 KiB = 1024 Bytes, IEC-Notation) angegeben; wegen der binären Struktur und Adressierung (byteweise bei 8 Bit, wortweise bei 16 Bit, doppelwortweise bei 32 Bit) ist die Binärvariante üblicher. Charakterisiert wird Arbeitsspeicher durch die Zugriffszeit (Dauer bis Daten gelesen werden können), die Datenübertragungsrate (Datenmenge pro Zeit) und die Speicherkapazität. Der Arbeitsspeicher moderner Computer ist flüchtig: Beim Abschalten der Stromversorgung gehen alle Daten verloren, weil er auf DRAM-Technik beruht. Alternativen wie MRAM sind noch zu langsam. Deshalb enthalten Computer zusätzlich Festspeicher wie Festplatten oder SSDs, auf denen Betriebssystem, Programme und Dateien erhalten bleiben. Die häufigste Bauform ist das Speichermodul: In den 1980ern nutzte man ZIP-, SIPP- oder DIP-Module, in den 1990ern SIMMs mit FPM- oder EDO-RAM, heute DIMMs mit SD-, DDR-SD-, DDR2-SD-, DDR3-SD- oder DDR4-SDRAM (DDR4-Module mit Heatspreader sind in Gaming- und Desktop-PCs üblich; in Notebooks verwendet man kleinere SO-DIMM-Module).

Physischer und virtueller Speicher

Soweit Arbeitsspeicher über den Adressbus des Prozessors angesprochen oder direkt im Prozessor integriert ist, spricht man von physischem Speicher. Moderne Prozessoren und Betriebssysteme können durch virtuelle Speicherverwaltung mehr Arbeitsspeicher bereitstellen, als physisch vorhanden ist, indem Teile des Adressraums mit anderen Speichermedien hinterlegt werden (z. B. Auslagerungsdatei, pagefile oder swap). Diesen zusätzlichen Speicher nennt man virtuellen Speicher oder Swapspeicher. Das Betriebssystem verwendet dazu einen virtuellen Speicherraum, in dem physischer und virtueller Speicher vorhanden sind; einzelne Speicherseiten werden entweder ins schnelle RAM oder in den Auslagerungsspeicher (Swapspace) abgebildet, abhängig davon, wie oft sie genutzt werden. Die CPUs unterstützen diese Funktionen, und die Menge des unterstützten Gesamtspeichers ist im Laufe der Entwicklung deutlich gestiegen. Der Auslagerungsspeicher ist sehr preiswert, hat aber extrem schlechte Leistung: Eine Festplatte benötigt zur Datenbereitstellung mehrere Millisekunden, während der Arbeitsspeicherzugriff nur wenige Nanosekunden dauert (etwa ein Millionstel). Ein Missverhältnis zeigt sich an häufigem „Swappen“, also dem Verschieben von Daten zwischen Massen- und physischem Arbeitsspeicher.

Cache

Um die Zugriffszeit zu verkürzen, werden Zugriffe auf den Arbeitsspeicher über Pufferspeicher (Cache-RAMs, kurz „Cache“) optimiert. Im Cache hält der Rechner die am häufigsten angesprochenen Speicherbereiche stellvertretend für die Hauptspeicherbereiche. Der Cache ist sehr schnell, da er möglichst direkt am Prozessor angebunden ist bzw. sich bei modernen Prozessoren direkt auf dem Chip (Die) befindet; er ist aber meist nur wenige Megabyte groß. Bei geringem Speicherbedarf können Programme oder Programmenteile fast ausschließlich im Cache laufen. Der Cache ist als Assoziativspeicher ausgeführt und kann selbst entscheiden, ob Daten einer Adresse schon im Cache liegen oder aus dem Arbeitsspeicher geholt werden müssen; sonst wird ein anderer Teil des Caches aufgegeben. Er wird stets mit mehreren aufeinanderfolgenden Worten gefüllt (Burst-Modus, z. B. mindestens 256 Bit), da wahrscheinlich ist, dass auch benachbarte Daten bald benötigt werden. Sinnvollerweise überträgt man gleich eine „Cache-Line“ von heute 512 Bit.

Anbindung des Arbeitsspeichers

Physischer Speicher wird über einen (Von-Neumann-Architektur) oder mehrere Speicherbusse (Harvard- bzw. Super-Harvard-Architektur, heute im PC-Bereich nicht mehr verwendet) angebunden. Die Busse übertragen Steuer-, Adress- und Nutzdaten; oft werden dafür getrennte Leitungen genutzt und der Datenbus sowohl zum Lesen als auch zum Schreiben verwendet. Aktuelle PC-Prozessoren benutzen zwei bis vier 64-Bit-Speicherbusse, die seit etwa 2000 direkt die Protokolle der Speicherchips sprechen. Der Adressbus wählt die angeforderten Speicherzellen aus; seine Breite bestimmt, wie viele Speicherworte maximal adressierbar sind. An jeder Adresse liegen heute meist 64 Bit, früher auch 32 Bit (Intel 80386), 16 Bit (Intel 8086) oder 8 Bit (Intel 8080). Beispiel Intel 80486: Adressbus A31 bis A2, Datenbus D31 bis D0, Byte-Enable BE3 bis BE0, Little Endian, misalignierte Zugriffe unterstützt, ansprechbarer Speicher 4 Gi × 8 Bit als 1 Gi × 32 Bit. Die „32-Bit“/„64-Bit“-Bezeichnung meint im Allgemeinen die Datenbusbreite, nicht die Adressbusbreite; allein die Adressbusbreite bestimmt die Größe des Adressraums. Der „16-Bit“-Prozessor 8086 konnte daher nicht nur 64 KiB, sondern dank 20-Bit-Adressbus 1 MiB adressieren; bei 32-Bit-Systemen kann Physical-Address Extension den Adressraum etwas erweitern. Der Bus vom Cache zum Arbeitsspeicher ist synchron, mit hoher Taktrate, großer Wortbreite (z. B. 64 Bit pro Adresse) und Datenübertragung bei steigender und fallender Taktflanke (DDR: Double Data Rate). Bei mehreren Speichersteckplätzen werden aufeinanderfolgende Adressen auf verschiedene Steckplätze verteilt, was überlappenden Zugriff (Interleaving) bei Burst-Zugriffen ermöglicht. Innerhalb der Speicherchips werden ganze Adresszeilen in Schieberegistern gehalten; ein 1-MiBit-Chip kann z. B. 1024 Zeilen mit je 1024 Bit haben. Beim ersten Zugriff wird ein internes 1024-Bit-Register mit einer Zeile gefüllt, sodass folgende Adressen bei Burst-Zugriffen sehr schnell gelesen werden können.

Leistung von Speichermodulen und Timings

Die Leistung von Speichermodulen misst sich vor allem an der absoluten Latenz; die theoretische Bandbreite ist nur beim Burst-Transfer relevant. Ein weit verbreiteter Irrtum ist, dass höhere numerische Timings (Schaltzeitverhalten) immer schlechtere Leistung bedeuten – das gilt nur bei gleichem Takt, denn die absolute Latenz ergibt sich aus effektivem Takt und Timing. Formel: Latenz = 2 · Timing / Geschwindigkeit. Beispiel: DDR3-1333 CL8-8-8 ergibt 2·8/1333 MHz = 1,20·10⁻⁸ s = 12,0 ns. Deshalb können DDR2/3/4-SDRAM trotz höherer numerischer Timings als DDR-SDRAM schneller sein und mehr Bandbreite liefern. Wichtige Timing-Werte (niedrigere Werte = höhere Leistung): CAS-Latency (CL, column access strobe): Taktzyklen bis zur Datenbereitstellung. tRCD (RAS-to-CAS-Delay): Verzögerung zwischen Zeilen- und Spaltenabfrage zur Lokalisierung einer Speicherzelle. tRP (RAS-Precharge-Delay): Zeit bis zur Lieferung des geforderten Spannungszustands, bevor das RAS-Signal gesendet werden kann. tRAS (Row-Active-Time): erlaubte Neuzugriffe nach fester Taktzyklenzahl, rechnerisch CAS + tRP + Sicherheit. Command Rate: Latenz bei der Auswahl der Speicherchips (Adress- und Command-Decode-Latency); typische Werte für DDR/DDR2 sind 1–2T, meist 2T. Beispiele aus der Tabelle: DDR2-800 CL4-4-4-12 hat 10 ns absolute Latenz und ist damit schneller als DDR2-800 CL5-5-5-15 mit 12,5 ns; DDR2-1066 CL4-4-4-12 erreicht 7,5 ns. Einige Hersteller halten die JEDEC-Spezifikationen nicht ein: DDR3-1600 CL9-9-9 ist offiziell spezifiziert, DDR2-1066 CL4-4-4-12 dagegen nicht standardkonform; solche schnelleren Module werden oft als Speicher für Übertakter angeboten. In der Praxis konnten Intel-FSB1333-Prozessoren mit dem Front Side Bus maximal 10 GiB/s empfangen, was im Dual-Channel-Betrieb bereits von DDR2-667 (10,6 GiB/s) ausgereizt wurde. Aktuelle Prozessoren unterliegen dieser Beschränkung nicht mehr, da der Speichercontroller direkt auf der CPU sitzt statt in der Northbridge (wie bei Sockel 775). Wichtig sind außerdem Dual Channel und Dual-Rank (beidseitige Bestückung der Module mit doppelt so vielen, aber halb so großen Chips); davon profitieren insbesondere CPUs mit interner GPU wie die AMD-Kaveri-Architektur.

Geschichte und Hersteller

Die ersten Computer hatten keinen Arbeitsspeicher, nur Register aus der gleichen Technik wie das Rechenwerk (Röhren oder Relais); Programme waren fest verdrahtet oder auf Lochstreifen/Lochkarten gespeichert. In Rechenanlagen der 2. Generation dienten Trommelspeicher als Hauptspeicher; zusätzlich experimentierte man mit Laufzeitspeichern in Quecksilberbädern oder Glasstabspiralen (Ultraschallwellen). Danach kamen Magnetkernspeicher mit kleinen Ferritkernen in kreuzförmiger Matrix auf; sie waren nicht flüchtig, verloren die Information aber beim Lesen, die sofort zurückgeschrieben wurde. Großrechner der Mitte der 1960er Jahre hatten 32 bis 64 Kibibyte (z. B. IBM 360-20/-30), Ende der 1970er über 1 Megabyte (Telefunken TR 440: 192.000 Worte à 52 Bit, netto 48 Bit). Im Kernspeicher-Modell lagen Programm und Daten im gleichen Speicher – die Von-Neumann-Architektur, heute die am weitesten verbreitete. Mit der Mikroelektronik wurden Speicher durch integrierte Schaltungen (ICs) ersetzt: Jedes Bit in einem Flipflop mit zwei bis sechs Transistoren, immer Stromverbrauch; typisch waren 1 KiBit pro IC, Zugriffszeiten einige 100 Nanosekunden – schneller als Prozessoren im Megahertz-Bereich. Ende der 1970er wurden dynamische RAMs entwickelt, die Information in Kondensatoren speichern und pro Bit nur einen Feldeffekttransistor brauchen; sie sind klein und stromsparend, verlieren aber langsam die Ladung und müssen periodisch neu geschrieben werden (Refresh durch externe Logik, später im Prozessor integriert). Mitte der 1980er waren 64 KBit pro IC üblich. Zugriffszeiten dynamischer RAMs blieben bei einigen 100 ns, die Größen wuchsen auf einige GBit pro Chip. Da Prozessoren heute im Gigahertz-Bereich getaktet sind, nutzt man Caches und erhöht Taktrate und Breite der Speicheranbindung. Im Juni 2012 wurde der „Speicherwürfel“ (Hybrid Memory Cube, HMC) angekündigt – eine kleinere Bauform aus einem Stapel mehrerer Dies; dafür wurde das Hybrid Memory Cube Konsortium gegründet (u. a. ARM, Hewlett-Packard, Hynix). Bei den Herstellern teilen sich Nanya Technology, SK Hynix, Micron Technology, Promos, Samsung, Toshiba, Winbond, Etron und Fujitsu Siemens Computers 97 Prozent Marktanteil. Module-Anbieter (Third-Party-Hersteller) wie Corsair, Kingston Technology, MDT, OCZ und A-Data kaufen Chips ein, löten sie auf eigene Platinen und programmieren die SPD-Timings nach eigenen, teils schärferen Spezifikationen. Für Dual- oder Triple-Channel-Betrieb sollten möglichst baugleiche Module verwendet werden, damit das BIOS/UEFI den Parallelbetrieb nicht verweigert; ein Hersteller kann im Laufe der Produktion andere Chips verwenden, was kaum nachprüfbar ist, daher sind Speicher-Kits die sichere Wahl. In Deutschland haben sich als Mittler Anbieter wie CompuStocx, CompuRAM, MemoryXXL und Kingston etabliert, weil manche Systeme nur Speicher mit proprietären Spezifikationen nutzen können.

Lernvideos zu Arbeitsspeicher

Weiterlesen

Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Datenspeicher Chemo-optische Speicher, die durch einen chemischen Prozess Daten in Form von Lichtbildern (statischen und bewegten Bildern sowie Lichtton) speichern. Die … Prozessor Aufbau und Funktionale Einheiten · Hauptprozessor (CPU) und Mehrprozessorkerne · Steuer- bzw. Leitwerk · Rechenwerk und Register · Datenleitungen · Caches und MMU. Internationales Einheitensystem Das Internationale Einheitensystem oder SI (französisch Système international d'unités) ist als Einheitensystem für physikalische Größen weltweit verbreitet. Dezimalbruch Als Dezimalbruch oder Zehnerbruch wird in Fachbüchern der Mathematik jede Darstellung einer reellen Zahl als Dezimalzahl verstanden (im Gegensatz zu manchen … Betriebssystem Betriebssysteme bestehen in der Regel aus einem Kernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start … Cache Cache ([kæʃ], auch [ kaʃ]) bezeichnet in der Informationstechnik einen schnellen Pufferspeicher, der (wiederholte) Zugriffe auf vergleichsweise langsame … Dynamic Random Access Memory Dynamic Random Access Memory (DRAM) oder der halb eingedeutschte Begriff dynamisches RAM bezeichnet eine Technologie für einen elektronischen … Festplattenlaufwerk Ein Festplattenlaufwerk (englisch hard disk drive, Abkürzung HDD), früher auch Festplatten-Speichersystem oder Festplatten-System, oft auch als Festplatte … Solid-State-Drive SSDs haben keine beweglichen Teile und sind daher unempfindlich gegen Stöße, Erschütterungen und Vibrationen. Sie haben außerdem wesentlich schnellere … Random-Access Memory Die gängigsten Formen gehören zu den Halbleiterspeichern. RAM wird als integrierter Schaltkreis hauptsächlich in Silizium-Technologie realisiert und in allen … Single Inline Memory Module Ein Single Inline Memory Module (kurz SIMM) (engl. für: einzelreihiges Speichermodul) ist eine Bauform von Speichermodulen, die vorwiegend für den Einsatz …