Primärspeicher (Memory, Arbeitsspeicher)
Was ist Memory (Arbeitsspeicher oder Hauptspeicher)?
Memory ist der elektronische Speicherort für die Anweisungen und Daten, die ein Computer schnell benötigt. Es ist der Ort, an dem Informationen zur sofortigen Verwendung zwischengespeichert werden. Memory ist eine der Grundfunktionen eines Computers, denn ohne diesen Speicher könnte ein Computer nicht ordnungsgemäß funktionieren. Memory wird auch vom Betriebssystem (OS), der Hardware und der Software eines Computers verwendet.
Es gibt technisch gesehen zwei Arten von Computer-Memory: primären und sekundären Speicher. Der Begriff Memory wird häufig als Synonym für primäres Memory verwendet oder als Abkürzung für eine spezielle Art von primärem Memory, den sogenannten Arbeitsspeicher (Random Access Memory, RAM). Diese Art von Memory befindet sich auf Mikro-Chips, die sich physikalisch in unmittelbarer Nähe zum Mikroprozessor des Computers befinden.
Wenn die zentrale Verarbeitungseinheit (Central Processing Unit, CPU) eines Computers ausschließlich einen sekundären Speicher verwenden müsste, wären Computersysteme deutlich langsamer. Im Allgemeinen gilt: Je mehr primäres Memory ein Rechner hat, desto seltener muss er auf langsamere – also sekundäre – Speicherarten zugreifen.
https://www.computerweekly.com/rms/German/Memory-Hierarchie-deutsch.png
Abbildung 1: Cache, Primär- und Sekundär-Memory unterscheiden sich in Größe und Geschwindigkeit, wodurch sie jeweils auf unterschiedliche Weise nützlich sind.
Was ist Random Access Memory (RAM)?
Solid-State-Memory ist ein elektronisches Gerät, das als zweidimensionale Matrix aus Einzelbit-Speicherzellen dargestellt wird. Jede Gruppe von Speicherzellen hat eine Adresse, und die Anzahl der Speicherzellen an jeder Adresse bestimmt die Datentiefe. Ein sehr einfaches Memory könnte zum Beispiel 1024 Adressen mit je 16 Bits haben. Damit hätte das Speichergerät eine Gesamtkapazität von 1024 mal 16, also 16.384 Bits.
RAM steht für das grundlegende Konzept des zufälligen Zugriffs. Eine CPU kann Daten bei Bedarf an jeder beliebigen Speicheradresse lesen oder schreiben und greift je nach Anwendung in unterschiedlichen, häufig völlig unterschiedlichen Reihenfolgen auf die Memory-Inhalte zu.
Dieses zufällige Zugriffsverhalten unterscheidet sich von klassischen Speichergeräten wie Magnetbändern, bei denen die gewünschten Daten vor dem Zugriff jedes Mal physisch auf dem Medium gefunden werden müssen. Der schnelle und zufällige Zugriff macht Solid-State-Memory so wichtig für moderne Computer.
Viele Arten von RAM geben ihre Leistungsdaten anhand zweier gängiger Metriken an:
1. Die Leistung beim zufälligen Lesen/Schreiben: Hier werden Adressen unabhängig voneinander und in zufälliger Reihenfolge angesprochen.
2. Die Leistung beim sequenziellen Lesen/Schreiben: Hier werden Adressen in logischer, also aufeinanderfolgender Reihenfolge angesprochen.
Primäres vs. sekundäres Memory
Memory wird generell in primäres und sekundäres Storage eingeteilt, auch wenn diese Unterscheidung heute weniger streng angewendet wird.
Primäres Memory oder Hauptspeicher umfasst Technologien und Geräte, die schnellen Zugriff auf kurzfristig verfügbare Daten ermöglichen, vor allem Cache-Speicher und Arbeitsspeicher (RAM), die direkt am Hauptprozessor liegen und von ihm häufig angesprochen werden.
Sekundäres Memory bezeichnet Technologien und Speichergeräte, die vor allem zur langfristigen Datenspeicherung verwendet werden, bei der Daten deutlich seltener verändert oder abgerufen werden. Hierzu zählen unter anderem Flash-Speicher, Magnetfestplatten (HDDs) und Solid-State Drives (SSDs). Generell referenziert der Begriff Speicher oder Storage auf diesen Memory-Typen, während Memory nur die schnellen Speicher beschreibt.
In den meisten Fällen werden Daten vom sekundären Speicher in den primären Speicher geladen, damit die CPU auf sie zugreifen und sie ausführen kann. Sobald ein Programm oder eine Datei gespeichert oder beendet wird, werden die Daten wieder vom primären in den sekundären Speicher zurückgeschrieben.
Es ist möglich, sekundären Speicher so zu verwenden, als wäre es primärer Speicher. Das bekannteste Beispiel ist das virtuelle Memory, den Windows nutzt, um mehr Anwendungen und Daten zu verwalten, als im physischen RAM Platz finden. Virtuelles Memory ist jedoch langsamer und hat eine höhere Latenz als echter RAM, da das Lesen und Schreiben auf Laufwerken zeitaufwendiger ist.
Flüchtiges vs. nichtflüchtiges Memory
Memory lässt sich auch in flüchtigen (volatile) und nichtflüchtigen (non-volatile) Speicher unterscheiden.
Flüchtiger Speicher umfasst Technologien, bei denen Daten ständig aufgefrischt werden müssen und beim Ausschalten des Geräts verloren gehen. Beispiele sind dynamischer RAM (DRAM) sowie statischer RAM (SRAM). Letzterer benötigt zwar keine regelmäßige Auffrischung, verliert aber ebenfalls seine Daten bei Stromausfall.
Nichtflüchtiges Memory (NVM) speichert die Daten dauerhaft, selbst ohne Stromversorgung. Zu diesen Speichertypen gehören Flash-Speicher, alle Arten von Read-Only-Memory (ROM) und sekundäre Speichergeräte wie HDDs und SSDs.
Memory vs. Storage
Memory und Storage werden oft fälschlicherweise synonym verwendet, haben aber verschiedene Bedeutungen. Memory bezeichnet den primären Speicher, der kurzfristig Daten bereithält, während Storage den sekundären Speicher bezeichnet, der für die langfristige Datenspeicherung verwendet wird.
Memory ist häufig der Hauptspeicher eines Computers (zum Beispiel RAM), in dem Daten verarbeitet und für einen schnellen Zugriff zwischengespeichert werden. Da primärer Speicher flüchtig ist, gehen die darin gespeicherten Daten beim Ausschalten verloren.
Storage bezeichnet den nichtflüchtigen Speicher, in dem Daten dauerhaft abgelegt werden, beispielsweise auf Festplatten oder SSDs. Programme sind im primären Speicher während ihrer Ausführung, aber nach dem Schließen befinden sie sich im Storage.
Die Kapazität von Memory und Storage unterscheidet sich erheblich. Ein Laptop kann etwa 16 Gigabyte RAM (Arbeitsspeicher) besitzen, aber 1 Terabyte oder mehr Storage. Das liegt daran, dass ein Computer nicht alle Daten gleichzeitig schnell abrufen muss, weshalb ein kleinerer Arbeitsspeicher meist ausreichend ist.
Memory und Storage werden heute manchmal uneinheitlich verwendet. RAM wird gelegentlich als primärer Speicher bezeichnet, und Flash-Speicher kann sowohl als Memory als auch Storage betrachtet werden. Um Klarheit zu schaffen, ist es empfehlenswert, Memory hinsichtlich der Flüchtigkeit (volatile vs. non-volatile) und Storage hinsichtlich der Speicherart (primär vs. sekundär) zu definieren.
VIDEO
<div class="youtube-iframe-container"><iframe id="ytplayer-0" src="https://www.youtube.com/embed/H_M--weEzpA?si=5TY-os6MPjA496qT?autoplay=0&modestbranding=1&rel=0&widget_referrer=https://www.techtarget.com/whatis/definition/memory&enablejsapi=1&origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"></iframe></div>
Wie funktioniert Memory?
Wenn ein Betriebssystem ein Programm startet, wird es vom sekundären in den primären Speicher geladen. Das bedeutet etwa, dass ein Programm von der SSD in den Arbeitsspeicher geladen wird. Weil der primäre Speicher schneller zugänglich ist, kann das Programm rascher mit dem Prozessor kommunizieren. Der Arbeitsspeicher lässt sich sofort über temporäre Speicherplätze oder andere Zugriffsstellen ansprechen.
Memory ist flüchtig, das heißt, die darin gespeicherten Daten sind temporär. Nach dem Ausschalten eines Geräts werden die Daten im flüchtigen Arbeitsspeicher automatisch gelöscht. Werden Dateien gespeichert, gelangen sie in den nichtflüchtigen sekundären Speicher.
Es gibt verschiedene Typen von Computer-Memory, deren Betrieb sich je nach Art des verwendeten primären Speichers unterscheiden kann. Im Allgemeinen besteht Computer-Memory jedoch überwiegend aus Halbleiterspeichern, die aus integrierten Schaltungen mit Metall-Oxid-Halbleiter-Transistoren (MOSFETs) gefertigt sind.
Typen von Computer-Memory
Memory wird eingeteilt in primären und sekundären Speicher. Zu den primären Speichern zählen unter anderem:
- Cache Memory: Ein schneller Zwischenspeicher, der der CPU noch direkter und schneller zugänglich ist als der Arbeitsspeicher. Er ist meist entweder Teil des Prozessors oder auf einem eigenen Chip, der mit der CPU verbunden ist.
- Arbeitsspeicher (RAM): Er ermöglicht der CPU den Zugriff auf Speicherzellen in beliebiger Reihenfolge.
- Dynamischer RAM (DRAM): Der häufigste Arbeitsspeichertyp, bei dem Bits in Zellen aus Kondensatoren und Transistoren gespeichert werden. DRAM muss oft aufgefrischt werden und verliert seine Daten bei Stromausfall.
- Statischer RAM (SRAM): Speichert Daten, solange Strom anliegt; benötigt kein Auffrischen wie DRAM, ist aber teurer.
- Double Data Rate Synchronous DRAM (DDR SDRAM): Neuere DRAM-Varianten mit verbesserter Geschwindigkeit, wie DDR4 und DDR5, die höhere Datenraten und geringeren Stromverbrauch bieten.
- Direktes Rambus-DRAM (DRDRAM): Ein spezielles Subsystem zur schnellen Datenübertragung.
- Read-Only Memory (ROM): Nichtflüchtiger Speicher, der meist nur gelesen, nicht aber beschrieben werden kann. Enthält oft BIOS-Programme für den Startvorgang eines Computers.
- Programmierbarer ROM (PROM): ROM, das vom Anwender einmalig beschrieben werden kann.
- Löschbarer PROM (Erasable PROM, EPROM): PROM, welches durch UV-Licht gelöscht und wieder verwendet werden kann.
- Elektrisch löschbarer PROM (Electrically Erasable PROM, EEPROM): ROM, das elektrisch gelöscht und programmiert werden kann, ohne den Speicherchip herausnehmen zu müssen.
- Virtuelles Memory: Ein Managementverfahren, bei dem sekundärer Speicher zeitweise als Erweiterung des primären Speichers genutzt wird.
Arten an Memory-Technologien
Neben den üblichen Memory-Typen entwickeln Hersteller ständig neue Technologien, um den steigenden Ansprüchen von Unternehmen und Verbrauchern gerecht zu werden. Dazu gehören:
- Flash Memory: Nichtflüchtiger Solid-State-Speicher, der beispielsweise in USB-Sticks, Kamerakarten und SSDs verwendet wird. Flash-Speicher ist lösch- und wiederbeschreibbar und toleriert viele Tausend Schreibzyklen.
- 3D NAND Flash: Weiterentwickelter Flash-Speicher, der Schichten herkömmlichen 2D-Flash-Speichers stapelt und so die Kapazität erhöht.
- 3D XPoint: Ein Speichertyp, der 2015 vorgestellt wurde, bekannt für schnellen, latenzarmen Zugriff, wurde aber 2021 eingestellt.
- Quanten-Memory: Speichert Quantenzustände von Photonen und ermöglicht so gigantische Speicherkapazitäten und hohe Sicherheit.
- Hochbandbreiten-Memory (HBM): Bietet hohe Datenübertragungsraten bei geringem Energieverbrauch, besonders für leistungsfähige Computer.
- Graphen-Memory: Nutzt Materialeigenschaften von Graphen für innovative Speichervarianten wie resistive RAM (RRAM).
- Neuromorphes Memory: Nachahmung neuronaler Strukturen und Funktionen zur Nutzung in KI-Systemen.
Memory-Spezifikationen
Memory-Geräte werden durch technische Spezifikationen beschrieben, die ihre Eigenschaften definieren:
- Buffertyp: Memory kann gepuffert (registriert) oder ungepuffert (unregistriert) sein. Gepufferter Speicher ist für Server wichtig, bietet aber geringfügig schlechtere Geschwindigkeit.
- Kapazität: Die Menge der speicherbaren digitalen Daten, meist in Bytes, zum Beispiel Gigabyte.
- Kanäle: Anzahl der Verbindungen, über welche Memory Daten mit dem System austauscht. Mehrkanal-Systeme (Dual-, Quad-Channel) verbessern die Leistung.
- Formfaktor: Physische Bauform des Speichermoduls, zum Beispiel DIMM oder SO-DIMM.
- Latenz: Verzögerung bei Zugriffsoperationen auf den Speicher. Niedrigere Latenz bedeutet bessere Performance.
- Geschwindigkeit: Übertragungsrate der Daten, gemessen in Megahertz oder Transfers pro Sekunde.
- Spannung: Betriebsspannung des Speichers, typischerweise niedrig, zum Beispiel 1,2V oder 1,35V.
Memory-Optimierung und -Management
Zur Optimierung und Verwaltung von Memory gibt es verschiedene Techniken:
- Memory-Zuweisung (Memory Allocation): Memory wird passend für Betriebssystem und Anwendungen zugeteilt, unter anderem statisch, dynamisch, Stack, Heap und Pool. Statische Zuweisung ist schnell, aber unflexibel; dynamische erlaubt Anpassungen zur Laufzeit.
- Memory-Lecks (Memory Leaks): Fehlerhafte Software gibt Speicher nicht frei, was zu Leistungseinbußen und Abstürzen führen kann. Sorgfältige Entwicklung und Tests sind wichtig.
- Memory-Verwaltung: Betriebssysteme nutzen Methoden wie Paging, Segmentierung, virtuelles Memory, Garbage Collection und Memory-Kompression, um Memory effizient und geschützt zu verwalten.
- Flash-Verschleiß: Flash-Speicher hat begrenzte Löschzyklen. Lebensdauer wird durch Wear Leveling und Zyklusmanagement erhöht.
Geschichte des Computer-Memory
In den frühen 1940er Jahren standen nur wenige Bytes Speicherplatz zur Verfügung. Einer der bedeutendsten Fortschritte in dieser Zeit war die Erfindung des akustischen Verzögerungsleitungsspeichers (Acoustic Delay Line Memory). Diese Technologie ermöglichte es, Bits als Schallwellen in Quecksilber zu speichern und Quarzkristalle als Wandler zum Lesen und Schreiben von Bits zu verwenden. Mit diesem Verfahren konnten einige hunderttausend Bits gespeichert werden.
Ende der 1940er Jahre begann man mit der Erforschung nichtflüchtiger Speicher, und es wurde der Magnetkernspeicher entwickelt, der das Abrufen von Speicherinhalten nach einem Stromausfall ermöglichte. In den 1950er Jahren wurde diese Technologie verbessert und kommerzialisiert. Dies führte 1956 zur Erfindung des PROM. Der Magnetkernspeicher verbreitete sich so stark, dass er bis in die 1960er Jahre die wichtigste Memory-Form war.
Metalloxid-Halbleiter-Feldeffekttransistoren, auch bekannt als MOSFET oder MOS-Halbleiterspeicher, wurden 1959 erfunden. Dies ermöglichte die Verwendung von MOS-Transistoren als Elemente für die Speicherung von Speicherzellen. MOS-Speicher waren billiger und benötigten weniger Strom als Magnetkernspeicher. Bipolares Memory, die bipolare Transistoren verwendeten, kamen Anfang der 1960er Jahre zum Einsatz.
1961 schlug Bob Norman das Konzept eines Solid-State Memory auf einem integrierten Schaltkreis (IC) vor. IBM brachte den Speicher 1965 auf den Markt. Die Nutzer empfanden diesen Speicher jedoch im Vergleich zu anderen Speichertypen als zu teuer.
Weitere Fortschritte in der ersten Hälfte der 1960er Jahre waren die Erfindung des bipolaren SRAM, die Einführung des DRAM durch Toshiba im Jahr 1965 und die kommerzielle Nutzung des SRAM im Jahr 1965. Die Ein-Transistor-DRAM-Zelle wurde 1966 entwickelt, gefolgt von einem MOS-Halbleiterbauelement, das 1967 zur Herstellung von ROM verwendet wurde. Von 1968 bis Anfang der 1970er Jahre wurden auch N-Typ-MOS- oder NMOS-Speicher populär.
Anfang der 1970er Jahre waren MOS-basierte Speicher als Speicherform weit verbreitet. 1970 brachte Intel den ersten kommerziellen DRAM-IC-Chip auf den Markt. Ein Jahr später wurde der löschbare PROM entwickelt und 1972 wurde der EEPROM erfunden.
Das Wichtigste auf einen Blick: Memory (Hauptspeicher, Arbeitsspeicher)
Computer-Memory, auch Haupt- oder Arbeitsspeicher genannt, ist der schnelle, volatile Speicher, in dem ein Computer Daten und Programme für den unmittelbaren Zugriff speichert. Es gibt primären Memory (zum Beispiel RAM und Cache) für kurzfristige, schnelle Zugriffe und sekundären Memory (zum Beispiel Festplatten, SSDs) für langfristige Speicherung. Memory ist essenziell, damit die CPU effektiv arbeiten kann, und wird ständig weiterentwickelt, um schneller und leistungsfähiger zu sein. Flüchtiges Memory verliert seine Daten bei Stromausfall, nichtflüchtiger speichert dauerhaft.