Computer-Speicher: Hierarchie, Typen und Organisation

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 15,1 KB

TEIL 1: Speicherhierarchie – Grundlagen

1.1 Grundlagen des Speichers

  • Speicherorte:
    1. Interner Speicher: Arbeitsspeicher, CPU-Register, Speicher-Steuereinheit der CPU (mikroprogrammierte Kontrolle)
    2. Externer Speicher: Speichermedien und Peripheriegeräte wie Festplatten und Bandlaufwerke
  • Kapazität: Wird in Bytes oder Wörtern im internen Speicher und normalerweise in Byte für externen Speicher ausgedrückt.
  • Übertragungseinheit: Anzahl der Ein-/Ausgabezeilen des Speichermoduls (für den internen Speicher).

Verwandte Konzepte

  • Das „natürliche“ Wort als Organisationseinheit des Speichers; dessen Größe stimmt häufig mit der Anzahl der Bits zur Darstellung von Zahlen und der Länge von Anweisungen überein.
  • Adressierbare Einheiten: Wörter oder Bytes. Das Verhältnis zwischen der Länge A einer Adresse und der Anzahl N der adressierbaren Einheiten: 2A = N.
  • Für Hauptspeicher: Anzahl der Bits, die gleichzeitig gelesen oder geschrieben werden können.
  • Für externe Speicher: Daten werden in Einheiten übertragen, die größer als ein Wort sind (Blöcke).

1.2 Zugriffsmethoden

  1. Sequenzieller Zugriff:

    • Der Speicher ist in Einheiten, sogenannte Datensätze, organisiert.
    • Der Zugriff erfolgt in einer linearen Abfolge.
    • Zugriff auf Informationen: Trennung von Datensätzen und Datenwiederherstellung.
    • Lese-/Schreibmechanismus.
    • Zeitlich variabler Zugriff auf ein Register.
    • Beispiel: Bandlaufwerke.
  2. Direkter Zugriff:

    • Blöcke oder Datensätze haben eine eindeutige physikalische Adresse.
    • Zugriff auf eine bestimmte Position, gefolgt von einer sequenziellen Suche.
    • Variable Zugriffszeit.
    • Beispiel: Festplatten.
  3. Direktzugriff (Random Access):

    • Jede Position hat einen eindeutig physikalisch adressierbaren Zugriffsmechanismus (Verkabelung).
    • Konstante Zugriffszeit.
    • Beispiel: Hauptspeicher.
  4. Assoziativer Zugriff:

    • Direktzugriff basierend auf dem Inhalt eines Teils des Speichers anstelle der Adresse.
    • Konstante Zugriffszeit.
    • Beispiel: Cache-Speicher.

1.3 Leistungsmerkmale des Speichers

  1. Zugriffszeit:

    • Für Direktzugriff und assoziativen Zugriff: die Zeit, die für einen Lese- oder Schreibvorgang benötigt wird.
    • Für andere Zugriffsarten: die Zeit, die der Mechanismus benötigt, um die gewünschte Position zu erreichen und zu lesen/schreiben.
  2. Zykluszeit des Speichers (für Direktzugriffsspeicher):

    • Zugriffszeit + zusätzliche Zeit für die Einleitung eines zweiten Zugriffs.
    • Zusätzliche Zeit erforderlich für: Abschluss der Übergänge in den Signalleitungen und Regeneration bei destruktiven Datenlesevorgängen.
  3. Übertragungsrate:

    • Geschwindigkeit der Datenübertragung zu oder von einer Speichereinheit.
    • Direktzugriffsspeicher: Kehrwert der Zykluszeit.
    • Andere Speicherarten: T = TA + N / R (TA: durchschnittliche Zugriffszeit; N: Anzahl der Bits; R: Übertragungsrate in Bit/Sekunde).

1.4 Physikalische Implementierung und Datenspeicherung

  • Physische Implementierung: Halbleiterspeicher (LSI- und VLSI-Technologien) und magnetische Speichermedien (Disketten und Kassetten).
  • Physikalische Datenspeicherung:
    • Flüchtiger Speicher / Nichtflüchtiger Speicher.
    • Löschbarer Speicher / Nicht löschbarer Speicher.
    • ROM (Read Only Memory) ist nicht löschbar.

1.5 Organisation von Halbleiterspeichern

