Prozessorarchitektur. Speicher. M. Schölzel

Größe: px
Ab Seite anzeigen:

Download "Prozessorarchitektur. Speicher. M. Schölzel"

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 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.

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In 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

Mehr

RO-Tutorien 15 und 16

RO-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

Mehr

B Hauptspeicher und Cache

B 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:

Mehr

B Hauptspeicher und Cache

B 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

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

E Hauptspeicher und Cache

E 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:

Mehr

E Hauptspeicher und Cache

E 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

Mehr

Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM

Speicher: 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

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: 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

Mehr

DIE EVOLUTION DES DRAM

DIE 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

Mehr

Halbleiterspeicher. Halbleiterspeicher

Halbleiterspeicher. 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

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Rechnerorganisation. 1. Juni 201 KC Posch

Rechnerorganisation. 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

Mehr

Rechnernetze und Organisation

Rechnernetze 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

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung 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

Mehr

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

Rechnerstrukturen. 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

Mehr

RO-Tutorien 3 / 6 / 12

RO-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

Mehr

Virtueller Speicher und Memory Management

Virtueller 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

Mehr

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.

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. 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

Mehr

Technische Informatik 1 - HS 2017

Technische 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

Mehr

Digitaltechnik II SS 2007

Digitaltechnik 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

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

einfache DRAMs sind heute nicht mehr erhältlich, sondern nur noch die schnelleren DRAM-Varianten...

einfache 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

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache 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.

Mehr

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl

Technische 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

Mehr

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Digital 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)

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen 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

Mehr

Digitaltechnik II SS 2007

Digitaltechnik 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

Mehr

Erweiterung von Adressraum und Bit Tiefe

Erweiterung 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

Mehr

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

Rechnerstrukturen 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

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Cache-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

Mehr

Aufgabe 4 : Virtueller Speicher

Aufgabe 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

Mehr

Ram/Rom/EPRom WIRTSCHAFTSINGENIEURSWESEN. Ausbildungsschwerpunkte: BETRIEBSMANAGEMENT LOGISTIK. Xaver Schweitzer. Jahr: 2011/12

Ram/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

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise 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.

Mehr

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme 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

é 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

Mehr

19. Speicher Überblick Entwicklung: Speicherchips

19. 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

Mehr

Wie groß ist die Page Table?

Wie 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

Mehr

Hauptspeicher H.1.1 Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik :

Hauptspeicher 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,

Mehr

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Speicher. 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

Mehr

Flüchtige Halbleiterspeicher: statisch: SRAM (für Caches). dynamisch: DRAM (für Arbeitsspeicher).

Flü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

Mehr

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor

Speicherhierarchie. [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

Mehr

Modul 304: Personalcomputer in Betrieb nehmen Thema: Speicher. Speicher / Memory V 1.0. Technische Berufsschule Zürich IT Seite 1

Modul 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

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. 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

Mehr

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first

2. 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

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72

Ergä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

Mehr

Technische Grundlagen der Informatik

Technische 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

Mehr

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

Besprechung 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),

Mehr

Cache Blöcke und Offsets

Cache 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

Mehr

Schreiben 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). 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

Mehr

1,8V Flash and SRAM 28F3208W30

1,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

Mehr

Nicht flüchtige Speicher: Nicht löschbar: ROM, PROM (z.b. System). löschbar: EPROM, EEPROM, Flash (z.b. BIOS).

Nicht 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

Mehr

Grob-Struktur des Prozessor-Speichersystems

Grob-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

Mehr

5 Zusammengesetzte und reguläre Schaltungsstrukturen

5 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

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen 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

Mehr

Grundlagen der Informationsverarbeitung:

Grundlagen 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

Mehr

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Besprechung 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

Mehr

Lösungsvorschlag zur 5. Übung

Lö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

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen 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.

Mehr

RAM - Random Access Memory

RAM - 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

Mehr

Technische Realisierung (1)

Technische 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

Mehr

Einführung in die technische Informatik

Einfü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

Mehr

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

Analyse 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

Mehr

Speicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die

Speicher (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

Mehr

2. Halbleiterspeicher

2. 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

Mehr

Halbleiterphysik und Anwendungen Vorlesungsplanung Teil 10: Speicherbauelemente Prof. Dr. Sven Ingebrandt

Halbleiterphysik 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

Mehr

Lösungsvorschlag zur 6. Übung

Lö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

Mehr

Digitaltechnik. 6 Speicherelemente. Revision 1.4

Digitaltechnik. 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

Mehr

Tutorium Rechnerorganisation

Tutorium 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 Ü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

Mehr

Elektrizitätslehre und Elektronik. Halbleiterspeicher

Elektrizitä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

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU 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

Mehr

Vorlesung 14 Speichersysteme (2)

Vorlesung 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.,

, 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

Mehr

Adressierung von Speichern und Eingabe- Ausgabegeräten

Adressierung 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

Mehr

RO-Tutorien 17 und 18

RO-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

Mehr

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches

Speicher 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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse 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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse 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

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar 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

Mehr

6 Exkurs: Assoziativspeicher

6 Exkurs: Assoziativspeicher 6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei

Mehr

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches

6 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

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte 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

Mehr

Eine Möglichkeit: Latch als Speicherzelle

Eine 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

Mehr

REFERAT ÜBER RAM-MODULE:

REFERAT Ü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

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme 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

Mehr

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen. Motivation. Speichertypen. Cache-Speicher. Virtueller Speicher

Rechnerstrukturen. 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

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei 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

Mehr

Virtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel

Virtueller 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

Mehr

SRAM-Zelle Lesevorgang

SRAM-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

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen 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

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen 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