Speicher und Speicherhierarchien
Speicher sind essenzielle Komponenten eines Computers und dienen zur temporären oder dauerhaften Ablage von Daten und Programmen. Unterschiedliche Speicherarten unterscheiden sich hinsichtlich Kapazität, Zugriffszeit, Kosten und Flüchtigkeit [web:22][web:34].
Die Speicherhierarchie beschreibt das abgestufte Zusammenspiel verschiedener Speicherstufen, geordnet nach Zugriffszeit und Kosten pro Bit. Ziel ist ein Kompromiss zwischen Performance, Kapazität und Wirtschaftlichkeit [web:22][web:36][web:43].
- Register: Direkt in der CPU integrierter, extrem schneller Speicher. Dient zur Zwischenspeicherung von Operanden und Rechenergebnissen.
- Cache: Zwischenspeicher für häufig genutzte Daten nahe der CPU. Besteht meist aus mehreren Ebenen:
- L1-Cache: Sehr klein, extrem schnell, direkt im Prozessorkern .
- L2-Cache: Größer, etwas langsamer, manchmal pro Kern oder geteilt .
- L3-Cache: Noch größer, meistens für mehrere Kerne zusammen, immer noch schneller als RAM .
- Hauptspeicher (RAM): Flüchtiger Arbeits- und Programmspeicher mit mittlerer Kapazität und Geschwindigkeit. Typen:
- SDRAM: Synchronisiert mit Bustakt, ältere Systeme .
- DDR-SDRAM: Mehrfach weiterentwickelt (DDR, DDR2, DDR3, DDR4, DDR5), jeweils gesteigerte Datenraten und Kapazität.
- DRAM vs SRAM: DRAM ist günstiger und weit verbreitet, SRAM ist schneller und energieeffizienter, aber teurer.
- Sekundärspeicher: Nichtflüchtig, große Kapazität und langsamere Zugriffszeiten. Beispiele:
- Festplattenlaufwerke (HDDs)
- Solid-State-Laufwerke (SSDs)
- Optische Datenträger (DVDs, Blu-ray)
- Externe Speicherlösungen (NAS, SAN).
- Tertiärspeicher: Archivierung auf Bandlaufwerken oder optischen Medien. Wird für Backup und langfristige Speicherung genutzt, typischerweise offline bereitgestellt.
Virtueller Speicher
Virtueller Speicher kombiniert physische und sekundäre Speicher, sodass Programme mehr Speicheradressen verwenden können als physisch vorhanden. Das Betriebssystem lagert bei Bedarf Daten zwischen RAM und Sekundärspeicher aus ("Paging"), um große Programme effizient auszuführen.
Vorteile der Speicherhierarchie
- Schneller Datenzugriff durch speichernahe Caches.
- Effiziente Ressourcennutzung, da langsamer Speicher entlastet wird .
- Kosteneffektivität: Große Kapazitäten günstig, Performance wird durch nahen, schnellen Speicher sichergestellt.
- Flexibilität: Geräte können je nach Anforderung skaliert und kombiniert werden .
Nachteile und Herausforderungen
- Kosten für schnellen Speicher sind höher als für langsame Massens