Speicher - CCS Labs

Transcription

Speicher - CCS Labs
Speicher
Einführung in die Technische Informatik
Falko Dressler, Stefan Podlipnig
Universität Innsbruck
Übersicht
•
•
•
•
•
•
Historische Entwicklung
Begriffe
SRAM
DRAM
Nichtflüchtige Speicher
Caches
Einführung in die Technische Informatik - WS 11/12
Speicher
2
Lernziele
• Begriffe: SRAM, DRAM, SDRAM, DDR-SDRAM, PROM, EPROM, ...
• Aufbau, Organisation und Arbeitsweise von statischem und
dynamischem Speicher
• Kennenlernen moderner DRAM-Varianten und ihrer wichtigsten
Charakteristika
• Vorteile und Eigenschaften einer Cache-Hierarchie
• Aufbau, Arbeitsweise und Unterschiede von vollassoziativem
Cache, n-Wege teilassoziativem Cache und direkt abbildendem
Cache
• Optimierung von Programmen bzgl. Cache
Einführung in die Technische Informatik - WS 11/12
Speicher
3
HISTORISCHE ENTWICKLUNG
Einführung in die Technische Informatik - WS 11/12
Speicher
4
Historische Entwicklung (1)
• Im Laufe der Geschichte wurden verschiedene Technologien
eingesetzt, um Informationen zu speichern:




Modifikation von Strukturen: Lochkarte, Schallplatte
Rückkopplung: Flip-Flops, SRAM
Elektrische Ladungen: Kondensator, DRAM
Magnetismus: Magnetkernspeicher, Magnetband, Diskette, Festplatte,
MRAM
 Optik: Bar-Codes, CD-ROM, DVD
• Kriterien zum Vergleich von Speichertechnologien:
Geschwindigkeit, Kapazität, Dichte, Energiebedarf, Robustheit,
Kosten
Einführung in die Technische Informatik - WS 11/12
Speicher
5
Historische Entwicklung (2)
• Entwicklung der Komplexität von CPU und Speicher seit 1980:
Mooresches
Gesetz :
Verdopplung der
Transistoranzahl
alle 2 Jahre
Einführung in die Technische Informatik - WS 11/12
Speicher
6
Historische Entwicklung (3)
• Entwicklung der relativen Leistung von CPU und Speicher seit
1980:
Einführung in die Technische Informatik - WS 11/12
Speicher
7
Historische Entwicklung (4)
• In heutigen Rechnersystemen findet man eine mehrstufige
Speicherhierarchie:
Einführung in die Technische Informatik - WS 11/12
Speicher
8
BEGRIFFE
Einführung in die Technische Informatik - WS 11/12
Speicher
9
Begriffe (1)
• RAM (Random Access Memory)
 Speicher mit wahlfreiem Zugriff auf beliebige Adressen
• SRAM (Static RAM)
 Statischer RAM-Speicher
• DRAM (Dynamic Random Access Memory)
 Dynamischer RAM-Speicher
• SDRAM (Synchronous DRAM)
 Synchroner dynamischer RAM-Speicher
• DDR-SDRAM (Double Data Rate SDRAM)
 Synchroner dynamischer RAM-Speicher mit doppelter Datenrate
Einführung in die Technische Informatik - WS 11/12
Speicher
10
Begriffe (2)
• ROM (Read-Only Memory)
• PROM (Programmable ROM)
 Einmalig programmierbarer Speicher, z.B. durch Masken-Programmierung
bei der Chip-Herstellung.
• EPROM (Erasable PROM)
 Mit UV-Licht löschbares und elektrisch (durch zusätzliche Steuerleitungen
und Überspannungen) programmierbares PROM.
• EEPROM (Electrically Erasable PROM)
 Elektronisch löschbares und danach wieder programmierbares PROM.
• Flash (Eigenname), ähnliche Eigenschaften wie EEPROM
Einführung in die Technische Informatik - WS 11/12
Speicher
11
Begriffe (3)
• Speicher werden eingeteilt in
 Flüchtige Speicher: SRAM, DRAM, SDRAM, ...
 Informationen gehen nach Ausschalten der Versorgungsspannung verloren!
 Nichtflüchtige Speicher: PROM, EPROM, EEPROM, ...
 Informationen bleiben auch ohne Versorgungsspannung über längere Zeit
(typischerweise einige Jahre) erhalten!
• Die Kapazität von Speicherbausteinen wird (noch immer) in KByte
(bzw. KBit), MByte (bzw. MBit) oder GByte (bzw. GBit) angegeben:
Einführung in die Technische Informatik - WS 11/12
Speicher
12
Begriffe (4)
• SI-Präfixe
 Verwendet z.B. in der Datenübertragung oder auch (!) bei Speichermedien
Exp.
Langform
Präfix
Exp.
Langform
Präfix
10-3
0,001
Milli
103
1.000
10-6
0,000001
Mikro
106
1.000.000
10-9
0,000000001
Nano
109
1.000.000.000
Giga
10-12
0,000000000001
Pico
1012
1.000.000.000.000
Tera
10-15
0,000000000000001
Femto
1015
1.000.000.000.000.000
Peta
10-18
0,000000000000000001
Atto
1018
1.000.000.000.000.000.000
10-21
0,000000000000000000001
Zepto
1021
1.000.000.000.000.000.000.000
Zetta
10-24
0,000000000000000000000001
Yocto
1024
1.000.000.000.000.000.000.000.000
Yotta
Kilo
Mega
Exa
• Besondere, an die SI-Präfixe angelehnte, explizite Binärpräfixe
 Sollten in Zukunft verwendet werden.
 Beispiele:
 Kibibyte = 210 Bytes
 Mebibyte = 220 Bytes
 Gibibyte = 230 Bytes usw.
Einführung in die Technische Informatik - WS 11/12
Speicher
13
Begriffe (5)
• Als Zugriffszeit tac bezeichnet man die Zeitspanne vom Anlegen
einer Adresse bis zur Gültigkeit der ausgelesenen Daten.
• Als Zykluszeit tcycle bezeichnet man die Zeitspanne vom Anlegen
einer Adresse bis zum möglichen Anlegen der nächsten Adresse.
• Mögliches Zeitdiagramm eines Lesezyklus:
• Zykluszeit ist oft (z.B. bei DRAMs) größer als die Zugriffszeit!
Einführung in die Technische Informatik - WS 11/12
Speicher
14
Begriffe (6)
• Zwei Arten der Realisierung flüchtiger Speicher:
• Statischer Speicher