(Ein zentraler Design-Aspekt bei Direktzugriffsspeichern) ist die Anordnung oder physikalische Struktur von Bits zur Bildung von Wörtern.

1.6 Speicherhierarchie

Es gibt drei grundlegende Design-Einschränkungen für Speichersysteme: Kapazität, Kosten und Zugriffszeit. Es muss ein Kompromiss zwischen diesen drei Einschränkungen gefunden werden.

Unabhängig von der verfügbaren Technologie zu einem bestimmten Zeitpunkt gelten folgende Beziehungen:

  1. Geringere Kosten pro Bit bei höherer Kapazität.
  2. Höhere Kosten pro Bit bei geringerer Kapazität.
  3. Höhere Kapazität und längere Zugriffszeit.

Wie wählt man das Speichersystem? Nicht mit einer einzigen Komponente, sondern mit einer Speicherhierarchie. Der Schlüssel zum Erfolg dieser Wahl ist die Abnahme der Zugriffshäufigkeit der CPU, je weiter man in der Hierarchie nach unten geht.

Die Hierarchie ist eine Pyramide mit Sekundärspeichern an der Basis, darüber der Hauptspeicher, dann der Cache-Speicher und an der Spitze die CPU-Register.

Beim Abstieg in der Hierarchie (von CPU-Registern zu Sekundärspeichern):

  1. sinken die Kosten pro Bit.
  2. erhöht sich die Kapazität.
  3. erhöht sich die Zugriffszeit.
  4. verringert sich die Zugriffshäufigkeit der CPU auf diesen Speicher.

Die Design-Strategie funktioniert, wenn die Bedingungen (a) und (d) erfüllt sind. Die Bedingung (d) kann in der Regel aufgrund des Prinzips der Lokalität der Referenzen erfüllt werden. Während der Ausführung eines Programms neigen Speicherzugriffe dazu, gruppiert zu sein.

Es werden zwei Arten von Lokalität unterschieden:

  1. Zeitliche Lokalität: Wenn auf ein Speicherelement zugegriffen wird, ist es wahrscheinlich, dass bald wieder darauf zugegriffen wird (z. B. bei iterativen Schleifen und Unterprogrammen).
  2. Räumliche Lokalität: Wenn auf ein Speicherelement zugegriffen wird, ist es wahrscheinlich, dass bald auch auf benachbarte Elemente zugegriffen wird (z. B. bei Operationen auf Matrizen).

Daten können in der Hierarchie so organisiert werden, dass der Anteil der Zugriffe auf die jeweils nächste niedrigere Ebene wesentlich geringer ist als auf die vorherige Ebene.

Eine weitere Speicherform, die in die Hierarchie aufgenommen werden kann, ist der Disk-Cache. Dies ist ein Teil des Hauptspeichers, der als temporärer Datenpuffer für Daten verwendet wird, die auf die Festplatte geschrieben werden sollen. Dies bietet folgende Vorteile:

  1. Festplattenschreibvorgänge erfolgen in Gruppen.
  2. Einige Daten, die für Ausgaben vorgesehen sind, können von einem Programm referenziert werden, bevor sie auf die Festplatte geschrieben werden.

TEIL 2: Hauptspeicher

2.1 Grundlagen des Hauptspeichers

Einst basierte die Technologie auf Kernspeichern, heute ist jedoch die Halbleitertechnologie universell führend für Hauptspeicher.

