Prozessorarchitektur. Speicher. M. Schölzel
|
|
- Viktor Graf
- vor 7 Jahren
- Abrufe
Transkript
1 Prozessorarchitektur Speicher M. Schölzel
2 Inhalt Aufbau von Speicher Organisation der Speicherhierarchie
3 Inhalt Aufbau von Speicher Organisation der Speicherhierarchie
4 Prozessor-Memory-Gap µproc 60%/yr. (2X/1.5yr) Processor-Memory Gap: ~+50% / year DRAM 9%/yr. (2X/10 yrs)
5 Speicherhierarchie in einem Computer Eigenschaften Bei 1 GHz vergeht pro Takt 1 ns In 1 ns legt Licht im Vakuum ca. 30 cm zurück Typische Taktraten 1 bis 4 GHz Physisch ist der Speicher hierarchisch organisiert Logisch ein Adressraum Speicherverwendung typische Speichergröße Ungefähre Zugriffszeiten Form der Implementierung CPU-Register ~500 Byte ~250 ps D-Flip-Flop, D- Latch Eigenschaft Flüchtig 1L-Cache ~8 64 KByte ~1 ns SRAM Flüchtig On-Chip 2L-Cache ~256 KByte ~5 ns SRAM Flüchtig 3L-Cache ~1 16 MByte ~25 ns SRAM Flüchtig Hauptspeicher ~4 32 GByte ~50 ns DRAM Flüchtig Off-Chip Disk ~1-2 TByte Millisekunden Festplatte/Flash Nicht flüchtig
6 Typische Taktraten Wenige MHz 100 MHz Speicherhierarchie in einem Mikrocontroller Organisation des Speichers Flache Hierachie Unterschiedliche Speichertypen in verschiedenen Adressbereichen Speicherverwendung typische Speichergröße Ungefähre Zugriffszeiten Form der Implementierung Eigenschaft CPU-Register ~100 Byte ~1 ns D-Flip-Flop, D-Latch flüchtig Datenspeicher 1 Kbyte 2 MByte ~1-10 ns SRAM flüchtig On-Chip Programmspeicher ~64 KByte 1 MB ~1-10 ns Flash, ROM (nicht) flüchtig Programm- /Datenspeicher 1 4 MB ~50 ns Flash, DRAM (nicht) flüchtig Off-Chip
7 Organisationsformen von Speicher Flüchtige Speicher Flip-Flops SRAM DRAM Festwertspeicher Masken-ROM OTP-ROM (one-time programmable) Kleine Speichergröße (wenige Byte) Organisation als Register Verwendung als Massenspeicher Organisation in Speicherfeldern Nicht-Flüchtige Speicher EPROM EEPROM Flash
8 Organisation Speicherfelder (1) Speicherfelder dienen der Speicherung großer Datenmengen Organisation als zweidimensionales Feld mit 2 n Zeilen jede Zeile enthält ein Datenwort mit m-bit Speicherkapazität 2 n m Bits Adresse Daten Adresse n 2 n -word m-bit Speicherfeld m Daten
9 Organisation Speicherfelder (2) Physischer Aufbau aus Bitzellen Jede Bitzelle speichert ein Bit Adressierung der Bitzellen einer Zeile über Wortleitung Auslesen/Schreiben der Daten einer aktivierten Zeile über Datenleitung Write Enable Data In Bitleitung (Datenleitung) Tri-State-Elemente Adresse 3 3:8 Decoder R R R R Wortleitung Write Enable Data In p1 n1 Tri-State-Element in CMOS-Logic p2 p3 n2 n3 Vdd Data Out Gnd Data Out Gnd
10 Lesen einer Zeile Zum Lesen wird write enable auf 0 gesetzt Datenleitungen werden von Data In getrennt Durch Decoder wird eine Wortleitung auf 1 gesetzt Angeschlossene Bitzellen werden aktiviert und treiben die angeschlossenen Datenleitungen mit dem gespeicherten Wert 0 Data In :8 Decoder R R R R Gnd
11 Schreiben einer Zeile Zum Schreiben wird write enable auf 1 gesetzt Datenleitungen werden von Data In getrieben Durch Decoder wird eine Wortleitung auf 1 gesetzt Angeschlossene Bitzellen werden aktiviert und speichern den Wert der jeweils angeschlossenen Datenleitung 1 Data In :8 Decoder R R R R Gnd
12 Aufbau Static Ram (SRAM) Zelle Speichert ein Bit in einem bistabilen Speicherelement Zustand wird von selbst gehalten, solange Versorgungsspannung anliegt Aufbau einer SRAM-Zelle aus 6 Transistoren Bitleitung Bitleitung CMOS Inverter Wortleitung Transistor M5 M6 bistabiles Speicherelement
13 SRAM auslesen Eingänge der Bitleitungen werden hochohmig (Z) gesetzt Durch aktivierte Wortleitung (=1) werden Pass-Transistoren leitend Zustand des bistabilen Speicherelements kann über Bitleitungen ausgelesen werden Bitleitung Z Bitleitung Z Wortleitung 1 Pass- Transistor 1 0 Pass- Transistor 1 0
14 SRAM schreiben Eingänge der Bitleitungen werden auf zu schreibende Werte gesetzt Durch aktivierte Wortleitung werden Pass-Transistoren leitend Zustand des bistabilen Speicherelements wird überschrieben Bitleitung Bitleitung Bitleitung Bitleitung Wortleitung 0 1 Pass- Transistor 1 0 Pass- Transistor Pass- Transistor 0 1 Pass- Transistor
15 Masken ROM Festwertspeicher, dessen Werte bei der Fertigung durch die Masken bestimmt werden Keine nachträgliche Änderung der Speicherwerte möglich Bitleitungen liegt auf Gnd (=0) Wortleitung 1 Bitleitung Wortleitung auf 1 setzen: Bei vorhandener Verbindung zur Bitleitung wird Bitleitung auf 1 gesetzt (Spannung fällt über Widerstand ab) Bei fehlender Verbindung bleibt Bitleitung auf 0 Wortleitung 2 Diode Diode verhindert auf 1 setzen einer Wortleitung durch Rückkopplung von Bitleitung Widerstand Gnd
16 One Time Programmable (OTP) ROM Festwertspeicher, dessen Werte nach der Fertigung durch einmalige Programmierung festgelegt werden Zur Programmierung wird deutlich höhere Spannung an Wortleitungen angelegt und Bitleitungen können gezielt von Gnd getrennt werden Hoher Strom lässt Verbindungen (Fuses) verdampfen Es können nur 1en zu 0en geändert werden Wortleitung 1 Wortleitung 2 Fuse Widerstand Bitleitung program Gnd
17 EPROM Erasable and Programmable ROM Bitzelle ist aus Transistor mit einem Floating Gate (FG) aufgebaut Programmierung durch Anlegen einer hohen Spannung; dadurch sammeln sich Ladungsträger im Floating Gate und bleiben dort (FG ist isoliert) Auslesen durch Anlegen der normalen Versorgungsspannung am Gate: Keine Ladungsträger im FG: Transistor wird leitend und zieht Bitleitung auf Gnd (=0) Ladungsträger im FG: Ladungsträger verringern angelegte Gate-Spannung; Transistor wird nicht leitend und Bitleitung bleibt auf 1 Wortleitung Floating Gate Kondensator Bitleitung Löschen durch Bestrahlung mit UV-Licht: UV-Licht verringert Widerstand des Isolators zwischen FG und Substrat Ladungsträger können vom FG in das Substrat abfließen Gnd Vdd
18 EEPROM und Flash Electrical Erasable and Programmable ROM Aufbau wie beim EPROM Dünnere Isolierschichten erlauben das Entladen des FG duch Anlegen einer elektr. Spannung Zusätzlicher Transistor wird zur Adressierung einer Bitzelle benötigt Flash-Speicher Aufbau wie beim EEPROM Nicht mehr jede Bitzelle ist einzeln löschbar Zusammenfassen zu Pages zum Löschen Dadurch wird zweiter Transistor nicht mehr benötigt und eine höhere Speicherdichte erreicht
19 Dynamic RAM (DRAM) Zelle Speichert ein Bit in einem Kondensator Ladung vorhanden Bit = 1 Ladung nicht vorhanden Bit = 0 Aufbau einer Bitzelle aus: Einem Transistor Einem Kondensator Ladung geht durch Leckströme verloren Wert muss deshalb in regelmäßigen Abstand neu geschrieben werden (Refresh) Bitleitung Wortleitung Transistor Kondensator Gnd
20 Organisation mit Zeilen- und Spaltenadressierung n+m Adresse n Adressbits m Adressbits m wrenbl DataIn n Zeilen-Decoder Spalten-Decoder Mux 1 R R R R Gnd Bei einstufiger Adressierung werden für große Speicher sehr viele Zeilen benötigt Gatteranzahl im Zeilendekoder: n*2 n Gatteranzahl bei quadratischer Matrix: 2*(n/2)*2 n/2 +3*(n/2)
21 Lesen bei Zeilen- und Spaltenadressierung wrenbl DataIn 0 Spalten-Decoder Zeilendekoder aktiviert eine Zeile n+m Adresse n Adressbits m Adressbits m n Zeilen-Decoder z z z z R R R R Mux 1 Gnd Spalten-Dekoder hält alle Dateneingänge auf hochohmig Mux wählt anhand der Spaltenadresse ein Bit aus
22 Schreiben bei Zeilen- und Spaltenadressierung wrenbl DataIn 1 1 Spalten-Decoder Zeilendekoder aktiviert eine Zeile n+m Adresse n Adressbits m Adressbits m n Zeilen-Decoder z 1 z z R R R R Mux 1 Gnd Spalten-Dekoder aktiviert eine Spalte und hält alle anderen Dateneingänge auf hochohmig
23 Blockorganisation bei Zeilen- /Spaltenadressierung Durch Organisation in Blöcken kann die Datenwortbreite n des Speicher bestimmt werden Block i speichert Bit i des Datenwortes von Adresse (n,m) wrenbl Spalten-Decoder n+m Adresse n Adressbits m Adressbits m DataIn_0 n Zeilen-Decoder Speichermatrix (Block 0) Mux 1 DataIn_n Speichermatrix (Block n) Mux 1 DataOut_0 DataOut_n
24 Multi-Ported SRAM Lesen bzw. Schreiben von mehreren Bitzellen gleichzeitig BL2 BL1 BL1 BL2 Im Beispiel: Gleichzeitiges auslesen zweier Bitzellen oder gleichzeitiges Schreiben zweier Bitzellen oder Lesen einer Bitzelle und Schreiben einer zweiten Bitzelle Anwendung unter Anderem zur Implementierung großer Registerbänke Wortleitung 1 Wortleitung 2 readaddr1 readaddr2 writeaddr Zeilen-Decoder Addr-Reg Zeilen-Decoder Zeilen-Decoder Spalten-Decoder Mux BL1 Mux BL2
25 Matrixorganisation für SDRAM Adresse wird oft gemultiplext, um Anzahl der Adressleitungen kleiner zu halten Zeilenteil speichern (RAS = 1) Spaltenteil speichern (CAS = 1) Leseverstärker (= SRAM Zelle) dient der Speicherung des ausgelesenen Wertes RAS WL3 A0 A1 An Puffer Zeilenadresse n Zeilen-Decoder Speichermatrix (Block 0) WL2 WL1 Puffer Spaltenadresse m Leseverstärker/Schreiblogik 2 m Spalten-MUX/DEMUX 1 Data wrenbl Bitleitung Leseverstärker Bitleitung CAS
26 SDRAM lesen (1) Zeilenadresse übernehmen Zeilenadresse auf Adressbus legen RAS-Signal aktivieren RAS = 1 Alle Leseverstärker übernehmen Werte der Bitzellen aus aktivierter Wortzeile (Kondensator entlädt sich) Übernommene Werte im Leseverstärker werden damit auch in die Zellen zurückgeschrieben (Kondensator wieder aufgeladen) Puffer Zeilenadresse Zeilen-Decoder 1 cmd data addr CAS row Puffer Spaltenadresse m 0 1 Leseverstärker Spalten-MUX/DEMUX wrenbl RAS CAS Data 1 clk
27 SDRAM lesen (2) Spaltenadresse übernehmen Wert auf Adressbus legen CAS-Signal aktivieren nach trcd Takten RAS = 0 Spalten-Mux wählt zugehörige Bitleitung aus Daten werden auf Datenbus gelegt (nach tcl Takten) RAS to CAS Delay (trcd) CAS Latency (tcl) Puffer Zeilenadresse Zeilen-Decoder 1 cmd data addr CAS row col read data Puffer Spaltenadresse m 0 1 Leseverstärker Spalten-MUX/DEMUX wrenbl RAS CAS Data clk 1
28 SDRAM schreiben (1) Zeilenadresse übernehmen Zeilenadresse auf Adressbus legen RAS-Signal aktivieren Alle Leseverstärker übernehmen Werte der Bitzellen aus aktivierter Wortzeile (Kondensator entlädt sich) Übernommene Werte im Leseverstärker werden damit auch in die Zellen zurückgeschrieben (Kondensator wieder aufgeladen) Leseverstärker enthält den aktuellen Wert der zu beschreibenden Zeile RAS = 1 Puffer Zeilenadresse Zeilen-Decoder 1 cmd data addr CAS row Puffer Spaltenadresse m 0 1 Leseverstärker Spalten-MUX/DEMUX wrenbl RAS CAS Data 1 clk
29 SDRAM schreiben (2) Spaltenadresse in Puffer übernehmen Datum an Dateneingang anlegen RAS = 0 WrEnbl-Signal aktivieren DeMux überschreibt Wert im Leseverstärker Aktivierte Zeile übernimmt geänderte(n) Wert(e) RAS to CAS Delay (trcd) CAS Latency (tcl) Puffer Zeilenadresse Zeilen-Decoder 0 cmd data addr CAS row write col data Puffer Spaltenadresse m 1 0 Leseverstärker Spalten-MUX/DEMUX wrenbl RAS CAS Data clk 0
30 SDRAM Timing Bezeichnung bei SDRAMs: PCxxx tcl-trcd-trp xxx gibt die maximale Taktfrequenz des Speicherbusses an (clk) trcd: Anzahl Takte zwischen Anlegen der Zeilenadresse (Aktivierung des Speichers) und Anlegen der Spaltenadresse (Übertragen eines Kommandos (read/write)) tcl: Anzahl der Takte vom Anlegen der Spaltenadresse (und starten eines Kommandos (read/write)) bis zum Abschluss des Kommandos (Daten liefern bei read, Daten geschrieben bei write) trp: RAS-Vorladezeit (RAS Precharge Time), d.h. die Anzahl der Takte vom Beenden des letzten Zugriffszyklus bis zum Beginn des nächsten Zugriffszyklus RAS to CAS Delay (trcd) CAS Latency (tcl) RAS Precharge Time (trp) cmd write precharge data data addr row col row CAS RAS clk
31 DRAM Refresh DRAM Refresh DRAM-Zelle verliert Ladung durch Leckströme auch ohne ausgelesen zu werden Auffrischen des gespeicherten Wertes erforderlich (ca. alle 8 bis 64 ms) Auffrischen mittels Schreib-/Leseverstärker an Datenleitungen einfach durch Auslesen einer Zeile möglich (wird dadurch mit gleichen Werten aufgefrischt) Organisation Refresh Jede Zeile wird in regelmäßigen Abständen von 8 bis 64 ms gelesen Es wird ein Zähler in den SDRAM integriert, der die aufzufrischende Zeilennummer enthält Memory-Controller erzeugt periodisch ein Kommando (Kombination von Steuersignalen die sonst nicht benötigt wird (z.b. CAS-before-RAS), wodurch im DRAM ausgelöst wird: Lesen der im Zähler gespeicherten Zeile Inkrementieren des Zählers
32 Fallstudie Speicherorgansiation Unterschiedliche Ausführungen von Speichermodulen möglich: Single Inline Memory Module (SIMM) 72 Kontaktpins auf einer Seite 32 Bit pro Takt können übertragen werden Double Inline Memory Module (DIMM) Kontaktreihen (insgesamt 240) und Speicherchips auf beiden Seiten 64 Bit je Takt können übertragen werden Speichermodul Speicherchip (z.b. 512 MBit) ergibt eine Gesamtkapazität von 1 Gyte) Kontaktreihe
33 Fallstudie Speicherorganisation (1) Jeder Chip hat einen Datenausgang 32 Chips werden benötigt für einen Speicher mit 32-Bit Datenworten (eher unhandlich) A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 \RAS \CAS 4096K x 1 Speicherchip 4096K x K Speicherchip x 1 Speicherchip (4 Mbit) (4 Mbit) (4 Mbit) D6 D31 D0 Intern ist der Chip als 2048 x 2048 Matrix organisiert \CS \WE \OE
34 Fallstudie Speicherorganisation (2) Eher üblich: Chips mit 4, 8 oder 16 Bit Datenausgängen Dann nur 2, 4 oder 8 Chips pro Modul für 32-Bit Datenworte erforderlich A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 \RAS \CAS Bank 0 Bank 1 32M x 16 Speicherchip (512 Mbit) \CS \WE \OE D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 Im Beispiel links: Ein Chip hat 4 interne Speicherbänke mit je 128 MBit Jede Speicherbank ist aus x 1024 Matrizen organisiert (8192 Zeilen, 1024 Spalten) 13 Zeilen-Decoder x x 1024 Speichermatrix x 1024 Speichermatrix Speichermatrix Spalten-Decoder Spalten-Decoder Spalten-Decoder
35 Anbindung des Speichers an den Prozessor Speichermodule 1 Speichermodule k Prozessor physikalische Adresse Memory Controller Adress- und Datenbus Chip-Select-Signal
36 Aufbau Speichercontroller Anforderungspuffer nehmen physikalische Adressen (+Daten) von verschiedenen Quellen auf Adressabbildung erzeugt aus physikalischen Adressen (Zeilenadresse, Spaltenadresse, Bank, Modul) Arbiter plant die Reihenfolge der Speicherzugriffe und initiiert Refresh-Zyklen Kommandogenerierung kommuniziert mit dem Speichermodul unter Beachtung des Timings Anforderungspuffer Adressabbildung Arbiter Kommandogenerierung Ausgabepuffer
37 Zusammenfassung Speicherimplementierung Aufbau und Arbeitsweise verschiedener Speicherzellen Matrix-Organisationsformen mit Zeilendecoder mit Zeilen- und Spaltendecoder Blöcke Multi-Ported Adressmultiplexing Organisation von SDRAM in Speicherchips und -modulen Timing Speichercontroller
38 Inhalt Aufbau von Speicher Organisation der Speicherhierarchie
39 Cache Cache: Kleiner aber schneller Pufferspeicher Zugriff auf den Cache um Faktor 10 bis 40 schneller als auf den Hauptspeicher Zum Glück trifft meistens das Lokalitätsprinzip zu: in kurzer Zeit (zeitliche Lokalität) greift ein Programm auf nah beieinander liegende Daten zu (räumliche Lokalität) Cache-Controller liest/schreibt Daten aus dem/in den Cache falls Daten im Cache gepuffert Wenn nicht, dann über Memory-Controller benötigten Adressbereich in den Cache holen Chip Core Daten Adresse Adresse Cache Controller Daten Daten Adresse Cache Speichermodule Speichermodule Memory Controller
40 Organisationsprinzip eines Caches Hauptspeicher ist in Blöcke der Größe 2 n eingeteilt Datenaustausch zwischen Cache und Hauptspeicher nur blockweise Cache besteht aus 2 m Cache-Lines Jede Cache-Line enthält einen Block Gruppierung von je 2 k Cache-Lines zu einem Set; 2 k -fach assoziativer Cache 2 k = 1: Cache mit direkter Abbildung 2 k = 2 m : vollassoziativer Cache Adresse 0 Daten Wort 1 Wort 2 Wort n Cache Line Daten Wort 1 Adresse Wort n+1 Wort n+2 Wort 2n Wort 2n+1 Wort 2n+2 Wort 3n Block 1 Block 2 a-n Wort 2 n Wort 2 n +1 Wort 2 a - 2 n +1 Wort 2 a 2 n -1 2 n 2 a -1 Wie werden Hauptspeicheradressen auf Cache-Adressen abgebildet? 3 2 m -4 2 m -3 2 m -2 2 m -1 Wort 3n+1 Wort 3n+2 Wort 4n Wort 1 Wort 2 Wort 2 n Wort 1 Wort 2 Wort 2 n Wort 1 Wort 2 Wort 2 n Wort 1 Wort 2 Wort 2 n Set 1 Set 2 m-k Hauptspeicher mit 2 a Datenworten Cache (hier 4-fach assoziativ)
41 Adressierung des Caches (1) a-1 Hauptspeicheradresse wird aufgeteilt in Blockoffset-Bits: Set-Bits: Adressieren Datenwort innerhalb eines Blocks (Cacheline) Kodieren die Nummer des Sets, in dem der Block der das Datenwort enthält abgelegt wird In einem k-fach assoziativen Cache (k > 1) kann dieser Block in einer beliebigen Cache-Line innerhalb des Sets abgelegt werden Tag-Bits: Zur Identifizierung eines Blocks im Cache Tag-Bits n+m-k a-(m-k)-n Bits Adresse im Hauptspeicher (a Bits) n+m-k-1 Set-Adresse m-k Bits n n-1 Blockoffset n Bits 0 Set- Adresse Set 0 Set 1 Set 2 Set 3 Tag Tag Tag Tag Tag Tag Tag Cache-Line Cache-Line Cache-Line Cache-Line Cache-Line Cache-Line Cache-Line V V V V V V V valid-bit
42 Aufbau Cache mit direkter Abbildung Direkt abgebildeter Cache für 32-Bit Adressen mit 1024 Cache-Lines (10 Indexbits erforderlich) Blockgröße: 16 Byte (4 Offsetbits erforderlich) Sehr gute Hit-Time: Takte bis das Datum bei einem Treffer geliefert wird Tag <18> Index <10> Offset <4> Valid 1 <1> Tag 1 <18> Daten 1 <16 Byte> Valid 2 <1> Tag 2 <18> Daten 2 <16 Byte> Valid 3 <1> Tag 3 <18> Daten 3 <16 Byte> Valid 4 <1> Tag 4 <18> Daten 4 <16 Byte> Valid 1024 <1> Tag 1024 <18> Daten 1024 <16 Byte> = 16:1 Mux Hit Data
43 Aufbau 4-fach assoziativer Cache 4-fach assoziativer Cache für 32-Bit Adressen mit 1024 Cache-Lines und 4 Cache-Lines je Set (8 Indexbits erforderlich) Blockgröße: 16 Byte (4 Offsetbits erforderlich) Hit-Time etwas schlechter wegen 4:1-Mux Tag <20> Index <8> Offset <4> V1 Tag 1 Daten 1 V1 Tag 1 Daten 1 V1 Tag 1 Daten 1 V1 Tag 1 Daten 1 V2 Tag 2 Daten 2 V2 Tag 2 Daten 2 V2 Tag 2 Daten 2 V2 Tag 2 Daten 2 V3 Tag 3 Daten 3 V3 Tag 3 Daten 3 V3 Tag 3 Daten 3 V3 Tag 3 Daten 3 V4 Tag 4 Daten 4 V4 Tag 4 Daten 4 V4 Tag 4 Daten 4 V4 Tag 4 Daten 4 V256 Tag 256 Daten 256 V256 Tag 256 Daten 256 V256 Tag 256 Daten 256 V256 Tag 256 Daten 256 = = = = OR 4:1 Mux hit 16:1 Mux data
44 Was passiert bei Cache-Miss Cache-Miss: Datum liegt nicht im Cache vor Miss-Rate: Anzahl Cache-Misses / Gesamtanzahl der Cachezugriffe Miss-Penalty: Anzahl Takte, bis das Datum nach einem Cache-Miss geliefert wird Block, der das Datum enthält, wird aus dem Hauptspeicher geholt und ersetzt einen Block im Cache Für direkt abgebildete Caches ist der ersetzte Block eindeutig Für assoziative Caches ist eine Auswahl innerhalb des Sets möglich Zufällig Least-Recently Used: Ersetze den Block, der die längste Zeit ungenutzt war First-In, First-Out: Ersetze den ältesten Block Vor dem Ersetzen muss der alte Block evtl. in den Speicher zurückgeschrieben werden; hängt vom Verhalten bei Schreiboperationen ab
45 Was passiert bei Schreiboperationen? Prüfen, ob zu schreibende Adresse im Cache Falls ja (Write-Hit), dann Write-Through: Daten werden in Cache und darunterliegende Speicherebenen geschrieben Kohärenz der Daten ist dadurch gegeben Oft werden write-buffer verwendet, damit der Prozessor weiterarbeiten kann Write-Back: Daten werden nur in den Cache geschrieben Geht schnell und erfordert geringere Speicherbandbreite Bei Ersetzung muss Block in darunterliegende Speicherebenen geschrieben werden Falls nein (Write-Miss), dann Write Allocate: Block wird in den Cache geholt und anschließend wird die Schreiboperationen wie bei einem Write-Hit ausgeführt No-Write Allocate: Daten werden nur in den Hauptspeicher geschrieben
46 Beispiel: AMD Opteron Daten-Cache 64KByte Cache, 64 Bytes je Cache-Line, 2-fach assoziativ mit LRU, write-back und write-allocate Hit-Time: 2 Takte Bei einem Read-Miss werden 64-Byte aus dem L2-Cache geholt 7 Takte braucht das Lesen der ersten 8 Byte jeweils 2 weitere Takte die darauf folgenden 8 Byte-Gruppen zu überschreibende Cache-Line wird an einen Victim-Buffer gesendet (write-buffer); dieser kann bis zu acht Cache-Lines aufnehmen Aus dem Victim-Buffer werden die Daten in den L2-Cache geschrieben
47 Opteron L1-Cache Tag <25> Index <9> Offset <6> Adresse CPU Data In Data Out Valid 1 <1> Tag 1 <25> Valid 512 <1> Tag 512 <25> Data 1 <64> Data 512 <64> = Valid 1 <1> Tag 1 <25> Valid 512 <1> Tag 512 <25> Data 1 <64> Data 512 <64> = 2:1 Mux Victim Buffer L2 Cache
48 Maßnahmen zur Verbesserung der Cache-Leistung (1) Größere Blöcke: Reduzieren Miss-Rate durch Nutzung räumlicher Lokalität Erhöhen aber Miss-Penalty, weil mehr Daten nachgeladen werden müssen Größere Caches: Reduzieren Miss-Rate; Erhöhen aber die Hit-Time L1-Cache wird i. Allg. klein gehalten, damit er schnell ist (L1-Cache Größe ist im K6, Athlon und Opteron gleich geblieben) Höhere Assoziativität: Verringert die Miss-Rate Erhöht aber die Hit-Time Multi-Level-Caches: Reduzieren Miss-Penalty
49 Maßnahmen zur Verbesserung der Cache-Leistung (2) Cache-Line-Vorhersage: In einem assoziativen Cache wird zu jedem Set ein Predictor hinzugefügt, der vorhersagt, welche Cache-Line beim nächsten Zugriff angesprochen wird (z.b. im P4 verwendet) Multiplexer kann schon die Tag-Bits der vorhergesagten Cache-Line auswählen für den Vergleich Pipelined Cache-Zugriff: Holen einer Instruktion ist auf mehrere Takte aufgeteilt (im Pentium 1 Takt pro Befehls-Cache-Zugriff, im P4 4 Takte) Nicht blockierende Caches: Nach einem Cache-Miss kann der Cache weitere Anfrage bedienen (in der Regel solange ein Cache-Hit vorliegt) Critical-Word-First: Beim Nachladen eines Blocks aus einer niedrigeren Speicherebene wird das benötigte Wort sofort an den Prozessor geliefert, sobald es im Cache vorliegt Restlichen Worte des Blocks werden danach aufgefüllt Prefetching: Es werden spekulativ Blöcke nachgeladen Hardware-basiert: nächster Speicherblock für Befehlscache wird angefordert Compiler-basiert: Der Compiler fügt geeignete Prefetch-Operationen ein
50 Zusammenfassung Caches Direkt abgebildeter Cache Vorteile Effizientere Speicherung, d.h. weniger Overhead durch Tags und Valid Bits Effizienterer Datentransfer Nachteile Größere Miss-Rate Assoziativer Cache Vorteil Miss Rate wird reduziert, weil mehrere Blöcke mit gleicher Set-Adresse im Cache gehalten werden können Nachteile Hit Time wird durch erhöhten Vergleichsaufwand etwas vergrößert Bei hoher Assoziativität wird der Hardwareaufwand beträchtlich Weitere Methoden zur Verbesserung der Cache-Leistung Multi-Level-Caches, Cache-Line-Vorhersage,
51 Virtuelle Speicherverwaltung Jeder Task hat seinen eigenen virtuellen Adressraum Virtueller Adressraum kann größer sein als physisch vorhandener Speicher Virtueller Adressraum ist in Seiten unterteilt Seiten können beliebig auf die Seitenrahmen im physischen Speicher verteilt sein oder auf HDD ausgelagert virtuelle Adresse 0x x Seiten Page 1 Page 2 ~4KByte physische Adresse 0x x Seitenrahmen Page 3 Page 4 0xFFFFFFFF Page n 0xFFFFFF HDD
52 Organisation der virtuellen Speicherverwaltung MMU bildet virtuelle Adressen auf physische Adressen ab Rest des Systems arbeitet mit physischen Adressen Core Daten virt. Adresse Memory Management Unit (MMU) Daten phys. Adresse Cache Controller Daten phys. Adresse Cache Speichermodule Speichermodule Chip Adresse Daten Memory Controller
53 Paging: Adressabbildung Eine virtuelle Adresse wird aufgeteilt in eine virtuelle Seitennummer, die auf eine physikalische Rahmennummer abgebildet wird einen Seitenoffset, der die Adresse innerhalb einer Seite darstellt Anzahl der Bits im Seitenoffset bestimmt die Größe einer Seite Virtuelle Adresse Virtuelle Seitennummer Seitenoffset Abbildung Physische Adresse Physikalische Rahmennummer Seitenoffset
54 Finden von Pages Finden von Pages wird durch Seitentabelle (Page Table) realisiert: Beispiel Für jede virtuelle Seitennummer wird die dazugehörige physische Rahmenadresse gespeichert Valid Bit zeigt an, ob sich die gesuchte Page im Hauptspeicher befindet Seitentabelle ist selbst im Speicher abgelegt Seitentabellenregister (z.b. CR3 bei x86-prozessoren) speichert physische Startadresse der Seitentabelle 48-Bit virtueller Adressraum, 4 KByte Page Size, 8 Byte pro Eintrag in der Seitentabelle Größe der Seitentabelle ~550 GB Virtuelle Adresse Data Virtuelle Seitennummer Seitenoffset CR3 HDD + phys. Addr. Attributes Seitentabelle present? nein Betriebssystem ja + physikalische Adresse des Rahmens (Rahmennummer) Daten lesen Hauptspeicher
55 Aktionen des OS bei Seitenfehler Seite i ist nicht im Speicher: Virtuelle Adresse, die den Fehler verursachte wird in Register CR2 geschrieben und Page-Fault- Exception ausgelöst OS überprüft, ob ein Seitenrahmen x im Hauptspeicher leer ist Falls nicht, dann wird eine Seite aus einem Rahmen x aus dem Hauptspeicher auf HDD ausgelagert und Seitentabelle aktualisiert OS holt Seite i von HDD, schreibt diese in Rahmen x und aktualisiert die Seitentabelle Speicherzugriff, der die Exception verursachte, kann ausgeführt werden
56 Paging im AMD Opteron Virtuelle Adresse en oder 1 en Seitenkarte Seiten-dir.-zeiger Seitendirectory Seitentabelle Seitenoffset CR3-Register + Tabelleneintrag + Tabelleneintrag + Seitentabelle Seitentabelle Tabelleneintrag + Tabelleneintrag Seitentabelle Seitentabelle Rahmennummer (28 Bit) Offset (12 Bit) Physikalische Adresse (40 Bit) 1 TByte adressierbar physikalische Startadresse der nächsten Tabelle Index in die nächsten Tabelle
57 Eigenschaften des Pagings im Opteron Jede Tabelle hat 512 Einträge mit 8 Byte pro Eintrag (= 4KByte; entspricht Seitengröße) Alle Tabellen befinden sich im Speicher; Adressberechnung findet aber in HW statt; Adressen der Tabellen müssen deswegen physikalische Adressen sein Bei Prozesswechsel wird auch CR3 umgeschaltet; jeder Prozess hat seine eigenen Seitentabellen Zugriff auf gemeinsam genutzten Speicher von Prozessen durch Verweise auf gleiche physikalische Adressen in den verschiedenen Tabellen Ein Speicherzugriff erfordert 4 weitere Speicherzugriffe (auch Programmspeicherzugriffe in der Befehlsholphase) Beschleunigung durch Translation Lookaside Buffer (TLB)
58 TLB TLB ist ein Cache für die schnelle Abbildung virtueller Seitennummern auf physikalische Rahmenadresse Virtuelle Adresse wird zuerst im TLB gesucht Bei Treffer im TLB kann sofort die Rahmenadresse genutzt werden Sonst muss in Seitentabellen gesucht werden Gefundene Rahmennummer verdrängt ältesten Eintrag aus dem TLB
59 Aufbau TLB Beispiel AMD Opteron TLB für Daten Vollassoziativ 40 Einträge Seitenkarte + Seiten-dir.-zeiger + Seitendirectory + Seitentabelle Seitenoffset Physikalische Rahmenadresse Virtuelle Seitennummer (Tag) = = = Decoder 40:1 Mux
60 Eigenschaften TLB TLB ist transparent für die Software Änderungen an der Seitentabelle führen zu einer veränderten Abbildung virtueller auf physikalische Adressen Diese Änderungen können dem TLB nicht mitgeteilt werden Bei Änderungen an den Seitentabellen (Taskwechsel oder EIn- /Auslagern von Seiten) muss der TLB deshalb gelöscht werden Jeder Prozess benötigt eigenen TLB (oder gemeinsamer TLB muss vor Prozesswechsel geleert werden)
61 Mit welchen Adressen arbeitet der Cache? Cache arbeitet mit virtuellen Adressen (VIVT) Tagbits im Cache gehören zur virtuellen Adresse Indexbits für Cache-Zugriff stammen aus der virtuellen Adresse Erst bei einem Cache-Miss werden virtuelle in physikalische Adressen übersetzt Cache arbeitet mit physikalischen Adressen (PIPT) Es werden erst virtuelle Adressen in physikalische Adressen übersetzt Indexbits für Cachezugriff stammen aus physikalischer Adresse Tagbits stammen aus physikalischer Adresse CPU Daten virt. Adresse Cache Controller Daten virt. Adresse Cache CPU Daten virt. Adresse Memory Management Unit (MMU) Daten phys. Adresse Cache Controller Daten phys. Adresse Cache virt. Adresse Daten Memory Management Unit (MMU) Daten phys. Adresse Übrige Speicherebenen Adresse Daten Übrige Speicherebenen
62 VIVT Schneller Zugriff auf den Cache (keine Adressübersetzung erforderlich) Verschiedene Prozesse arbeiten mit gleichen virtuellen Adressen Gleiche virtuelle Adressen beziehen sich auf verschiedene physikalische Adressen (Homonyms) Cache muss vor Prozesswechsel geleert werden, sonst werden falsche Daten geliefert Mehrere virtuelle Adressen beziehen sich auf dieselbe physikalische Adresse (Alias) Dadurch können Kohärenz-Probleme im Cache entstehen, weil mehrere Kopien der gleichen physikalischen Adresse gespeichert werden können CPU Daten virt. Adresse Cache Controller Daten virt. Adresse Cache virt. Adresse Daten Memory Management Unit (MMU) Daten phys. Adresse Übrige Speicherebenen
63 PIPT Cache arbeitet mit physikalischen Adressen Zuerst Adressübersetzung erforderlich bevor auf den Cache zugegriffen werden kann Dadurch längere Zugriffszeiten Prozesswechsel unproblemtisch Keine Homonyms Keine Aliase CPU Daten virt. Adresse Memory Management Unit (MMU) Daten phys. Adresse Cache Controller Daten phys. Adresse Cache Adresse Daten Übrige Speicherebenen
64 Mischform VIPT Virtuell indizierter Cache, Physikalische Tagbits (VIPT) Schneller Zugriff auf den Cache möglich (ohne Adressübersetzung) Parallel dazu wird virtuelle Adresse in physikalische Adresse umgewandelt Physikalische Tagbits werden mit Tagbits im Cache abgeglichen Anwendung für L1-Cache L2- und L3-Cache üblicherweise PIPT
65 Aufbau bei VIPT Virtuelle Adresse <64> Virtuelle Seitennummer <51> Seitenoffset <13> TLB Tag <43> TLB Index <8> L1 Cache Index <7> Offset <6> zur Auswahl des Datenworts TLB Tag 1 <43> TLB Daten 1 <28> TLB Tag 256 <43> TLB Daten 256 <28> L1 Cache Tag 1 <35> L1 Cache Daten 128 <512> L1 Cache Tag 128 <35> L1 Cache Daten 128 <512> um Cache Index Phys Frame Addr <28> erweitert = ja, dann Cache Treffer zur CPU ja, dann Cache Treffer = Physickalische Adresse <41> L2 Tag <19> L2 Index <16> L2 Offset <6> TLB Tag 1 <43> TLB Daten 1 <27> TLB Tag 256 <43> TLB Daten 256 <27>
66 Eigenschaften Zugriff auf TLB und L1 Cache kann parallel erfolgen Adressübersetzungszeit des TLB kann versteckt werden Wird Eintrag im TLB nicht gefunden, dann bremst Übersetzung in physikalische Adressen den L1 Cache aus Homonyms werden vermieden Tagbits repräsentieren Physikalische Rahmennummer Damit lässt sich die physikalische Adresse bilden und abgleichen Verwendung VIPT in vielen aktuellen Prozessoren z.b. Opteron
67 Opteron Speicherhierarchie Virtuelle Seitennummer Offset Instruction Virtuelle Seitennummer Offset Data Vollassoziativ 40 Einträge Vollassoziativ 40 Einträge ITLB L1 DTLB L1 phys. Rahmen phys. Rahmen 128-fach-assozitativ 4 Blöcke 128-fach-assozitativ 4 Blöcke ITLB L2 DTLB L2 phys. Rahmen phys. Rahmen 2-fach assoziativ 512 Sets 64 Byte je Cacheline ICache L1 Instruction 2-fach assoziativ 512 Sets 64 Byte je Cacheline DCache L1 Data miss 8 Plätze für je 64 Byte Victim Buffer 16-fach assoziativ 1024 Sets ICache L2 Instruction Data System Chip memory crossbar Off-Chip Speicher
68 Zusammenfassung Speicherimplementierung SRAM, DRAM, ROM Caches einfach-, mehrfach-assoziativ Virtuelle Speicherverwaltung mit Seiten Mehrstufige Adressabbildung TLBs Reale Speicherhierarchie mit virtueller Adressierung Multi-Level Caches Mehreren TLBs
Prozessorarchitektur. Speicher. M. Schölzel
Prozessorarchitektur Speicher M. Schölzel Inhalt Aufbau von Speicher Organisation der Speicherhierarchie Inhalt Aufbau von Speicher Organisation der Speicherhierarchie Prozessor-Memory-Gap µproc 60%/yr.
MehrIn heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrB Hauptspeicher und Cache
und Cache 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher 7. Cache 1 und Cache Einordnung in das Schichtenmodell:
MehrB Hauptspeicher und Cache
und Cache und Cache Einordnung in das Schichtenmodell: 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher
MehrFachbereich Medienproduktion
Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen
MehrE Hauptspeicher und Cache
und Cache 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher 7. Cache 1 und Cache Einordnung in das Schichtenmodell:
MehrE Hauptspeicher und Cache
und Cache und Cache Einordnung in das Schichtenmodell: 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher
MehrSpeicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM
Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM RAMs (Random Access Memory) - Schreib-Lese-Speicher RAMs sind Speicher mit der Aufgabe, binäre Daten für eine bestimmte Zeit zu speichern. Diese
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
MehrDIE EVOLUTION DES DRAM
DIE EVOLUTION DES DRAM Gliederung 1. Motivation 2. Aufbau und Funktionsweise 3. SDRAM 4. DDR SDRAM 5. DDR SDRAM Versionen 06.02.2018 Die Evolution des DRAM Folie 2 von 27 1. Motivation Motivation - Immer
MehrHalbleiterspeicher. Halbleiterspeicher
Halbleiterspeicher Liers - PEG-Vorlesung WS2/2 - Institut für Informatik - FU Berlin Halbleiterspeicher RAM Random Access Memory Schreib-Lese-Speicher SRAM statischer RAM DRAM dynamischer RAM Liers - PEG-Vorlesung
MehrMikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
MehrRechnerorganisation. 1. Juni 201 KC Posch
.6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus
MehrRechnernetze und Organisation
Memory 1 Übersicht Motivation Speicherarten Register SRAM, DRAM Flash Speicherhierarchie Cache Virtueller Speicher 2 Motivation Speicher ist zentraler Bestandteil eines Computers neben Prozessor CPU Computer
MehrBesprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben
Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht
MehrRechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.
Rechnerstrukturen 5. Speicher 5.1 Motivation Speichertypen RAM / ROM Dynamisches RAM Inhalt Cache-Speicher Voll Assoziativ n-wege Assoziativ Direct Mapping 5.2 (c) Peter Sturm, Universität Trier 1 Der
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 10 AM 01./02.07.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
MehrQuiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
MehrTechnische Informatik 1 - HS 2017
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen
MehrDigitaltechnik II SS 2007
Digitaltechnik II SS 27 7. Vorlesung Klaus Kasper Inhalt Register Halbleiterspeicher Random Access Memory (RAM) SRAM DRAM ROM Programmierbare ROM Realisierung digitaler Systeme Digitaltechnik 2 2 Digitaltechnik
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Mehreinfache DRAMs sind heute nicht mehr erhältlich, sondern nur noch die schnelleren DRAM-Varianten...
3 DRAM (10) Vor-/Nachteile von DRAM-Bausteinen: periodischer Refresh erforderlich hohe Zugriffszeit von ca. 60 ns für das erste Datenwort, dank FPM kürzere Zugriffszeit von ca. 30 ns für folgende Datenworte
MehrCache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22
Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.
MehrTechnische Informatik 1 - Übung & 22. Dezember Philipp Miedl
Technische Informatik 1 - Übung 11 21. & 22. Dezember 2017 Philipp Miedl Philipp Miedl 21.12.2017 22.12.2017 1 Motivation Aufteilen des Hauptspeichers auf mehrere Prozesse Philipp Miedl 21.12.2017 22.12.2017
MehrDigital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1
Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)
MehrGrundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrDigitaltechnik II SS 2007
Digitaltechnik II SS 27 6. Vorlesung Klaus Kasper Inhalt Asynchroner Zähler Synchroner Zähler Schaltungsanalyse Register Halbleiterspeicher Random Access Memory (RAM) SRAM DRAM Digitaltechnik 2 2 Frequenzteiler
MehrErweiterung von Adressraum und Bit Tiefe
Erweiterung von Adressraum und Bit Tiefe Erweiterung des vorigen Beispiels ist offensichtlich: Vergrößerung des Adressraums (in der Größenordnung 2 n ): Füge eine Adressleitung hinzu und verdoppele die
MehrRechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1
9. SPEICHER UND CACHE (c) Peter Sturm, University of Trier 1 Inhalt Grundlagen Speichertypen RAM / ROM Dynamisches RAM Cache- Speicher Voll AssoziaNv n- Wege AssoziaNv Direct Mapping Beispiel: 8 Bit- Register
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrCache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien
MehrAufgabe 4 : Virtueller Speicher
Sommer 216 Technische Informatik I Lösungsvorschlag Seite 16 Aufgabe 4 : Virtueller Speicher (maximal 27 Punkte) 4.1: Generelle Funktionsweise (maximal 5 Punkte) (a) (1 Punkt) Nennen Sie zwei Gründe, weshalb
MehrRam/Rom/EPRom WIRTSCHAFTSINGENIEURSWESEN. Ausbildungsschwerpunkte: BETRIEBSMANAGEMENT LOGISTIK. Xaver Schweitzer. Jahr: 2011/12
Name: Klasse: Xaver Schweitzer 1BHWI Jahr: 2011/12 Ram/Rom/EPRom Abb. 1 Abb. 2 Abb. 3 Ram Rom EPRom 22.09.2011 1 von 10 Inhaltsverzeichnis INHALTSVERZEICHNIS... 2 EINLEITUNG... 3 RAM... 4 SRAM - Static
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 4 Cache el0100 copyright W.
MehrBetriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14
BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS
Mehré Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus
4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts
Mehr19. Speicher Überblick Entwicklung: Speicherchips
19. Speicher 19.1. Überblick Entwicklung: Speicherchips Chip-Kapazität: 256 kbit (ca. 1988) 4 GBit (2001, nicht in Serie). Zugriffszeiten: 250ns (1980), 145 ns (1992), 70ns (1994), 7ns (heute). Ursprüngliche
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
MehrHauptspeicher H.1.1 Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik :
H. Hauptspeicher H.. Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik : Hierarchische Datenspeicherung. - Programmierung, Datenbanken,
MehrSpeicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:
Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009
MehrFlüchtige Halbleiterspeicher: statisch: SRAM (für Caches). dynamisch: DRAM (für Arbeitsspeicher).
3. Speicher 3.1. Überblick Entwicklung: Speicherchips Chip-Kapazität: 256 kbit (ca. 1988) 4 GBit (2001, nicht in Serie). Zugriffszeiten: 250ns (1980), 145 ns (1992), 70ns (1994), 7ns (heute). Ursprüngliche
MehrSpeicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor
[Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg Januar 2006 1 / 100 Inhalt dieser
MehrModul 304: Personalcomputer in Betrieb nehmen Thema: Speicher. Speicher / Memory V 1.0. Technische Berufsschule Zürich IT Seite 1
Speicher / Memory V 1.0 Technische Berufsschule Zürich IT Seite 1 Einleitung: Der Speicher (engl. Memory) ist eine Kernfunktion in einem Rechner. Programme und Daten werden in Speichern abgelegt. Man spricht
MehrPaging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
Mehr2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first
2. Ansatzpunkt: Reduktion der Penalty 2.1. Early Restart und critical word first Beide Techniken basieren darauf, die Wartezeit der CPU auf das Mindestmaß zu beschränken. Early restart lädt den Block wie
MehrTutorium Rechnerorganisation
Woche 10 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrErgänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72
Ergänzung: RAM und ROM SS 2012 Grundlagen der Rechnerarchitektur Speicher 72 Speichern eines Bits versus viele MB Wir wissen wie wir einzelne Bits speichern können (Erinnerung: Latches, Flip Flops) Mehrere
MehrTechnische Grundlagen der Informatik
Technische Grundlagen der Informatik WS 2008/2009 13. Vorlesung Klaus Kasper WS 2008/2009 Technische Grundlagen der Informatik 1 Wiederholung Register Multiplexer Demultiplexer Halbleiterspeicher Statisches
MehrBesprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung
Themen heute Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung Besprechung des 7. Übungsblattes Aufgabe 4a Der eigentliche Sprung erfolgt in der MEM-Phase (4. Pipeline-Stufe),
MehrCache Blöcke und Offsets
Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich
MehrSchreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
Mehr1,8V Flash and SRAM 28F3208W30
,8V Flash and SRAM 28F328W3 Liers - PEG-Vorlesung WS2/2 - Institut für Informatik - FU Berlin 33,8V Flash and SRAM 28F328W3 BGA-Gehäuse Auf 7x9 mm Fläche 28MBit Flash und 8MBit SRAM Liers - PEG-Vorlesung
MehrNicht flüchtige Speicher: Nicht löschbar: ROM, PROM (z.b. System). löschbar: EPROM, EEPROM, Flash (z.b. BIOS).
3. Speicher 3.1. Überblick Entwicklung: Speicherchips Chip-Kapazität: 256 kbit (ca. 1988) 4 GBit (2001, nicht in Serie). Zugriffszeiten: 250ns (1980), 145 ns (1992), 70ns (1994), 7ns (heute). Ursprüngliche
MehrGrob-Struktur des Prozessor-Speichersystems
2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle
Mehr5 Zusammengesetzte und reguläre Schaltungsstrukturen
5 Zusammengesetzte und reguläre Schaltungsstrukturen regelmäßig aufgebaute (reguläre) Schaltungsstrukturen implementieren jeweils eine größere Zahl an Gatterfunktionen wichtigste Vertreter: Speicher, programmierbare
MehrGrundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrGrundlagen der Informationsverarbeitung:
Grundlagen der Informationsverarbeitung: Speicherhierarchie Prof. Dr.-Ing. habil. Ulrike Lucke Durchgeführt von Prof. Dr. rer. nat. habil. Mario Schölzel Maximaler Raum für Titelbild (wenn kleiner dann
MehrBesprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur
Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem
MehrLösungsvorschlag zur 5. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt 07.02.2011 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen bearbeitet werden.
MehrRAM - Random Access Memory
RAM - Random Access Memory Random Access Memory (dt. Speicher mit wahlfreiem Zugriff), abgekürzt RAM, ist ein Speicher, der besonders bei Computern als Arbeitsspeicher Verwendung findet. RAMs werden als
MehrTechnische Realisierung (1)
Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
MehrAnalyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause
Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz Markus Krause Dresden, Gliederung 1. Einführung 2. Problemstellung 3. Lösungen a) Miss Rate b) Miss Penalty c) Hit Time 4. Zusammenfassung
MehrSpeicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die
Speicher (1) Definition: Speichern ist die kurz- oder langfristige Änderung einer oder mehrerer physikalischer Eigenschaften einer Materie durch ein externes Ereignis. zur Realisierung eines Rechnerspeichers
Mehr2. Halbleiterspeicher
2. Halbleiterspeicher Speicher mit wahlfreiem Zugriff (Random Access Memory): Zu jeder Speicherstelle kann gleich schnell zugegriffen werden. Matrixförmige Anordnung von 1Bit Speicherzellen, jede Speicherzelle
MehrHalbleiterphysik und Anwendungen Vorlesungsplanung Teil 10: Speicherbauelemente Prof. Dr. Sven Ingebrandt
Halbleiterphysik und Anwendungen Teil 10: Speicherbauelemente Prof. Dr. Sven Ingebrandt Fachhochschule Kaiserslautern - Standort Zweibrücken www.hs-kl.de Vorlesungsplanung Grün: Termine, die ausfallen
MehrLösungsvorschlag zur 6. Übung
rof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 9/1 Lösungsvorschlag zur 6. Übung 1 räsenzübungen 1.1 Schnelltest a) Caches und virtueller Speicher können
MehrDigitaltechnik. 6 Speicherelemente. Revision 1.4
Digitaltechnik 6 Speicherelemente A Revision 1.4 Übersicht Adressen Read-Only Memory ROM Random Access Memory RAM Datenbusse Caches Speicher Memory ROM: read-only memory RAM: random-access memory (besser
MehrTutorium Rechnerorganisation
Woche 9 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
MehrElektrizitätslehre und Elektronik. Halbleiterspeicher
1/5 Halbleiterspeicher Ein Halbleiterspeicher ist ein Datenspeicher, der aus einem Halbleiter besteht, in dem mittels der Halbleitertechnologie integrierte Schaltkreise realisiert werden. Die Daten werden
MehrCPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse
Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit
MehrVorlesung 14 Speichersysteme (2)
D - CA - XIV - MH - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 14 Speichersysteme (2) Sommersemester 2003 Leitung: Prof. Dr. Miroslaw Malek D - CA - XIV - MH - 2 SPEICHERSYSTEME
Mehr, 2014W Übungsgruppen: Mo., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit
MehrAdressierung von Speichern und Eingabe- Ausgabegeräten
Adressierung von Speichern und Eingabe- Ausgabegeräten Adressdecodierung Die Busstruktur von Prozessorsystemen verbindet die Bauteile über gemeinsame Leitungen. Auf dem Bus darf zu einer Zeit immer nur
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrSpeicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches
Speicher Typen TI-Übung 5 Speicher, Caches Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS2005 SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Charakteristik
MehrLeichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
MehrLeichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
MehrProseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging
Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher
Mehr6 Exkurs: Assoziativspeicher
6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei
Mehr6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches
6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei
MehrKonzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
MehrEine Möglichkeit: Latch als Speicherzelle
SRAM Eine Möglichkeit: Latch als Speicherzelle Man könnte ein Latch z.b. aus Gated Invertern benutzen Diese Zelle benötigt 4 Steuerleitungen (LD, RD und Inverse), einen Bus, 2 Versorgungen Viele Leitungen
MehrREFERAT ÜBER RAM-MODULE:
REFERAT ÜBER RAM-MODULE: I N H A L T : M O D U L F O R M E N R A M - T y p e n T A K T R A T E N D A T E N R A T E N B U R S T - M O D I D Y N A M I S C H E S - R A M S T A T I S C H E S - R A M C O L
MehrBetriebssysteme Teil 10 B: Fragen rund um Seitenfehler
Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden
MehrRechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen. Motivation. Speichertypen. Cache-Speicher. Virtueller Speicher
Rechnerstrukturen 5. Speicher 5.1 Motivation Speichertypen RAM / ROM Dynamisches RAM Inhalt Cache-Speicher Voll Assoziativ n-wege Assoziativ Direct Mapping Virtueller Speicher 5.2 1 Der Hauptspeicher A0
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrVirtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel
Virtueller Speicher und Cache VL5 GRT, SS 2004, Kneisel Speicherhierarchie Übersicht! Ausgangsproblem, Motivation! Virtueller Speicher " Paging, Adressübersetzung, Pufferung " Segmentierung Abgrenzung
MehrSRAM-Zelle Lesevorgang
SRAM-Zelle Lesevorgang 1 im Flipflop gespeichert U DD Bit Bit Wort - Low - Potential - High - Potential 195 SRAM-Zelle Schreibvorgang 1 im Flipflop gespeichert U DD Bit Bit Wort - Low - Potential - High
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen
Mehr