Speicherung durch 4 bis 6 Transistoren je Bit.
Kein Refresh notwendig.
Bausteine: SRAM, Dual-ported SRAM.
Zugriffs- und Zykluszeit: ca. 10 ns als externe Bausteine (schneller, wenn sie
direkt in den Prozessor integriert werden, z.B. als Cache).
• Dynamischer Speicher
 Speicherung durch einen Transistor und einen Kondensator je Bit.
 Refresh notwendig, da der Kondensator im Verlauf der Zeit
(Größenordnung: einige ms) seine Ladung verliert.
 Sehr hohe Datendichte (Kapazität je mm2 Chipfläche) möglich.
 Bausteine: DRAM, SDRAM, DDR-SDRAM, RDRAM
 Zugriffszeit für erstes Datenwort: ca. 40 ns, Zykluszeit: ca. 60 ns
Einführung in die Technische Informatik - WS 11/12
Speicher
15
SRAM
Einführung in die Technische Informatik - WS 11/12
Speicher
16
SRAM (1)
• Idee: Auf einem Flip-Flop basierender Speicherbaustein, z.B. ein DFlip-Flop für ein Bit:
• Bei Write = 1 wird Information von Din gespeichert und steht am
Ausgang Dout zur Verfügung.
• Information bleibt gespeichert, auch wenn sich Din bei Write = 0
wieder ändern sollte (solange Versorgungsspannung anliegt).
Einführung in die Technische Informatik - WS 11/12
Speicher
17
SRAM (2)
• SRAM-Bausteine basieren jedoch nicht auf vollständigen D-FlipFlops, sondern auf einfacheren SRAM-Zellen.
• Vereinfachter Aufbau einer typischen SRAM-Zelle mit FETTransistoren:
• Zwei Inverter repräsentieren bistabile Kippstufe.
• Bei Select = 1 leiten FETs und verbinden die bistabile Kippstufe mit
den Leitungen Bit und Bit, bei Select = 0 sperren FETs.
Einführung in die Technische Informatik - WS 11/12
Speicher
18
SRAM (3)
• Beschreiben einer SRAM-Zelle:
 Bit-Leitungen werden mit Bit = 1 und Bit = 0 (zum Speichern einer „1“), bzw.
mit Bit = 0 und Bit = 1 (zum Speichern einer „0“) geladen.
 Auswahl-Leitung wird auf Select = 1 gesetzt.
 Kippstufe schwingt gegebenenfalls in den anderen stabilen Zustand.
 Rücksetzen der Pegel auf Select-Leitung und danach auf Bit-Leitungen.
 Zustand bleibt erhalten, solange Versorgungsspannung anliegt.
Einführung in die Technische Informatik - WS 11/12
Speicher
19
SRAM (4)
• Auslesen einer SRAM-Zelle:
 Bit-Leitungen werden mit Bit = 1 und Bit = 1 geladen („Precharging“).
 Auf Auswahl-Leitung wird ein kurzer Impuls gegeben.
 Resultierender geringer Spannungsabfall auf Bit oder Bit wird durch
Verstärkerschaltung erkannt, die eine entsprechende Ausgabe generiert.
Einführung in die Technische Informatik - WS 11/12
Speicher
20
SRAM (5)
• Organisation eines SRAM-Bausteins:
 m  n Speichermatrix (m Speicherzeilen mit je n SRAM-Zellen)
 Auswahl einer der m = 2k Zeilen über k Adressleitungen sowie einem k-zu-m
Adress-Dekoder.
 Alle Zellen einer Spalte nutzen die gleichen Bit-Leitungen.
• Steuerlogik eines SRAMs mit einigen weiteren Steuerleitungen:
 CS (Chip Select) zur Auswahl und Aktivierung eines SRAM-Bausteins.
 WE (Write Enable) zum Speichern eines Wertes.
 OE (Output Enable) zum Lesen und Freischalten der Ausgänge.
Einführung in die Technische Informatik - WS 11/12
Speicher
21
SRAM (6)
• Vereinfachte Architektur eines m  4 SRAM-Bausteins:
Einführung in die Technische Informatik - WS 11/12
Speicher
22
SRAM (7)
• SRAM-Bausteine gibt es in verschiedenen Organisationsformen,
und Kapazitäten, z.B.:




128k  4
512k  8
1M  8
2M  16
128k Worte à 4 Bit (17 Adress-, 4 Datenleitungen, 64 KByte)
512k Worte à 8 Bit (19 Adress-, 8 Datenleitungen, 512 KByte)
1M Worte à 8 Bit (20 Adress-, 8 Datenleitungen, 1 MByte)
2M Worte à 16 Bit (21 Adress-, 16 Datenleitungen, 4 MByte)
• Auch synchrone (d.h. getaktete) SRAMs verfügbar.
 Arbeiten synchron mit Prozessortakt.
 Sehr kurze Zugriffszeiten (weniger als 5 ns).
• Viele für DRAMs eingeführte Verbesserungen (Burst-Modus,
Double Data Rate, ..) mittlerweile auch bei SRAMs erhältlich.
 Werden im nächsten Abschnitt besprochen.
Einführung in die Technische Informatik - WS 11/12
Speicher
23
SRAM (8)
• Vor-/Nachteile von SRAMs
+ Schneller Zugriff (weniger als 5 ns möglich)
+ Unempfindlich gegen elektromagnetische Strahlung
- Geringe Datendichte auf dem Chip (hoher Flächenbedarf: ca. 4-fach im
Vergleich zu DRAM)
- Energiebedarf hoch (bei vielen Zugriffen), niedrig (im Standby)
- Hoher Preis
• Typischer Einsatz von SRAMs





Mobile Geräte
Netzwerkkomponenten (z.B. Switches, Router)
Weltraumgeräte
Höchstgeschwindigkeitsrechner (z.B. Vektorrechner)
L1, L2 und L3 Cachespeicher (mit synchronen SRAMs)
Einführung in die Technische Informatik - WS 11/12
Speicher
24
DRAM
Einführung in die Technische Informatik - WS 11/12
Speicher
25
DRAM (1)
• Benötigt zur Speicherung eines Bits nur einen Transistor und einen
Kondensator.
• Patent im Jahre 1968, verfügbar seit 1970.
• Aufbau einer DRAM-Zelle:
• Extrem hohe Speicherkapazität durch geringen Flächenbedarf
einer DRAM-Zelle.
Einführung in die Technische Informatik - WS 11/12
Speicher
26
DRAM (2)
• Schreiben einer DRAM-Zelle:
 Bit-Leitung wird auf Bit = 1 oder Bit = 0 gesetzt.
 Auswahlleitung Select = 1 setzen.
 Transistor leitet und Kondensator wird aufgeladen oder entladen.
• Auslesen einer DRAM-Zelle:
 Auswahlleitung Select = 1 setzen.
 Transistor leitet
 Falls Kondensator aufgeladen war, erzeugt die Ladung einen kurzen Impuls
auf der Bit-Leitung.
 Impuls kann durch Leseverstärker erkannt werden, der eine logische 1 am
Ausgang erzeugt.
 Der Kondensator wird jedoch beim Auslesen entladen.
 Daher muss die DRAM-Zelle nach jedem Lesen wieder mit dem zuvor gelesenen
Wert beschrieben werden!
Einführung in die Technische Informatik - WS 11/12
Speicher
27
DRAM (3)
• Organisation eines
m2  1 DRAMs
(vereinfacht):
• Multiplex-Interface:
 Jede 2k-Bit Adresse (mit m = 2k) besteht aus Zeilen- und Spaltenadressteil.
 Um E/A-Pins einzusparen, werden beide Teile sequentiell über k Adressleitungen übertragen (zusätzliche Steuersignale CAS, RAS nötig).
Einführung in die Technische Informatik - WS 11/12
Speicher
28
DRAM (4)
• Lesen eines Wertes
aus einem 64k  1
DRAM-Baustein:
 Zuerst werden die Adressbits 15 bis 8 an A7 bis A0 angelegt.
 Das Signal RAS (Row Address Strobe) wird aktiviert und alle 256 Bits der
Speicherzeile werden von den Leseverstärkern ausgelesen.
 Dann werden die Adressbits 7 bis 0 an A7 bis A0 angelegt.
 Das Signal CAS (Column Address Strobe) wird aktiviert, wodurch aus den
Ausgängen der 256 Leseverstärker das gewünschte Bit ausgewählt und am
Pin D ausgegeben wird.
 Ein weiteres Bit aus der gleichen Zeile (Page) kann ausgelesen werden,
indem CAS deaktiviert, eine andere Spaltenadresse angelegt wird und CAS
wieder aktiviert wird (Fast Page Mode, FPM).
 Nach Deaktivierung von RAS und CAS wird die Zeile zurückgeschrieben.
Einführung in die Technische Informatik - WS 11/12
Speicher
29
DRAM (5)
• Schreiben eines Wertes
in einen 64k  1
DRAM-Baustein:
 Zuerst werden die Adressbits 15 bis 8 an A7 bis A0 angelegt.
 Das Signal RAS (Row Address Strobe) wird aktiviert und alle 256 Bits der
Speicherzeile werden von den Leseverstärkern ausgelesen.
 Die Adressbits 7 bis 0 an A7 bis A0 werden angelegt.
 Die Signal CAS (Column Address Strobe) und WE werden aktiviert und das zu
schreibende Bit wird an D angelegt; im Leseverstärker wird das ausgewählte
Bit durch das Signal an D überschrieben.
 In der ausgewählten Zeile können gegebenenfalls weitere Bits geschrieben
werden (Fast Page Mode, siehe vorherige Folie).
 Nach Deaktivierung von RAS und CAS wird modifizierte Zeile in die
Speichermatrix zurückgeschrieben.
Einführung in die Technische Informatik - WS 11/12
Speicher
30
DRAM (6)
• Kapazität C des Kondensators einer DRAM-Zelle ist sehr gering.
• Ladungsverlust nicht nur bei jedem Lesen, sondern auch
 langsam mit der Zeit aufgrund eines geringen Leckstroms im Transistor
(Größenordung: einige ms),
 durch elektromagnetische Strahlung.
• Periodischer Refresh erforderlich, um Zelleninhalt über längere
Zeit zu speichern:
 Jede Zeile muss regelmäßig in Abständen von typischerweise 32 bis 64 ms
gelesen werden, wodurch ihr Inhalt erneut geschrieben wird.
 Dies wird implementiert durch einen in das DRAM integrierten Zähler,
dessen Zählerstand die nächste aufzufrischende Zeilenadresse angibt.
 Der Memory-Controller erzeugt periodisch (z.B. alle 15.6 s,  BIOS) eine
bestimmte Kombination der Steuersignale (z.B. CAS-before-RAS ), durch die
ein Blindlesezyklus ausgelöst und der Zähler inkrementiert wird.
Einführung in die Technische Informatik - WS 11/12
Speicher
31
DRAM (7)
• Der Zugriff auf eine beliebige Speicheradresse benötigt ca. 60 ns.
 Da Auslesen der sehr geringen Ladung über Leitungen mit hohem
Widerstand und das Verstärken eine gewisse Zeit benötigen.
 Folgezugriffe mit anderen Spaltenadressen in der gleichen Speicherzeile
benötigen jeweils ca. 30 ns.
• DRAM-Bausteine sind wie SRAMs in unterschiedlichen
Organisationen verfügbar.
 z.B. kann ein 16 MBit Speicher als 1M  16, 2M  8, 4M  4 oder auch als
16M  1 organisiert sein.
• Bei einer Kapazität c und einer Wortbreite von n Bit benötigt man
n Speichermatrizen aus m  m DRAM-Zellen mit m =
𝑐
𝑛
• Erfüllen einzelne DRAM-Bausteine nicht die Anforderungen
bezüglich Wortbreite oder Adressraum, so können mehrere DRAMBausteine geeignet zusammengeschaltet werden.
Einführung in die Technische Informatik - WS 11/12
Speicher
32
DRAM (8)
• Möglichkeiten der Zusammenschaltung von DRAM-Bausteinen:
1) Vergrößern der Wortbreite:
 Identische Adress- und Steuerleitungen zu allen Speicherbausteinen,
Datenleitungen werden aufgeteilt.
 Beispiel: Speicher mit 256k Worten à 16 Bit
 Auch die Speicherbandbreite (Anzahl übertragbarer Bytes je Sekunde
zwischen CPU und Speicher) wird hierdurch erhöht!
Einführung in die Technische Informatik - WS 11/12
Speicher
33
DRAM (9)
2) Vergrößern des Adressraums:
 Datenleitungen und untere Adressleitungen an allen Bausteinen identisch;
obere Adressleitungen dienen dem Multiplexen der Steuersignale.
 Beispiel: Speicher mit 64M Worten à 8 Bit
• Möglichkeiten 1) und 2) werden oft kombiniert !
Einführung in die Technische Informatik - WS 11/12
Speicher
34
DRAM (10)
• Vor-/Nachteile von DRAM-Bausteinen
- Periodischer Refresh erforderlich ( kostet Energie, auch bei
Nichtbenutzung des Speichers!)
- Hohe Zugriffszeit von ca. 60 ns für das erste Datenwort, dank FPM kürzere
Zugriffszeit von ca. 30 ns für folgende Datenworte der gleichen Zeile.
+ Ca. 4-fach höhere Datendichte als bei SRAM.
+ Geringer Preis je Mbit.
• Typischer Einsatz von DRAMs
 Hauptspeicher in PCs und Workstations
 Pufferspeicher, z.B. in Druckern
• „Einfache“ DRAMs sind heute nicht mehr erhältlich, sondern nur
noch die schnelleren DRAM-Varianten ...
Einführung in die Technische Informatik - WS 11/12
Speicher
35
DRAM-Varianten (1)
• Möglichkeiten der Beschleunigung des Zugriffs auf Daten aus
DRAM-Bausteinen:
 Überlappung: Auslesen eines Datenwortes erfolgt simultan zum Anlegen
der Adresse für den nächsten Zugriff.
 Burst-Modus: Eine festgelegte Anzahl von Daten wird aus aufeinander
folgenden Spaltenadressen gelesen oder geschrieben, wobei nur die
Startadresse bereitgestellt wird.
 Pipelining: Durch eine mit dem Systemtakt synchrone Arbeitsweise kann je
Taktzyklus ein neuer Spaltenzugriff initialisiert bzw. abgeschlossen werden.
Einführung in die Technische Informatik - WS 11/12
Speicher
36
DRAM-Varianten (2)
• SDRAM (Synchronous DRAM, 1999)
 Getakteter Speicherbus (typisch 100, 133 oder 166 MHz)
 Alle Signale werden nur bei steigender Taktflanke als gültig betrachtet.
 Kombination von Signalen auf CS, RAS, CAS, WE definiert Buszyklus und wird
als Steuerbefehl bezeichnet.
 Arbeitet mit Pipelining: In jedem Taktzyklus kann eine neue Spaltenadresse
angelegt werden, wobei die zugehörigen Daten eine bestimmte Anzahl von
Takten später am Ausgang bereitstehen.
 Kann im Burst Modus arbeiten: Lesen oder Schreiben einer bestimmten,
einstellbaren Anzahl von Datenworten von benachbarten Spaltenadressen
(meist 2, 4 oder 8 Datenworte).
 Zugriffszeit im Burst-Modus: ca. 6 bis 10 ns
 Entspricht einer maximalen Speicherbandbreite von 400 bis 666 MByte/s bei
Einsatz eines 32-Bit Speicherbusses, bzw. von 800 bis 1,33 GByte/s bei einem 64Bit Speicherbus.
Einführung in die Technische Informatik - WS 11/12
Speicher
37
DRAM-Varianten (3)
• Nomenklatur von SDRAMs: PC-xxx CL a-b-c
 xxx gibt die maximale Taktfrequenz des Speicherbusses an.
 a gibt die CAS-Latenzzeit (CAS Latency) an, d.h. die Zeit tCL (in Taktzyklen)
von der fallenden Flanke des CAS-Signals bis zur Ausgabe der Daten.
 b gibt die RAS-zu-CAS-Verzögerung (RAS-to-CAS Delay) an, d.h. die minimale
Zeit tRCD (in Taktzyklen) zwischen Anlegen von RAS und CAS.
 c gibt die RAS-Vorladezeit (RAS Precharge Time) an, d.h. die Zeit tRP (in
Taktzyklen) zum Beenden des letzten Zugriffszyklus und Vorbereiten des
nächsten Zeilenzugriffes (Precharging).
• Oft wird nur die CAS-Latenzzeit tCL angegeben (z.B. als CL2 oder
CL3).
Einführung in die Technische Informatik - WS 11/12
Speicher
38
DRAM-Varianten (4)
• Beispiel: Burst-Lesezyklus bei PC-133 CL 2-2-2 SDRAM:
mit den Steuerbefehlen: Activate (CS = 0, RAS = 0, CAS = 1, WE = 1)
Read (CS = 0, RAS = 1, CAS = 0, WE = 1)
Precharge (CS = 0, RAS = 0, CAS = 1, WE = 0)
Einführung in die Technische Informatik - WS 11/12
Speicher
39
DRAM-Varianten (5)
• DDR-SDRAM (Double Data Rate SDRAM, 2001)
 Bei jedem Zugriff auf eine Speichermatrix werden zwei benachbarte Bits
ausgelesen (2-Bit Prefetch).
 Pro Takt wird bei der steigenden und bei der fallenden Taktflanke
übertragen.
 Verdopplung der Datenrate im Burst-Modus.
• Nomenklatur bei DDR-SDRAMs: DDR-xxx
 xxx bezeichnet die doppelte Taktfrequenz.
 Zusätzliche Angaben in der Form CL a-b-c bedeuten a = tCL, b = tRCD und c =
tRP (vgl. SDRAMs).
Einführung in die Technische Informatik - WS 11/12
Speicher
40
DRAM-Varianten (6)
• Beispiel: Burst-Lesezyklus bei DDR -266 CL 2-3-3 Baustein,
Burstlänge = 4, Zugriff auf zwei Spalten a und b in einer Zeile.
Einführung in die Technische Informatik - WS 11/12
Speicher
41
DRAM-Varianten (7)
• DDR2-SDRAM (2004)
 Weiterentwicklung des DDR-SDRAM Standards.
 Übertragen wie DDR-SDRAMs Daten sowohl bei der steigenden als auch bei
der fallenden Taktflanke.
 Geringere Versorgungsspannung: 1,8 Volt anstatt 2,5 Volt
 Geringe Stromaufnahme, geringere Wärmeentwicklung
 Bei jedem Zugriff auf die Speichermatrix werden 4 benachbarte Datenbits
ausgelesen bzw. geschrieben (4-Bit Prefetch).
 Im Vergleich zu DDR halber interner Speichertakt, nur noch Burstlänge von 4
und 8.
• Nomenklatur wie bei DDR-SDRAMs: DDR2-xxx
 xxx bezeichnet die doppelte Taktfrequenz des Speicherbusses.
Einführung in die Technische Informatik - WS 11/12
Speicher
42
DRAM-Varianten (8)
• DDR3-SDRAM (2007)
 Weiterentwicklung des DDR2-SDRAM Standards.
 Übertragen wie DDR-SDRAMs Daten sowohl bei der steigenden als auch bei