Arten von Halbleiter-Direktzugriffsspeichern

  1. RAM (Random Access Memory): Schnelles Lesen und Schreiben von Daten.
    1. Static RAM (SRAM): Speicherung binärer Werte mittels bistabiler Kippstufen.
    2. Dynamic RAM (DRAM): Speicherung in Zellen durch Aufrechterhaltung einer Ladung in Kondensatoren. Eine Refresh-Schaltung ist erforderlich, um die Datenspeicherung zu erhalten. Die Zelle ist einfacher als eine statische Zelle, was eine höhere Dichte und geringere Kosten ermöglicht. Wird für größere Speichermengen verwendet, da die Fixkosten der Refresh-Schaltung durch die niedrigeren Zellkosten ausgeglichen werden.
  2. ROM (Read Only Memory):
    • Anwendungen: Mikroprogrammierung, Funktionsbibliotheken für häufig genutzte Funktionen, Systemprogramme und Tabellen.
    • Der Hauptnachteil sind die relativ hohen Fixkosten in der Fertigung.
  3. PROM (Programmable ROM):
    • Eine kostengünstigere Alternative, wenn die Anzahl der benötigten Chips gering ist.
    • Der Brennvorgang erfolgt elektrisch nach dem Herstellungsprozess.
    • Bietet mehr Flexibilität und Komfort.
  4. Besondere ROM-Typen (EPROM, EEPROM, FLASH):
    • Nützlich für Anwendungen, bei denen häufiges Lesen und Schreiben erforderlich ist, aber nichtflüchtiger Speicher benötigt wird.
    1. EPROM (Erasable Programmable ROM): Teurer als ein PROM, mit dem Vorteil, dass der Inhalt mehrfach aktualisiert werden kann.
    2. EEPROM (Electrically Erasable Programmable ROM): Kann jederzeit ohne Löschen des vorherigen Inhalts geschrieben werden. Ist nichtflüchtig und im Feld aktualisierbar. Teurer und hat eine geringere Dichte (weniger Bits pro Chip) als EPROMs. Schreibvorgänge sind langsamer als Lesevorgänge.
    3. Flash-Speicher: Hohe Reprogrammiergeschwindigkeit, höhere Dichte als EEPROM (in der Größenordnung von EPROM) und schnelleres Löschen als viele EPROMs.

2.2 Organisation von Halbleiterspeichern

Die Speicherzelle ist das Grundelement von Halbleiterspeichern und hat in der Regel drei Anschlüsse (Terminals):

  1. Auswahl-Terminal: Wählt die Zelle für Lese- oder Schreiboperationen aus.
  2. Steuer-Terminal: Legt die Art der Operation fest (Lesen/Schreiben).
  3. Daten-Terminal: Führt den Zustand 0 oder 1 ein (Schreibsignal).

Logik eines Speicherchips

Ein Chip mit einem Array von Speicherzellen (typische gekapselte Chipgröße: 4 M-Bit, 16 M-Bit). Ein fundamentaler Design-Aspekt ist die Anzahl der Bits, die gleichzeitig gelesen/geschrieben werden können. Dafür gibt es zwei Gründe:

  1. Das physikalische Layout der Zellen entspricht der logischen Anordnung der Wörter. Ein Array ist in W Wörtern von B Bits pro Wort organisiert.
  2. Aufbau als Bit-pro-Chip: Daten werden bitweise geschrieben oder gelesen.

Typische Organisation eines 16-Mbit-DRAM

  • In diesem Fall werden 4 Bit gleichzeitig geschrieben oder gelesen.
  • Der Speicher ist matrixstrukturiert und besteht aus 4 Untermatrizen von je 2048x2048 Elementen.
  • Adressleitungen (A) zur Auswahl des Wortes: Es werden log2W Leitungen benötigt, d.h. 11 Zeilen (211 = 2048).
  • 4 Datenleitungen (D) für den Ein-/Ausgang zu/von einem Datenpuffer.
  • Zum Lesen/Schreiben eines Datenwortes auf dem Bus müssen mehrere DRAMs an einen Speicher-Controller angeschlossen werden.
  • Multiplexing der Adressleitungen (A0-A10) spart Pins: Zuerst wird die Zeilenadresse und dann die Spaltenadresse bereitgestellt. Die Auswahl erfolgt über die Signale RAS (Row Address Strobe) und CAS (Column Address Strobe).
  • Die Refresh-Schaltung des Chips wird aktiviert, um alle Zellen zu aktualisieren. Ein Refresh-Zähler durchläuft alle Zeilen, und die Werte des Zählerausgangs werden an den Zeilendecoder angeschlossen und aktivieren die RAS-Leitung.

Modulorganisation

Wenn ein RAM-Chip 1 Bit pro Wort enthält, benötigt man so viele Chips, wie das Wort Bits hat. Dies funktioniert, wenn die Modulgröße der Anzahl der Bits pro Chip entspricht.

2.3 RAM-Technologien und Leistungsverbesserungen

