Digitale Speicher

Digitale Speicher

Register

  • Register in CPU enthalten die Daten, auf die die CPU sofort zugreifen kann
  • sind genauso schnell getaktet wie die CPU
  • nehmen unmittelbare Operanden und Ergebnisse aller Berechnungen auf
  • Kapazität so groß wie Wortgröße des Prozessorkerns (8, 16, 32, 64 Bit)
    • in der Regel =< 1KB
  • Was gespeichert wird entscheiden laufende Programme

Cache

  • kleiner schneller Speicher (SRAM)
  • Zentraler Idee der Speicherhierarchie
  • Speicherpyramide
    • Speicher auf Level K
    • ist Cache für langsameren Speicher auf Level K+1

Cache

  • enthält Kopien von Teilen des Arbeitsspeichers um Zugriff zu beschleunigen

  • oft auf Ebene 2 oder 3 verteilt

    • First Level Cache
      • der CPU am nächsten
      • in CPU-Architektur integriert
      • 4BK bis 256KB
    • Second Level Cache
      • langsamer und größer
      • befindet sich auf Motherboard
      • 256KB bis 4 MB
  • derzeitige Entwicklung

    • Second Level Cache immer mehr in CPU-Architektur Integriert
    • Externer Cache oft Third Level Cache dann
      • 1MB bis 16MB
  • Welche Daten im Cache gehalten werden ist abhängig von Lokalität

    • Zeitliche Lokalität
      • Daten auf die mehrmals in kurzen Zeiträumen zugegriffen wird
      • Bsp. Schleifen
      • ältere Daten werden verdrängt, Verdrängung
    • Räumliche Lokalität
      • Wahrscheinlichkeit das Daten in benachbarten Adressbereichen zusammengehören ist groß
      • also speicher Caches keine Bytes sondern Adressbereiche, Cache-Block
  • Verwendung von Caches in den letzten 20 Jahren

    • kein Cache
    • L1-Cache als RAM beim CPU-Chip
    • L1-Cache auf CPU-Chip, L2-Cache auf CPU-Modul
    • L1 und L2-Cache auf CPU-Chip
  • Neue Architekturen haben drei Level

    • Level 1 (L1) Cache: Cache innerhalb des CPU-Chips
    • Level 2 (L2) Cache: 2. Cache im CPU-Chip/Modul
    • Level 3 (L3) Cache: zwischen CPU und Bus
  • CPU-Modul

    • kleine Karte mit CPU und Cache-Chips, die wie SIMM/DIMM/RIMM in einen Slot gesteckt werden