der fallenden Taktflanke.
 Noch geringere Versorgungsspannung: 1,5 Volt anstatt 1,8 Volt
 Bei jedem Zugriff auf die Speichermatrix werden 8 benachbarte Datenbits
ausgelesen bzw. geschrieben (8-Bit Prefetch).
 Im Vergleich zu DDR ist interner Speichertakt um Faktor 4 kleiner.
• Nomenklatur wie bei DDR-SDRAMs: DDR3-xxxx
 xxxx bezeichnet die doppelte Taktfrequenz des Speicherbusses.
 Zusätzliche Angaben in der Form CL a-b-c bedeuten a = tCL, b = tRCD und c =
tRP.
Einführung in die Technische Informatik - WS 11/12
Speicher
43
DRAM-Varianten (9)
• Zusammenfassung typischer Werte:
Variante
DRAM (FPM)
SDRAM PC-133
DDR-400 2,5-3-3
DDR2-800 6-6-6
DDR3-1066 7-7-7
DDR3-1600 9-9-9
externer Zykluszeit Zugriffszeit SpaltenTakt
Zugriffszeit
80 ns
60 ns
30 ns

133 MHz
60 ns
40 ns
15 ns
200 MHz
55 ns
30 ns
12,5 ns
400 MHz
45 ns
30 ns
15 ns
533 MHz
40 ns
26 ns
13 ns
800 MHz
34 ns
23 ns
11 ns
BurstZugriffszeit
30 ns
7,5 ns
2,5 ns
1,25 ns
0,94 ns
0.63 ns
• Eine einzelne DRAM-Speicherzelle ist kaum schneller geworden;
lediglich das Interface wurde so verbessert, dass die Zugriffszeit im
Burst-Modus erheblich reduziert wurde!
Einführung in die Technische Informatik - WS 11/12
Speicher
44
Speichermodule (1)
• Speicherbausteine werden nicht einzeln verwendet, sondern als
Module:
• SIMM (Single Inline Memory Module) oder PS/2-Modul
 Einseitig bestückt, 72 Kontakte nur auf einer Seite der Speicherplatine, 32
Datenbits
 Jeweils 2 identische Module für 64-Bit Bus erforderlich.
• DIMM (Dual Inline Memory Module)
 Kontakte beidseitig, meist zweiseitig bestückt, 64 Datenbits
 Bei Verwendung von SDRAMS: 168 Kontakte, bei DDR-SDRAMs: 184
Kontakte, bei DDR2- und DDR3-SDRAMs: 240 Kontakte
Einführung in die Technische Informatik - WS 11/12
Speicher
45
Speichermodule (2)
• Neben den normalen („unbuffered“) Speichermodulen gibt es auch
solche mit zusätzlichen Registern („registered “) zum Aufbau von
Servern mit sehr großem Arbeitsspeicher.
• Auch Speichermodule mit Fehlererkennung oder Fehlerkorrektur
verfügbar:
 Zusätzlicher Speicherbaustein für Prüfbits erforderlich.
 Parity-Module gestatten eine Fehlererkennung.
 1 zusätzliches Prüfbit
 ECC-Module (Error Correcting Code) gestatten eine Fehlerkorrektur.
 8 zusätzliche Prüfbits bei 64-Bit Modulen
Einführung in die Technische Informatik - WS 11/12
Speicher
46
NICHTFLÜCHTIGE SPEICHER
Einführung in die Technische Informatik - WS 11/12
Speicher
47
Nichtflüchtige Speicher (1)
• Ein Festwertspeicher (ROM = Read Only Memory) hat auch eine
matrixartige Architektur.
 Der FET in einer jeden Zelle wird über eine Maske bei der Produktion
permanent leitend oder sperrend.
Einführung in die Technische Informatik - WS 11/12
Speicher
48
Nichtflüchtige Speicher (2)
• Bei einem PROM (Programmable ROM) sind
die Transistoren nur über eine sehr dünne
Metallschicht (fuse) mit der Bitleitung
verbunden.
 Bipolare Transistoren anstatt FETs
 Alle Transistoren eines PROMs sind zunächst
leitend.
 Durch einen kurzen Überspannungsimpuls auf der
Bitleitung kann die Metallschicht verdampft
werden (Transistor sperrt).
 Programmierung ist irreversibel.
 Sehr kurze Zugriffszeiten (ca. 5 ns) beim Lesen
möglich.
 Auch zur Realisierung logischer Schaltungen
geeignet.
Einführung in die Technische Informatik - WS 11/12
Speicher
49
Nichtflüchtige Speicher (3)
• Ein EPROM (Erasable PROM) basiert auf Floating Gate
FETs:
 FET ist zunächst leitend.
 Bei Anlegen einer hohen Spannung VGS (12V) an gate2
entsteht ein elektrisches Feld, das die Elektronen auf das
„Floating Gate“ (gate1) springen lässt (FET sperrt).
 Ladung auf „Floating Gate“ bleibt einige Jahre erhalten.
 Erst durch UV Licht werden Elektronen wieder freigesetzt
(FET leitet).
 Programmierung erfordert spezielles Programmiergerät.
 Lebensdauer: einige 100 Lösch-/Brennvorgänge
Einführung in die Technische Informatik - WS 11/12
Speicher
50
Nichtflüchtige Speicher (4)
• Ein EEPROM (Electronically Erasable PROM) basiert auf Floating
Gate Tunnel Oxide FET Transistoren:
 Dünne Oxidschicht, durch die bei Anlegen negativer Spannungen VGS die
Elektronen zurückspringen können.
 Bis zu 10000 Schreibvorgänge möglich.
 Löschen einzelner Werte möglich.
 Zeit für das Lesen eines Wertes: 35 ns
 Zeit für das Schreiben eines Wertes: 5 bis 10 ms
Einführung in die Technische Informatik - WS 11/12
Speicher
51
Nichtflüchtige Speicher (5)
• Flash-Speicher arbeiten ähnlich wie EEPROMs, haben jedoch
günstigere Eigenschaften.
 Zwei Technologien: NOR (1998, Intel) und NAND (1999, Toshiba)
 Zugriffszeit beim Lesen:
 NOR: 25 bis 70 ns (wahlfrei)
 NAND: 50 ns (seriell in einer Seite aus z.B. 512 Byte)
 Zeit für Schreibvorgang:
 NOR: 5 bis 10 s je Wort
 NAND: ca. 200 s je Seite (z.B. 512 Byte)
 Bis zu 1000000 Schreibvorgänge sind möglich (bei NAND).
 Typische Speicherdauer: ca. 10 Jahre
 NAND Flash-Speicherbausteine bieten dank kleinerer Speicherzellen eine
höhere Kapazität.
 Nur blockweises Löschen möglich, bei NAND wesentlich schneller.
Einführung in die Technische Informatik - WS 11/12
Speicher
52
Nichtflüchtige Speicher (6)
• Typische Anwendungen von Festwertspeichern:
 Speicherung des BIOS (Basic Input/Output System) beim PC.
 Speicherung von Programmen bei eingebetteten Systemen.
 In Geräten der Kommunikationstechnik zur Speicherung von Rufnummern,
Senderfrequenzen, …
 Als Flashkarten zur Speicherung von Bildern in digitalen Fotoapparaten, für
Musikdateien beim MP3-Player, …
 In USB Memory-Sticks oder SSDs zur Speicherung von Daten oder
Programmen.
• MRAM-Technologie (Magnetoresistive RAM) ermöglicht
nichtflüchtige Speicher mit magnetischen Ladungselementen.
 Erster Prototyp 2004 von Freescale, heute bis zu 4 Mbit per Chip, 35 ns
Lese/Schreibzyklus, recht teuer (von einigen Firmen aufgegeben);
Einführung in die Technische Informatik - WS 11/12
Speicher
53
CACHES
Einführung in die Technische Informatik - WS 11/12
Speicher
54
Caches (1)
• Aufgrund immer höherer Leistung moderner CPUs nehmen die
Anforderungen an den Speicher ständig zu - benötigt werden:
 Kurze Zugriffszeit
 Hohe Transferrate
• Speichermodule aus aktuellen DRAM-Varianten erreichen zwar
eine relativ hohe Transferrate; die Zugriffszeit ist bei wahlfreier
Adressierung jedoch völlig unzureichend!
• Durch Einsatz einer Speicherhierarchie (aus gestaffelt schnellen
Speichern) soll ein Speicher aus DRAM-Bausteinen ähnlich schnell
werden wie ein Speicher aus SRAM-Bausteinen.
Einführung in die Technische Informatik - WS 11/12
Speicher
55
Caches (2)
• Grundidee: Programme verfügen meist über eine hohe Lokalität,
d.h. sie greifen in einer Zeitspanne nur auf einen kleinen Teil des
Adressraums zu.
• Es gibt zwei Arten von Lokalität:
 Zeitliche Lokalität: Wenn Zugriff auf ein Element im Speicher erfolgt, ist die
Wahrscheinlichkeit groß, dass dieses Element noch einmal verwendet wird
(z.B. bei Schleifen).
 Räumliche Lokalität: Nach Zugriff auf ein Element aus dem Speicher ist die
Wahrscheinlichkeit groß, dass auch auf benachbarte Elemente zugegriffen
wird (z.B. bei Arrays).
• Bei Zugriff auf Speicheradresse a wird daher nicht nur ein
einzelnes Speicherwort gelesen.
 Es werden auch alle benachbarten Speicherworte gelesen und im Cache
gespeichert (hohe Übertragungsrate im DRAM Burst-Modus kann
ausgenutzt werden!).
Einführung in die Technische Informatik - WS 11/12
Speicher
56
Speicherhierarchie (1)
• Heutige Rechner verfügen über eine
mehrstufige Speicherhierarchie:
 Prozessorinterne L1 Caches für Code und
Daten:
 Zugriff in 1-3 Takten
 Typische Größe von 864 KByte, SRAM
 Prozessorexterner, aber jedoch auf dem
gleichen Chip integrierter (für Code und Daten
gemeinsamer) L2 Cache
 Zugriff in 4-15 Takten
 Typische Größe von 256 KByte bis 16 MByte,
SRAM
 Mittlerweile zusätzlicher (externer) L3 Cache
 Typische Größe 2-64 Mbyte
 Hauptspeicher (DRAM) mit einigen (z.B. 8,16)
Gbyte
 Zugriff in ca. 40 ns
Einführung in die Technische Informatik - WS 11/12
Speicher
57
Speicherhierarchie (2)
• Cache auf Ebene i + 1 ist größer und langsamer als auf Ebene i.
• Jeder Cache arbeitet wie ein Assoziativspeicher für Speichereinträge des Hauptspeichers:
 Über einen Schlüssel wird auf ein Datenfeld zugegriffen.
 Der Schlüssel entspricht der Speicheradresse.
 Das Datenfeld enthält den Speicherinhalt.
• Bei jedem Speicherzugriff wird beginnend beim Cache auf der
Ebene i = 1 überprüft, ob die Speicheradresse als Schlüssel
gespeichert ist:
 Falls vorhanden (Cache Hit), enthält der Cache der Ebene i eine Kopie des
Speicherinhaltes.
 Falls nicht vorhanden (Cache Miss), wird der Cache auf Ebene i + 1 bzw. der
Hauptspeicher konsultiert und die adressierten Daten werden für spätere
Zugriffe im Cache der Ebene i gespeichert.
Einführung in die Technische Informatik - WS 11/12
Speicher
58
Cache-Aufbau
• Ein Cache besteht aus c = 2k Cache-Zeilen.
• Jede Cache-Zeile (Cache Line oder Cache Block) besteht aus einem
t-Bit Identifikator (Tag), einem Datenbereich, einem Index und
Gültigkeits-Flag V (Valid Bit):
• Datenbereich besteht aus m = 2d Bytes (typisch: m = 8, 16, 32); m
wird Eintragsgröße (Block Size oder Line Size) genannt.
• Der Tag enthält einen Teil der Speicheradresse.
• Größe des Cache-Speichers: Sc = c  m
 Nur für Datenbereich, zusätzlicher Speicherbedarf von c  t Bit für Tags und c
Bit für Valid Bits.
Einführung in die Technische Informatik - WS 11/12
Speicher
59
Vollassoziativer Cache (1)
• Beim vollassoziativen Cache wird eine Hauptspeicherzeile in
beliebiger Cache-Zeile abgelegt:
 Bei Zugriff auf ein Wort auf beliebiger Adresse a werden m = 2d Bytes ab der
Adresse a' = a – a mod m in den Cache geladen.
• Für eine CPU mit Adressen der Breite w bit (Größe des Adressraums ist SM = 2w) ist ein Tag von t = w – d Bit erforderlich.
 Beispiel:
 32-Bit Adressen (w = 32)
 Cache mit Zeilen aus je m = 16 Bytes (d = 4)