Die Prozessorgeschwindigkeit wächst schneller als die Speichergeschwindigkeit, was zu folgenden Lösungsansätzen führt:

  1. Erhöhung der Latenztoleranz: Dynamische Befehlsplanung, spekulativer Speicherzugriff und Multithreading.
  2. Verbesserung der Speichersystemleistung: Speicherhierarchien, Interleaving und schnellere Bus-Technologien und Protokolle.

Typen von RAM

  1. SRAM (Static RAM): Jede Zelle besteht aus einer bistabilen Kippstufe (benötigt ca. 6 Transistoren pro Bit). Schnell, aber teuer.
  2. DRAM (Dynamic RAM): Jede Zelle besteht aus einem Kondensator (neigt zum Entladen -> benötigt eine Refresh-Schaltung). Einfachere Zelle -> höhere Dichte, geringerer Verbrauch und billiger als SRAMs. Wird für große Speichermengen verwendet (die Kosten der Refresh-Schaltung werden durch die niedrigeren Zellkosten ausgeglichen). Sie sind der Hauptspeicher von Computern. Langsamer als statischer RAM.

Vergleiche SRAM vs. DRAM

  • Um einen SRAM mit der gleichen Kapazität wie DRAM zu konfigurieren, wären bis zu 16-mal mehr SRAM-Chips erforderlich.
  • Der Preis pro Bit von SRAM liegt zwischen dem 8- und 16-fachen von DRAM.
  • Die DRAM-Zugriffszeit ist 8 bis 16 Mal höher als bei SRAM.
  • Die DRAM-Kapazität verdoppelt sich alle 2 Jahre.

Verbesserung des DRAM-Wirkungsgrades

Ansätze nutzen die räumliche Lokalität, da Cache-Fehler das Lesen einer ganzen Cache-Zeile erfordern. Es gibt verschiedene Techniken zur Verbesserung des Zugriffs auf aufeinanderfolgende Positionen und zur Steigerung der Datenzugriffsleistung.

Asynchrone DRAM-Speicherfamilie

  1. FPM DRAM (Fast Page Mode): Hält die Zeilenadresse konstant, während Daten aus mehreren Spalten nacheinander gelesen werden. Diese Zugriffsart wird in folgenden Architekturen verwaltet.
  2. EDO (Extended Data Out): Fügt ein Latch zwischen Verstärker und Ausgangsklemmen ein, deaktiviert CAS früher und hält den Zustand des Terminals beim Start des nächsten Online-Zugriffs.
  3. BEDO RAM (Burst EDO): Enthält einen Zähler, der aufeinanderfolgende Spaltenadressen für den Zugriff generiert. Dies vermeidet die Erzeugung aufeinanderfolgender CAS-Signale.

SDRAM (Synchronous DRAM)

Synchrone Schnittstelle -> Austausch von Steuersignalen mit dem Speicher-Controller synchron zu einem Taktsignal. Ermöglicht dem Prozessor, andere Aufgaben auszuführen, während er auf Speicherzugriffe wartet.

  1. DDR SDRAM (Double Data Rate SDRAM): Überträgt Daten auf beiden Flanken (steigende und fallende) des Taktsignals (doppelte Bandbreite bei gleichem Signal) und reduziert die Spannung um 30% im Vergleich zu SDRAM.
  2. QBM DDR SDRAM (Quad-Band-Speicher): Modul mit überholten Ausgängen verschiedener Bänke. DDR2 ermöglicht zwei Transfers pro Zyklus. Ähnlichkeit mit Interleaving. Latenz ähnlich wie DDR, aber wesentlich größere Bandbreite.
  3. DDR2 SDRAM (Double Data Rate 2): Die I/O-Puffer arbeiten doppelt so schnell wie die Kernfrequenz. In jedem Zyklus erfolgen 4 Übertragungen. Deutlich höhere Bandbreite als DDR. Fast doppelte Latenz im Vergleich zu DDR. Reduziert die Spannung um ca. 50%.

Rambus-DRAM (RDRAM)

  • Proprietäres Design -> hoher Preis.
  • Große Bandbreite im Vergleich zu anderen Modultechnologien.
  • Zunächst höhere Latenz als DDR.
  • Entwickelte sich zu Direct Rambus-DRAM (breiterer Bus und segmentierte Übertragung) und XDR-RAM (ab 3,2 GHz mit 2-Byte-breiten Datenpfaden, schließlich bis zu 8 GHz).

2.4 Interleaved Speicher

Verwandte Einträge: