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
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
- First Level Cache
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
- Zeitliche Lokalität
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-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
- Cache prüft ob Datum da ist
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
- 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
- LRU
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
- 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
- Speichereinheit in FlipFlops
- 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
- Speichereinheit sind Kondensatoren
- 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