• Niedrige d Bit einer Adresse nicht im Tag enthalten; sie dienen der
Auswahl eines Bytes aus Cache-Zeile.
Einführung in die Technische Informatik - WS 11/12
Speicher
60
Vollassoziativer Cache (2)
• Aufbau und Arbeitsweise eines vollassoziativen 4 KByte Caches mit
256 Zeilen à 16 Byte für eine 32-bit CPU:
Einführung in die Technische Informatik - WS 11/12
Speicher
61
Vollassoziativer Cache (3)
• Bei Zugriff auf Adresse a wird das Tag aller gültigen Cache-Zeilen
meist gleichzeitig (vollparallel) mit den entsprechenden AdressBits von a verglichen.
• Aufwand:
 (w d)  c Bit-Vergleicher
 Ein c-Bit Treffer-Register
 Ein Baum aus UND- und ODER-Gattern zur Bestimmung eines Cache Hit
Signals für CPU aus Treffer-Registern.
• Vollassoziativer Cache wird nur für kleine Caches verwendet!
 Ansonsten ist Aufwand zu hoch und die Trefferbestimmung aufgrund der
aufwendigen Logik zu langsam.
Einführung in die Technische Informatik - WS 11/12
Speicher
62
Direkt abbildender Cache (1)
• Beim direkt abbildenden Cache (direct mapped cache) kann jede
Hauptspeicherzeile nur auf eine bestimmte Cache-Zeile abgebildet
werden.
• Die Cache-Zeile wird direkt durch den Index-Anteil einer Adresse
festgelegt!
• Bei einem Hauptspeicher der Größe SM = 2w Byte und einem Cache
mit c = 2k Zeilen aus jeweils m = 2d Byte ist ein Tag von nur noch t =
w – k – d Bit erforderlich.
 Beispiel:
 32-Bit Adressen (w = 32)
 64 KByte Cache mit 4096 Zeilen (k = 12) aus je 16 Bytes (d = 4)
Einführung in die Technische Informatik - WS 11/12
Speicher
63
Direkt abbildender Cache (2)
• Aufbau und Arbeitsweise eines direkt abbildenden 64 KByte
Caches mit 4096 Zeilen à 16 Byte für eine 32-Bit CPU:
Einführung in die Technische Informatik - WS 11/12
Speicher
64
Direkt abbildender Cache (3)
• Man kann sich den Hauptspeicher in gleich große Segmente
unterteilt vorstellen:
 Größe des Hauptspeichers SM = 2w Byte.
 Aufteilung in s = 2t der Cachegröße SC entsprechende Segmente.
• Insgesamt s Hauptspeicherzeilen mit gleichem Indexanteil (d.h. mit
Adress-Distanz 2w-t) konkurrieren um eine Cache-Zeile.
 Die i-te Hauptspeicherzeile eines jeden Segmentes kann nur in der CacheZeile i gespeichert werden.
 Bei einem Konflikt muss entsprechende Zeile erst freigegeben werden,
bevor sie erneut belegt wird.
• Bei Cache-Zugriff muss nur ein t-Bit Tag mit den zugehörigen t Bit
der Adresse verglichen werden.
 Aufwand: t Bit-Vergleicher, kein Assoziativspeicher!
Einführung in die Technische Informatik - WS 11/12
Speicher
65
n-Wege teilassoziativer Cache (1)
• Mischform aus einem vollassoziativen und einem direkt
abbildenden Cache:
 Der Cache wird nun in n Partitionen (Sets) der Größe SC / n unterteilt (n-Way
Set-Associative Cache).
 Jede Partition ist ein direkt abbildender Cache; assoziativer Zugriff auf
entsprechende Zeilen aller n Partitionen.
• Jede Hauptspeicherzeile kann in einer beliebigen Partition, dort
aber nur in einer bestimmten Cache-Zeile abgespeichert werden.
 Bei einer Kollision kann eine andere Partition ausgewählt werden, sofern
dort in der entsprechenden Zeile ein Eintrag kollisionsfrei möglich ist.
Einführung in die Technische Informatik - WS 11/12
Speicher
66
n-Wege teilassoziativer Cache (2)
• Bei einem Hauptspeicher der Größe SM = 2w Byte und einem nWege teilassoziativem Cache mit c = 2k Zeilen je Partition und
Cache-Zeilen aus m = 2d Byte ist ein Tag von t = w – k – d Bit
erforderlich.
 Resultierende Cache-Gesamtgröße: SC = n  c  m Byte = n  2k  2m Byte
 Beispiel: 32-Bit Adressen (w = 32), 2-Wege teilassoziativer Cache der Größe
128 KByte, d.h. 2 Partitionen à 64 KByte mit jeweils c = 4096 Zeilen (k = 12)
und Cache-Zeilen aus m = 16 Bytes (d = 4)
• Adressbildung erfolgt somit wie bei einem direkt abbildendem
Cache der Größe SC / n.
Einführung in die Technische Informatik - WS 11/12
Speicher
67
n-Wege teilassoziativer Cache (3)
• Aufbau und Arbeitsweise eines 2-Wege teilassoziativen Caches der
Größe 128 KByte mit Zeilen à 16 Byte:
Einführung in die Technische Informatik - WS 11/12
Speicher
68
n-Wege teilassoziativer Cache (4)
• Insgesamt s Hauptspeicherzeilen mit gleichem Indexanteil (d.h. mit
Adress-Distanz 2w t) konkurrieren um n Cache-Zeilen!
 Allgemein gilt n << s, d.h. Konflikte sind möglich, aber seltener als beim
direkt abbildenden Cache.
• Man kann sich Hauptspeicher wie beim direkt abbildendem Cache
in s = 2t Segmente der Größe SM / s unterteilt vorstellen:
 Beim Eintrag der i-ten Hauptspeicherzeile des j-ten Segmentes entspricht i
dem Index.
 Es wird eine Partition ermittelt, in der eine Cache-Zeile mit Index i frei ist, j
wird dort als Tag eingetragen.
• Bei einem Cache-Zugriff müssen die t-Bit Tags aller n Zeilen mit
den zugehörigen t Bit der Adresse verglichen werden.
 n parallele Vergleiche, Aufwand: n  t Bit-Vergleicher
Einführung in die Technische Informatik - WS 11/12
Speicher
69
Lese- und Schreibzugriffe (1)
• Folgende Situationen können bei einem Lesezugriff auf eine
Cache-Zeile auftreten:
 Read Hit: Bei einem erfolgreichen Lesezugriff (d.h. Tag und die zugehörigen
Adress-Bits stimmen überein)
 wird ein Datum aus typisch 1, 2, 4, 8 oder m Bytes aus der Cache-Zeile in den