Cache Funktionsweise

  • Beim ersten Zugriff auf ein Datenelement, wird eine Kopie erzeugt, die entlang der Speicherhierarchie nach obe- wandert
  • Wird das Datenelement verändert, müssen die Änderungen irgendwann nach unten durchgereicht (zurückgeschrieben- werden
  • Beim zurückschreiben, müssen die Kopien des Datenblocks auf allen Ebenen aktualisiert werden, u- Inkonsistenzen zu vermeiden
  • Änderungen können nicht direkt auf die unterste Ebene (zum Original) durchgereicht werden!

Cache Funktionsweise

Cache-Strategien

  • Beispiel CPU liest Datum

    • Cache prüft ob Datum da ist
      • ja, Datum wird übermittelt, cache hit
      • nein, Datum wird aus RAM geladen, in den Cache gebracht und an CPU geliefert, *cache miss
    • Beim Laden, werden Daten bestimmt die aus Cache entfernt werden müssen
  • Beispiel CPU schreibt Datum

    • Datum wird vom Cache übernommen
    • Write back
      • Schreibzugriffe werden nicht direkt auf tiefe Speicherebene geschrieben
      • es kommt zu Inkonsistenz zwischen Daten im Cache und zu cachendem Speicher
      • Daten werden erst geschrieben wenn Datenblock aus Cache verdrängt wird, zurückschreiben
      • Vorteil: hohe Systemgeschwindigkeit
      • Nachteil: Daten können bei Systemausfall verloren gehen
    • Write-Through
      • Schreibzugriffe werden sofort an tiefe Speicherebene geschrieben, durchschreiben
      • Vorteil: Daten sind gesicherter
      • Nachteile: Langsameres System

Cache-Strategien

  • Cache Strategien
    • LRU
      • Last Recently Used
      • Daten entfernen deren Benutzung am längsten zurückliegt
      • güt für lokale Bereiche
      • Bsp. Schleifen sind vollständig im Cache
    • LFU
      • Last Frequently Used
      • Daten verdrängen die am wenigsten genutzt werden
    • FIFO
      • First In First Out
      • Daten verdrängen die am längsten im Cache sind
      • unabhängig von der Nutzung

Halbleiterspeicher

  • Hauptspeicher auch Arbeitsspeicher oder RAM (Random Access Memory)
  • Speicher mit wahlfreiem Zugriff
  • Größe von MB bis GB
  • Alle Anfragen der CPU die nicht im Cache beantwortet werden können, werden dort hingeleitet
  • Direktzugriffsspeicher

Halbleiterspeicher

  • Statischer RAM - SRAM
    • Speichereinheit in FlipFlops
      • elektronische Schaltung die stabile Zustände einnehmen kann, sofern Strom fliesst über eine unbegrenzte Zeit
    • hohe Integrationsdichte
      • Schnelle Zugriffszeit, 6 bis 100ns
      • Teuer
      • Speichergröße relativ klein
  • Dynamischer RAM - DRAM
    • Speichereinheit sind Kondensatoren
      • werden regelmäßig geladen
      • Inhalte werden beim Auslesen zerstört und wieder hergestellt, refresh
    • Langsame Zugriffszeit, >50ns
    • Billig
    • hohe Speichergröße
  • Geschwindigkeit des RAMS aber letztendlich durch Speicherzellen bestimmt
  • Verschränkung = Interleaving = Verfahren, bei dem unterschiedliche DRAMs für aufsteigende Adressen verwendet werden, damit sich die DRAMs während späteren Speicherzugriffen erholen können, sofern die CPU linear aufwärts auf die Zellen zugreift.

Speichermodule

  • mehrere RAM-Chips mit Controller werden auf PCBs (Printed Circuit Boards) montiert, werden Riegel genannt

  • Module werden auf Hauptplatine installiert

  • Automatische Fehlererkennung und Korrektur

    • ECC, Error Correction Code
    • Vorteile
      • Hohe Flexibilität
      • Leichte Erweiterung, Reparatur
    • Nachteile
      • reduzierte Geschwindigkeit durch lange Leitung
      • reduzierte Geschwindigkeit durch Steckplatz
  • RAM-Leistung

    • Die Systematik der Bezeichnungen der DIMM wurden aus Marketing-Gründen mehrfach geändert.
    • Bei „PC66“, „PC133“ etc. bezieht sich die Zahl auf den maximalen Takt in MHz.
    • Bei „PC800“ etc. bezieht sich die Zahl auf die maximale Busgeschwindigkeit.
    • Wichtig ist auch die maximale Transferleistung, die vom Takt, aber auch von der Busbreite sowie die Anzahl de- Transfers pro Takt abhängt.
    • Daher lassen sich die einzelnen RAM nicht so ohne weiteres vergleichen.

Halbleiterspeicher ROM

  • Festwertspeicher
  • kann nur ausgelesen werden
  • nicht flüchtig
  • Verwendung bei eingebetteten Systemen
  • 1x beschreibbar
    • ROM = Read Only Memory: Speicherinhalt wird bei der Herstellung des Chips gleich (mit der Maske) gesetzt
    • Lohnt sich nur in großen Stückzahlen
    • PROM = Programmable ROM: Speicherinhalt wird einmal elektrisch geschrieben (programmiert) und kann anschließend nicht mehr geändert werden
  • Mehrfach beschreibbar
    • EPROM = Erasable PROM: Speicherinhalt kann durch starkes UV-Licht gelöscht und anschließend elektrisch programmiert werden.
    • Chips haben ein Quarzfenster zum Löschen, das während des Gebrauch abgedeckt sein sollte.
    • Offenes Fenster: Neonlicht löscht innerhalb 3 Jahren, Sonnenlicht innerhalb einer Woche
Last modified 2022.06.01