Befehlspuffer bzw. in ein Register der CPU geladen.
 Read Miss: Bei einem erfolglosen Lesezugriff auf Adresse a
 wird stets eine komplette Cache-Zeile mit m Bytes (Burst-Modus!) ab der
Adresse a – a mod m aus dem Hauptspeicher bzw. aus dem Cache der nächsten
Hierarchie-Stufe eingelesen.
 muss gegebenenfalls eine Cache-Zeile ersetzt werden, typischerweise gemäß
der LRU-Strategie (Least Recently Used ).
– Ersetze jene Zeile, auf die am längsten nicht mehr zugegriffen wurde.
– In der Praxis oft nur approximierter LRU oder zufälliges Ersetzen.
Einführung in die Technische Informatik - WS 11/12
Speicher
70
Lese- und Schreibzugriffe (2)
• Folgende Situationen können bei einem Schreibzugriff auf eine
Cache-Zeile auftreten:
 Write Hit : Bei erfolgreichem Schreibzugriff auf Adresse a wird ein Datum
aus typisch 1, 2, 4 oder 8 Byte im Cache aktualisiert und die komplette
Cache-Zeile wird entweder
 unmittelbar in den Hauptspeicher zurück geschrieben (Write Through),
 oder durch ein zusätzliches Flag (Dirty Bit) markiert und erst später bei
Verdrängung in den Hauptspeicher zurück geschrieben (Write Back).
 Write Miss : Bei erfolglosem Schreibzugriff wird entweder
 der Eintrag zunächst aus dem Speicher geholt und dann wie bei einem Write Hit
aktualisiert (Fetch on Write),
 oder der Eintrag wird nur im Hauptspeicher ohne Modifikation des Caches
aktualisiert (Write Around).
• Hinweis: Bei modernen Multicore-Prozessoren wird die Verwaltung
noch komplizierter da jeder Core einen eigenen Cache besitzt.
 Zusätzliche Cache-Kohärenz Protokolle!
Einführung in die Technische Informatik - WS 11/12
Speicher
71
Verhalten von Caches (1)
• Faustregeln
 Ein 2-Wege teilassoziativer Cache hat typischerweise eine Miss Rate wie ein
doppelt so großer direkt abbildender Cache!
 Ein 8-Wege teilassoziativer Cache weist für die meisten Anwendungen
ungefähr eine Miss Rate wie ein vollassoziativer Cache auf!
• 3 Ursachen für Cache-Fehlzugriffe (3 „C“s)
 Bei Erstbelegung nach Programmstart (Compulsory)
 Wenn wegen zu geringer Kapazität Verdrängungen benötigter Zeilen
auftreten (Capacity).
 Wenn benötigte Zeilen wegen Konflikten verdrängt werden (Conflict).
Einführung in die Technische Informatik - WS 11/12
Speicher
72
Verhalten von Caches (2)
• Miss-Rate in Abhängigkeit von der Cache-Größe und der
Assoziativität (für bestimmte Benchmarks):
Einführung in die Technische Informatik - WS 11/12
Speicher
73
Verhalten von Caches (3)
• Typische Fehlzugriffsrate in Abhängigkeit von Ursache, CacheGröße und -Typ
(ermittelt für
Spec2000 Benchmark,
Patterson 2009)
• Fehlzugriffsrate sinkt deutlich bei Vergrößerung des Caches!
• Fehlzugriffe durch Erstbelegung sind für viele Anwendungen
vernachlässigbar!
Einführung in die Technische Informatik - WS 11/12
Speicher
74
Verhalten von Caches (4)
• Fazit: Eine gut dimensionierte Cache-Hierarchie kann durch
Ausnutzung
 von zeitlicher und räumlicher Lokalität in Programmen und
 des Burst-Modus bei ausreichend hoher Eintragsgröße
die Nachteile von langsamen DRAM-Bausteinen weitgehend
verdecken!
Einführung in die Technische Informatik - WS 11/12
Speicher
75
Cache-Optimierungen in Programmen (1)
• Einfügen von Prefetch-Instruktionen, d.h. benötigte Daten werden
schon vorab in den Cache geholt.
 Automatisch vom Compiler oder manuell im Assemblerprogramm!
• Erhöhung der Lokalität beim Zugriff auf Daten:
Beispiel 1: Merging
Beispiel 2: Loop Interchange
/* vorher: */
char *name[100];
int personalnummer[100];
/* vorher: */
for (j=0;j<100;j=j+1)
for (i=0;i<5000;i=i+1)
x[i][j] = 2*x[i][j]
/* nachher: */
struct person {
char *name;
int personalnummer;
};
struct person personal[100];
Einführung in die Technische Informatik - WS 11/12
/* nachher: */
for (i=0;i<5000;i=i+1)
for (j=0;j<100;j=j+1)
x[i][j] = 2*x[i][j]
Speicher
76
Cache-Optimierungen in Programmen (2)
• Vermeidung von Cache-Konflikten
 Die Wahrscheinlichkeit für Verdrängungen durch Cache-Konflikte kann z.B.
steigen, wenn
 die Größe einer Dimension eines mehrdimensionalen Feldes einer Zweierpotenz
entspricht,
 die Elemente mehrerer Felder, deren Größe jeweils einer Zweierpotenz
entspricht, verknüpft werden.
 Lösung: Einfügen von Füllworten (Padding), z.B.
 Durch Erhöhen der Feldgröße auf einen Wert, der keine Zweierpotenz darstellt.
 Durch Einfügen zusätzlicher Variablen zwischen der Deklaration von Feldern.
 Einige Compiler für Höchstleistungscomputer können ein Padding auch
automatisch durchführen.
Einführung in die Technische Informatik - WS 11/12
Speicher
77
Speicherarchitektur eines PC (1)
Einführung in die Technische Informatik - WS 11/12
Speicher
78
Speicherarchitektur eines PC (2)
• Beispiel: Floorplan (Core i7)
Einführung in die Technische Informatik - WS 11/12
Speicher
79
Speicherarchitektur eines PC (3)
• Beispiel: Cache-Hierarchie eines Intel Core i7 Prozessors:
L1
Cache-Typ
4-Wege (I) / 8-Wege (D)
Cache-Größe
32 KB (I) / 32 KB (D)
Zugriffslatenz
4 Zyklen, pipelined
Ersetzung
Pseudo-LRU
Einführung in die Technische Informatik - WS 11/12
L2
8-Wege
256 KB
10 Zyklen
Pseudo-LRU
Speicher
L3
16-Wege
2 MB (per Core)
35 Zyklen
Pseudo-LRU (+ zusätzlicher
Algorithmus)
80