Modul IP7: Rechnerstrukturen

Größe: px
Ab Seite anzeigen:

Download "Modul IP7: Rechnerstrukturen"

Transkript

1 Rechnerstrukturen Modul IP7: Rechnerstrukturen lectures/2012ws/vorlesung/rs Kapitel 18 Andreas Mäder Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Technische Aspekte Multimodaler Systeme Wintersemester 2012/2013 A. Mäder 1

2 18 Speicherhierarchie Rechnerstrukturen Kapitel 18 Speicherhierarchie Speichertypen Halbleiterspeicher Festplatten spezifische Eigenschaften Motivation Cache Speicher Virtueller Speicher Literatur A. Mäder 1115

3 18 Speicherhierarchie Rechnerstrukturen Speicherhierarchie: Konzept Smaller, faster, and costlier (per byte) storage devices Larger, slower, and cheaper (per byte) storage devices L5: L4: L3: L2: L0: registers L1: on-chip L1 cache (SRAM) off-chip L2 cache (SRAM) main memory (DRAM) local secondary storage (local disks) remote secondary storage (distributed file systems, Web servers) CPU registers hold words retrieved from L1 cache. L1 cache holds cache lines retrieved from the L2 cache memory. L2 cache holds cache lines retrieved from main memory. Main memory holds disk blocks retrieved from local disks. Local disks hold files retrieved from disks on remote network servers. [BO11] A. Mäder 1116

4 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Random-Access Memory / RAM RAM ist als Chip gepackt Grundspeichereinheit ist eine Zelle (ein Bit pro Zelle) Viele RAM Chips bilden einen Speicher A. Mäder 1117

5 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Random-Access Memory / RAM (cont.) Statischer RAM (SRAM) jede Zelle speichert Bits mit einer 6-Transistor Schaltung speichert Wert solange er mit Energie versorgt wird relativ unanfällig gegen Störungen wie elektrische Brummspannungen schneller und teurer als DRAM Dynamischer RAM (DRAM) jede Zelle speichert Bits mit einem Kondensator und einem Transistor der Wert muss alle ms aufgefrischt werden anfällig für Störungen langsamer und billiger als SRAM A. Mäder 1118

6 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen SRAM vs. DRAM SRAM DRAM Zugriffszeit ns ns t rac ns t cac ns t cyc Leistungsaufnahme mw mw Speicherkapazität < 72 Mbit < 4 Gbit Preis 10 /Mbit 0,1 Ct./Mbit Tran. Access per bit time Persist? Sensitive? Cost Applications SRAM 6 1X Yes No 100x cache memories DRAM 1 10X No Yes 1X Main memories, frame buffers [BO11] A. Mäder 1119

7 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen DRAM Organisation (d w) DRAM: organisiert als d-superzellen mit w-bits 16 x 8 DRAM chip cols (to CPU) memory controller 2 bits / addr 8 bits / data 0 1 rows 2 3 supercell (2,1) internal row buffer [BO11] A. Mäder 1120

8 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Lesen der DRAM Zelle (2,1) 1.a Row Access Strobe (RAS) wählt Zeile 2 1.b Zeile aus DRAM Array in Zeilenpuffer ( Row Buffer ) kopieren memory controller RAS = 2 2 / addr 16 x 8 DRAM chip 0 1 rows 2 cols / data 3 internal row buffer [BO11] A. Mäder 1121

9 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Lesen der DRAM Zelle (2,1) (cont.) 2.a Column Access Strobe (CAS) wählt Spalte 1 2.b Superzelle (2,1) aus Buffer lesen und auf Datenleitungen legen To CPU supercell (2,1) memory controller CAS = 1 2 / addr 8 / data 16 x 8 DRAM chip 0 1 rows 2 3 cols supercell (2,1) internal row buffer [BO11] A. Mäder 1122

10 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Speichermodule addr (row = i, col = j) DRAM 7 DRAM 0 : supercell (i,j) 64 MB memory module consisting of eight 8Mx8 DRAMs bits bits bits bits bits bits bits 8-15 bits bit doubleword at main memory address A 0 Memory controller 64-bit doubleword [BO11] A. Mäder 1123

11 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Nichtflüchtige Speicher DRAM und SRAM sind flüchtige Speicher Informationen gehen beim Abschalten verloren nichtflüchtige Speicher speichern Werte selbst wenn sie spannungslos sind allgemeiner Name ist Read-Only-Memory (ROM) irreführend, da einige ROMs auch verändert werden können Arten von ROMs PROM: programmierbarer ROM EPROM: Eraseable Programmable ROM löschbar (UV Licht), programmierbar EEPROM: Electrically Eraseable PROM elektrisch löschbarer PROM Flash Speicher A. Mäder 1124

12 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Nichtflüchtige Speicher (cont.) Anwendungsbeispiel: nichtflüchtige Speicher Firmware Programm wird in einem ROM gespeichert Boot Code, BIOS ( Basic Input/Output System ) Grafikkarten, Festplattencontroller A. Mäder 1125

13 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Bussysteme verbinden CPU und Speicher Busse Bündel paralleler Leitungen es gibt mehr als einen Treiber Tristate-Treiber Busse im Rechner zur Übertragung von Adressen, Daten und Kontrollsignalen werden üblicherweise von mehreren Geräten genutzt CPU chip register file ALU system bus memory bus bus interface I/O bridge main memory [BO11] A. Mäder 1126

14 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen lesender Speicherzugriff 1. CPU legt Adresse A auf den Speicherbus register file Load operation: movl A, %eax %eax ALU bus interface I/O bridge A main memory 0 x A [BO11] A. Mäder 1127

15 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen lesender Speicherzugriff (cont.) 2.a Hauptspeicher liest Adresse A vom Speicherbus 2.b " ruft das Wort x unter der Adresse A ab 2.c " legt das Wort x auf den Bus register file Load operation: movl A, %eax %eax ALU bus interface I/O bridge main memory x 0 x A [BO11] A. Mäder 1128

16 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen lesender Speicherzugriff (cont.) 3.a CPU liest Wort x vom Bus 3.b " kopiert Wert x in Register %eax register file Load operation: movl A, %eax %eax x ALU I/O bridge main memory 0 bus interface x A [BO11] A. Mäder 1129

17 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen schreibender Speicherzugriff 1 CPU legt die Adresse A auf den Bus 2.b Hauptspeicher liest Adresse 2.c " wartet auf Ankunft des Datenworts register file Store operation: movl %eax, A %eax y ALU bus interface I/O bridge A main memory 0 A [BO11] A. Mäder 1130

18 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen schreibender Speicherzugriff (cont.) 3. CPU legt Datenwort y auf den Bus register file Store operation: movl %eax, A %eax y ALU bus interface I/O bridge y main memory 0 A [BO11] A. Mäder 1131

19 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen schreibender Speicherzugriff (cont.) 4.a Hauptspeicher liest Datenwort y vom Bus 4.b " speichert Datenwort y unter Adresse A register file Store operation: movl %eax, A %eax y ALU I/O bridge main memory 0 bus interface y A [BO11] A. Mäder 1132

20 Speicherhierarchie - Speichertypen - Halbleiterspeicher Rechnerstrukturen Speicheranbindung DMA DMA Direct Memory Access eigener Controller zum Datentransfer + Speicherzugriffe unabhängig von der CPU + CPU kann lokal (Register und Cache) weiterrechnen CPU DMA controller Addr Arbiter Data Memory I/O device ACK REQ A. Mäder 1133

21 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplattengeometrie Platten mit jeweils zwei Oberflächen ( surfaces ) konzentrische Ringe der Oberfläche bilden Spuren ( tracks ) Spur unterteilt in Sektoren ( sectors ), durch Lücken ( gaps ) getrennt tracks surface track k gaps spindle sectors [BO11] A. Mäder 1134

22 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplattengeometrie (cont.) untereinander liegende Spuren (mehrerer Platten) bilden einen Zylinder cylinder k surface 0 surface 1 surface 2 surface 3 surface 4 surface 5 platter 0 platter 1 platter 2 spindle [BO11] A. Mäder 1135

23 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplattenkapazität Kapazität: Höchstzahl speicherbarer Bits bestimmende technologische Faktoren Aufnahmedichte [bits/in]: # Bits / 1-Inch Segment einer Spur Spurdichte [tracks/in]: # Spuren / 1-Inch (radial) Flächendichte [bits/in 2 ]: Aufnahme- Spurdichte Spuren unterteilt in getrennte Zonen ( Recording Zones ) jede Spur einer Zone hat gleichviel Sektoren (festgelegt durch die Ausdehnung der innersten Spur) jede Zone hat unterschiedlich viele Sektoren/Spuren A. Mäder 1136

24 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplattenkapazität (cont.) Kapazität = Bytes/Sektor Sektoren/Spur Spuren/Oberfläche Oberflächen/Platten Platten/Festplatte Beispiel 512 Bytes/Sektor 300 Sektoren/Spuren (im Durchschnitt) Spuren/Oberfläche 2 Oberflächen/Platten 5 Platten/Festplatte Kapazität = = = 30,72 GB A. Mäder 1137

25 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplatten-Operation Ansicht einer Platte Umdrehung mit konstanter Geschwindigkeit spindle Schreib/Lese Kopf ist an Arm befestigt fliegt auf Luftpolster über Plattenoberfläche radiale Bewegung des Arms positioniert Kopf auf Spuren [BO11] A. Mäder 1138

26 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplatten-Operation (cont.) Ansicht mehrerer Platten arm Schreib/Lese Köpfe werden gemeinsam auf Zylindern positioniert spindle [BO11] A. Mäder 1139

27 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplatten-Zugriffszeit Durchschnittliche (avg) Zugriffszeit auf einen Zielsektor wird angenähert durch T Zugriff = T avgsuche + T avgrotationslatenz + T avgtransfer Suchzeit (T avgsuche ) Zeit in der Schreib-Lese Köpfe ( heads ) über den Zylinder mit dem Targetsektor positioniert werden üblicherweise T avgsuche = 8 ms A. Mäder 1140

28 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplatten-Zugriffszeit (cont.) Rotationslatenzzeit (T avgrotationslatenz ) Wartezeit, bis das erste Bit des Targetsektors unter dem Schreib-Lese-Kopf durchrotiert T avgrotationslatenz = 1/2 1/RPMs 60 Sek/1 Min Transferzeit (T avgtransfer ) Zeit, in der die Bits des Targetsektors gelesen werden T avgtransfer = 1/RPM 1/(Durchschn. # Sektoren/Spur) 60 Sek/1 Min A. Mäder 1141

29 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplatten-Zugriffszeit (cont.) Beispiel für Festplatten-Zugriffszeit Umdrehungszahl = RPM ( Rotations per Minute ) Durchschnittliche Suchzeit = 8 ms Avg # Sektoren/Spur = 400 T avgrotationslatenz = 1/2 (60 Sek/7 200 RPM) ms/sek = 4 ms T avgtransfer = 60/7 200 RPM 1/400 Sek/Spur ms/sek = 0,02 ms T avgzugriff = 8 ms + 4 ms + 0,02 ms A. Mäder 1142

30 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Festplatten-Zugriffszeit (cont.) Fazit Zugriffszeit wird von Suchzeit und Rotationslatenzzeit dominiert erstes Bit eines Sektors ist das teuerste, der Rest ist quasi umsonst SRAM Zugriffszeit ist ca. 4 ns DRAM ca. 60 ns Kombination aus Zugriffszeit und Datentransfer Festplatte ist ca mal langsamer als SRAM mal langsamer als DRAM A. Mäder 1143

31 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Logische Festplattenblöcke simple, abstrakte Ansicht der komplexen Sektorengeometrie verfügbare Sektoren werden als Sequenz logischer Blöcke der Größe b modelliert (0,1,2,..,n) Abbildung der logischen Blöcke auf die tatsächlichen (physikalischen) Sektoren durch Hard-/Firmware Einheit (Festplattencontroller) konvertiert logische Blöcke zu Tripeln (Oberfläche, Spur, Sektor) Controller kann für jede Zone Ersatzzylinder bereitstellen Unterschied: formatierte Kapazität und maximale Kapazität A. Mäder 1144

32 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Lesen eines Festplattensektors 1. CPU initiiert Lesevorgang von Festplatte auf Port (Adresse) des Festplattencontrollers wird geschrieben Befehl, logische Blocknummer, Zielspeicheradresse CPU chip register file ALU bus interface main memory I/O bus USB controller graphics adapter disk controller mouse keyboard monitor disk [BO11] A. Mäder 1145

33 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Lesen eines Festplattensektors (cont.) 2. Festplattencontroller liest den Sektor aus 3. " führt DMA-Zugriff auf Hauptspeicher aus CPU chip register file ALU bus interface main memory I/O bus USB controller graphics adapter disk cont oller mouse keyboard monitor disk [BO11] A. Mäder 1146

34 Speicherhierarchie - Speichertypen - Festplatten Rechnerstrukturen Lesen eines Festplattensektors (cont.) 4. Festplattencontroller löst Interrupt aus CPU chip register file ALU bus interface main memory I/O bus USB controller graphics adapter disk controller mouse keyboard monitor disk [BO11] A. Mäder 1147

35 Speicherhierarchie - Speichertypen - spezifische Eigenschaften Rechnerstrukturen Eigenschaften der Speichertypen Speicher Vorteile Nachteile Register sehr schnell sehr teuer SRAM schnell teuer, große Chips DRAM hohe Integration Refresh nötig, langsam Platten billig, Kapazität sehr langsam, mechanisch Beispiel Hauptspeicher Festplatte SSD Latenz 8 ns 4 ms 0,2/0,4 ms Bandbreite 38,4 GB/sec 750 MB/sec (triple Channel) typ.: < Kosten/GB 5 4 ct. 70 ct. 1 TB, 40 A. Mäder 1148

36 18.2 Speicherhierarchie - Motivation Rechnerstrukturen Speed [log MHz] GHz 2.2GHz P DEC Alpha first 1GHz CPU Research internal CPU Clock PentiumIII external BUS Clock Processor- Memory Gap PC MC68030 i860 PCI 1/tacc 25ns in page SDRAM PC133 IO Processor- I/O Gap PCI-X 133MHz 20 40ns 1/tacc 60ns random 10 '90 '92 '94 '96 ' '02 Year A. Mäder 1149

37 18.2 Speicherhierarchie - Motivation Rechnerstrukturen Speicherhierarchie Motivation Geschwindigkeit der Prozessoren Kosten für den Speicherplatz permanente Speicherung magnetisch optisch mechanisch CPU Register Files 1st-Level Cache External Processor Interface 2nd-Level Cache Main Memory Disk Storage A. Mäder 1150

38 18.2 Speicherhierarchie - Motivation Rechnerstrukturen Speicherhierarchie (cont.) Fundamentale Eigenschaften von Hard- und Software schnelle vs. langsame Speichertechnologie schnell : hohe Kosten/Byte geringe Kapazität langsam : geringe " hohe " Abstand zwischen CPU und Hauptspeichergeschwindigkeit vergrößert sich Lokalität der Programme wichtig kleiner Adressraum im Programmkontext gut geschriebene Programme haben meist eine gute Lokalität Motivation für spezielle Organisation von Speichersystemen Speicherhierarchie A. Mäder 1151

39 18.2 Speicherhierarchie - Motivation Rechnerstrukturen Speicherhierarchie (cont.) [HP11] A. Mäder 1152

40 18.2 Speicherhierarchie - Motivation Rechnerstrukturen Verwaltung der Speicherhierarchie Register Memory Compiler Assembler-Programmierer Cache Memory Hardware Memory Disk Hardware und Betriebssystem (Paging) Programmierer (Files) A. Mäder 1153

41 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache CS420/520 memory.3 UC. Colorado Springs Adapted from UCB97 & UCB03 Memory Who Cares Wall : About DRAM the Memory zu langsam Hierarchy? für CPU Performance Processor-DRAM Memory Gap (latency) Moore s Law Year µproc 55%/yr. (2X/1.5yr) DRAM 7-9%/yr. (2X/10 yrs) A. Mäder 1154 CS420/520 memory.4 UC. Colorado Springs Adapted from UCB97 & UCB CPU Processor-Memory Performance Gap: (grows 50% / year) DRAM [PH12]

42 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache (cont.) Cache als schneller Zwischenspeicher zum Hauptspeicher technische Realisierung: SRAM transparenter Speicher Cache ist für den Programmierer nicht sichtbar! wird durch Hardware verwaltet enthält Hauptspeicherblöcke mit erhöhter Zugriffswahrscheinlichkeit CPU referenziert Adresse parallele Suche in L1 (level 1), L2... und Hauptspeicher erfolgreiche Suche liefert Datum, Abbruch laufender Suchen A. Mäder 1155

43 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache (cont.) CPU chip register file L1 ALU cache cache bus system bus memory bus L2 cache bus interface I/O bridge main memory [BO11] A. Mäder 1156

44 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen gemeinsamer Cache / unified Cache [Fur01] A. Mäder 1157

45 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen separate Instruction-/Data Caches [Fur01] A. Mäder 1158

46 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Position First- und Second-Level Cache A. Mäder 1159

47 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Position (cont.) Virtueller Cache + Adressumrechnung durch MMU oft nicht nötig Cache leeren bei Kontextwechseln A. Mäder 1160

48 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Position (cont.) Physikalischer Cache + Cache muss nie geleert werden Adressumrechnung durch MMU immer nötig A. Mäder 1161

49 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Position (cont.) typische Cache Organisation First-Level Cache: getrennte Instruktions- und Daten-Caches Second-Level Cache: gemeinsamer Cache je Prozessorkern Third-Level Cache: gemeinsamer Cache für alle Prozessorkerne bei mehreren Prozessoren / Prozessorkernen Cache-Kohärenz wichtig gemeinsam genutzte Daten konsistent halten (s.u.) A. Mäder 1162

50 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Strategie Cachestrategie: Welche Daten sollen in den Cache? Diejenigen, die bald wieder benötigt werden! temporale Lokalität: die Daten, die zuletzt häufig gebraucht wurden räumliche Lokalität: die Daten, die nahe den zuletzt gebrauchten liegen verschiedene Platzierungs-, Ersetzungs- und Rückschreibestategien für den Cache A. Mäder 1163

51 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Performanz Cacheperformanz Begriffe Treffer (Hit) Zugriff auf Datum, ist bereits im Cache Fehler (Miss) " ist nicht " Treffer-Rate R Hit Wahrscheinlichkeit, Datum ist im Cache Fehler-Rate R Miss 1 R Hit Hit-Time T Hit Zeit, bis Datum bei Treffer geliefert wird Miss-Penalty T Miss zusätzlich benötigte Zeit bei Fehler Mittlere Speicherzugriffszeit = T Hit + R Miss T Miss Beispiel T Hit = 1 Takt, T Miss = 20 Takte, R Miss = 5 % Mittlere Speicherzugriffszeit = 2 Takte A. Mäder 1164

52 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Organisation Cache ist ein Array von Speicher-Bereichen ( sets ) jeder Bereich enthält eine oder mehrere Zeilen jede Zeile enthält einen Datenblock jeder Block enthält mehrere Byte 1 valid bit t tag bits per line per line B = 2 b bytes per cache block set 0: valid valid tag tag B 1 B 1 E lines per set valid tag 0 1 B 1 S = 2 s sets set 1: valid tag 0 1 B 1 valid tag 0 1 B 1 set S-1: valid tag 0 1 B 1 Cache size: C = B x E x S data bytes A. Mäder 1165

53 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Organisation (cont.) 1 valid bit per line t tag bits per line B = 2 b bytes per cache block set 0: valid valid tag tag B 1 B 1 E lines per set valid tag 0 1 B 1 S = 2 s sets set 1: valid tag 0 1 B 1 valid tag 0 1 B 1 set S-1: valid tag 0 1 B 1 [BO11] A. Mäder 1166

54 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Adressierung von Caches Adressteil set index von A bestimmt Bereich ( set ) Adresse A ist im Cache, wenn 1. Cache-Zeile ist als gültig markiert ( valid ) 2. Adressteil tag von A = tag Bits des Bereichs Address A: t bits s bits b bits set 0: v v tag tag B 1 B 1 m-1 <tag> <set index> <block offset> 0 set 1: v v tag tag B 1 B 1 set S-1: v v tag tag B 1 B 1 [BO11] A. Mäder 1167

55 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Adressierung von Caches (cont.) Cache-Zeile ( cache line ) enthält Datenbereich von 2 b Byte gesuchtes Wort mit Offset block offset Address A: t bits s bits b bits set 0: v v tag tag B 1 B 1 m-1 <tag> <set index> <block offset> 0 set 1: v v tag tag B 1 B 1 set S-1: v v tag tag B 1 B 1 [BO11] A. Mäder 1168

56 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Organisation Welchen Platz im Cache belegt ein Datum des Hauptspeichers? drei Verfahren direkt abgebildet / direct mapped jeder Speicheradresse ist genau eine Cache-Speicherzelle zugeordnet n-fach bereichsassoziativ / set associative jeder Speicheradresse ist eine von E möglichen Cache-Speicherzellen zugeordnet voll-assoziativ jeder Speicheradresse kann jede beliebige Cache-Speicherzelle zugeordnet werden A. Mäder 1169

57 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: direkt abgebildet / direct mapped jeder Adresse ist genau eine Speicherzelle im Cache zugeordnet Cache Memory [PH12] A. Mäder 1170

58 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: direkt abgebildet / direct mapped (cont.) verfügt über genau 1 Zeile pro Bereich S Bereiche (Sets) set 0: valid tag cache block E=1 lines per set set 1: valid tag cache block set S-1: valid tag cache block [BO11] + einfachste Cache-Art + große Caches möglich Effizienz, z.b. Zugriffe auf A, A + n S... A. Mäder 1171

59 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: direkt abgebildet / direct mapped (cont.) Zugriff auf direkt abgebildete Caches 1. Bereichsauswahl durch Bits set index set 0: valid tag cache block selected set set 1: valid tag cache block m-1 t bits tag s bits b bits set index block offset set S-1: valid tag cache block [BO11] A. Mäder 1172

60 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: direkt abgebildet / direct mapped (cont.) 2. valid : sind die Daten gültig? 3. Line matching : stimmt tag überein? 4. Wortselektion extrahiert Wort unter Offset block offset =1? (1) The valid bit must be set selected set (i): w 0 w 1 w 2 w 3 (2) The tag bits in the cache line must match the tag bits in the address m-1 =? t bits 0110 tag s bits b bits i set index block offset (3) If (1) and (2), then cache hit, and block offset selects starting byte. [BO11] A. Mäder 1173

61 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: direkt abgebildet / direct mapped (cont.) Prinzip [Fur01] A. Mäder 1174

62 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: bereichsassoziativ / set associative jeder Speicheradresse ist ein Bereich S mit mehreren (E) Cachezeilen zugeordnet n-fach assoziative Caches: E=2, way set associative cache, 4-way... set 0: valid tag cache block valid tag cache block E=2 lines per set set 1: valid tag cache block valid tag cache block set S-1: valid tag cache block valid tag cache block [BO11] A. Mäder 1175

63 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: bereichsassoziativ / set associative (cont.) Zugriff auf n-fach assoziative Caches 1. Bereichsauswahl durch Bits set index set 0: valid valid tag tag cache block cache block Selected set set 1: valid valid tag tag cache block cache block m-1 t bits tag s bits b bits set index block offset set S-1: valid valid tag tag cache block cache block [BO11] A. Mäder 1176

64 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: bereichsassoziativ / set associative (cont.) 2. valid : sind die Daten gültig? 3. Line matching : Cache-Zeile mit passendem tag finden? dazu Vergleich aller tags des Bereichs set index 4. Wortselektion extrahiert Wort unter Offset block offset =1? (1) The valid bit must be set selected set (i): w 0 w 1 w 2 w 3 (2) The tag bits in one of the cache lines must match the tag bits in the address m-1 =? t bits 0110 tag s bits b bits i set index block offset (3) If (1) and (2), then cache hit, and block offset selects starting byte. [BO11] A. Mäder 1177

65 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: bereichsassoziativ / set associative (cont.) Prinzip [Fur01] A. Mäder 1178

66 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache: voll-assoziativ jeder Adresse des Speichers kann jede beliebige Cachezeile zugeordnet werden Spezialfall: nur ein Cachebereich S benötigt E-Vergleicher nur für sehr kleine Caches realisierbar A. Mäder 1179

67 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Dimensionierung Address A: t bits s bits b bits set 0: v v tag tag B 1 B 1 m-1 <tag> <set index> <block offset> 0 set 1: v v tag tag B 1 B 1 v tag 0 1 B 1 set S-1: v tag 0 1 B 1 Parameter: S, B, E [BO11] A. Mäder 1180

68 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Dimensionierung (cont.) Cache speichert immer größere Blöcke / Cache-Line Wortauswahl durch block offset in Adresse + nutzt räumliche Lokalität aus + Breite externe Datenbusse + nutzt Burst-Adressierung des Speichers: Adresse nur für erstes Wort vorgeben, dann automatisches Inkrement + kürzere interne Cache-Adressen A. Mäder 1181

69 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Dimensionierung (cont.) Cache- und Block-Dimensionierung Blockgröße klein, viele Blöcke + kleinere Miss-Penalty + temporale Lokalität räumliche Lokalität Blockgröße groß, wenig Blöcke größere Miss-Penalty temporale Lokalität + räumliche Lokalität [PH11] A. Mäder 1182

70 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Dimensionierung (cont.) 25% 20% 1k 4k 16k 64k 256k Miss rate 15% 10% 5% 0% Block size Block-Size: Byte L1-Cache: KiByte L2-Cache: KiByte [HP11] A. Mäder 1183

71 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Dimensionierung (cont.) zusätzliche Software-Optimierungen Ziel: Cache Misses reduzieren Schleifen umsortieren, verschmelzen... Datenstrukturen zusammenfassen... A. Mäder 1184

72 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Ersetzungsstrategie Wenn der Cache gefüllt ist, welches Datum wird entfernt? zufällige Auswahl LRU (Least Recently Used): der älteste nicht benutzte Cache Eintrag echtes LRU als Warteschlange realisiert Pseudo LRU mit baumartiger Verwaltungsstruktur: Zugriff wird paarweise mit einem Bit markiert, die Paare wieder zusammengefasst usw. LFU (Least Frequently Used): der am seltensten benutzte Cache Eintrag durch Zugriffszähler implementiert A. Mäder 1185

73 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Schreibstrategie Wann werden modifizierte Daten des Cache zurückgeschrieben? Write-Through: beim Schreiben werden Daten sofort im Cache und im Hauptspeicher modifiziert + andere Bus-Master sehen immer den richtigen Speicherinhalt: Cache-Kohärenz Werte werden unnötig oft in Speicher zurückgeschrieben Write-Back: erst in den Speicher schreiben, wenn Datum des Cache ersetzt werden würde + häufig genutzte Werte (z.b. lokale Variablen) werden nur im Cache modifiziert Cache-Kohärenz ist nicht gegeben spezielle Befehle für Cache-Flush non-cacheable Speicherbereiche A. Mäder 1186

74 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Kohärenz Daten zwischen Cache und Speicher konsistent halten notwendig wenn auch andere Einheiten (Bus-Master) auf Speicher zugreifen können (oder Mehrprozessorsysteme!) Harvard-Architektur hat getrennte Daten- und Instruktions-Speicher: einfacherer Instruktions-Cache Instruktionen sind read-only kein Cache-Kohärenz Problem Snooping Cache lauscht am Speicherbus externer Schreibzugriff Cache aktualisieren / ungültig machen externer Lesezugriff Cache liefert Daten A. Mäder 1187

75 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Kohärenz (cont.) MESI Protokoll besitzt zwei Statusbits für die Protokollzustände Modified: Inhalte der Cache-Line wurden modifiziert Exclusive unmodified: Cache-Line gehört dieser CPU, nicht modifiz. Shared unmodified: Inhalte sind in mehreren Caches vorhanden Invalid: ungültiger Inhalt, Initialzustand A. Mäder 1188

76 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Kohärenz (cont.) Zustandsübergänge für Bus Master CPU Write Miss Read Hit, Write Hit Invalid Write Miss[1] I M Modified Exclusive Shared Read Miss Exclusive Read Miss Shared Read Miss [3] Exclus ve Read Miss [3] Write Hit Write Hit [2] Shared Unmodified Exclusive Read Miss [3] S E Shared Read Miss [3] Exclusive Unmodified Read Hit / Shared Read miss Read Hit / Exclus ve Read miss [1] = Read with intent to modify [2] = Invalidation Bus Transaction [3] = Address tag miss = Snoop response A. Mäder 1189

77 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache Kohärenz (cont.) Zustandsübergänge für Snooping CPU Snoop Hit on Write [4] or on Read w.i.t.m. [4] I Invalid M Modified Exclusive Snoop Hit on Read [4} Snoop Hit on Write or on Read w.i.t.m. or on Invalidation Snoop Hit on Write or on Read w.i.t.m. S Shared Unmodified Snoop Hit on Read E Exclusive Unmodified Snoop Hit on Read [4] = Copy back of modified data A. Mäder 1190

78 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Optimierung der Cachezugriffe Mittlere Speicherzugriffszeit = T Hit + R Miss T Miss Verbesserung der Cache Performanz durch kleinere T Miss am einfachsten zu realisieren mehrere Cache Ebenen Critical Word First: bei großen Cache Blöcken (mehrere Worte) gefordertes Wort zuerst holen und gleich weiterleiten Read-Miss hat Priorität gegenüber Write-Miss Zwischenspeicher für Schreiboperationen (Write Buffer) Merging Write Buffer: aufeinanderfolgende Schreiboperationen zwischenspeichern und zusammenfassen Victim Cache: kleiner voll-assoziativer Cache zwischen direct-mapped Cache und nächster Ebene sammelt verdrängte Cache Einträge A. Mäder 1191

79 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Optimierung der Cachezugriffe (cont.) Verbesserung der Cache Performanz durch kleinere R Miss größere Caches ( mehr Hardware) höhere Assoziativität ( langsamer) Optimierungstechniken Software Optimierungen Prefetch: Hardware (Stream Buffer) Software (Prefetch Operationen) Cache Zugriffe in Pipeline verarbeiten Trace Cache: im Instruktions-Cache werden keine Speicherinhalte, sondern ausgeführte Sequenzen (trace) einschließlich ausgeführter Sprünge gespeichert Beispiel: NetBurst Architektur (Pentium 4) A. Mäder 1192

80 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Chiplayout ARM7 / ARM10 IBOX: Steuerwerk (instruction fetch und decode) EBOX: Operationswerk, ALU, Register (execute) IMMU/DMMU: Virtueller Speicher (instruction/data TLBs) ICACHE: Instruction Cache DCACHE: Data Cache A. Mäder 1193

81 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Chiplayout (cont.) A. Mäder 1194

82 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Chiplayout (cont.) A. Mäder 1195

83 18.3 Speicherhierarchie - Cache Speicher Rechnerstrukturen Cache vs. Programmcode Programmierer kann für maximale Cacheleistung optimieren Datenstrukturen werden fortlaufend alloziert 1. durch entsprechende Organisation der Datenstrukturen 2. durch Steuerung des Zugriffs auf die Daten Geschachtelte Schleifenstruktur Blockbildung ist eine übliche Technik Systeme bevorzugen einen Cache-freundlichen Code Erreichen der optimalen Leistung ist plattformspezifisch Cachegrößen, Zeilengrößen, Assoziativität etc. generelle Empfehlungen working set klein zeitliche Lokalität kleine Adressfortschaltungen ( strides ) räumliche Lokalität A. Mäder 1196

84 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher Motivation Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write Daten Konsequenz virtueller Speicher umfasst drei Aspekte der (teilweise) widersprüchlichen Anforderungen an Speicher A. Mäder 1197

85 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher Motivation (cont.) 1. Benutzung der Festplatte als zusätzlichen Hauptspeicher Prozessadressraum kann physikalische Speichergröße übersteigen Summe der Adressräume mehrerer Prozesse kann physikalischen Speicher übersteigen 2. Vereinfachung der Speicherverwaltung viele Prozesse liegen im Hauptspeicher jeder Prozess mit seinem eigenen Adressraum (0... n) nur aktiver Code und Daten sind tatsächlich im Speicher bedarfsabhängige, dynamische Speicherzuteilung 3. Bereitstellung von Schutzmechanismen ein Prozess kann einem anderen nicht beeinflussen sie operieren in verschiedenen Adressräumen Benutzerprozess hat keinen Zugriff auf privilegierte Informationen jeder virtuelle Adressraum hat eigene Zugriffsrechte A. Mäder 1198

86 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Festplatte erweitert Hauptspeicher 1 MB: ~ 5 SRAM 1GB: ~5 DRAM 1 TB: ~40 Disk [BO11] Vollständiger Adressraum zu groß DRAM ist Cache 32-bit Adressen: Byte 4 Milliarden 64-bit Adressen: Byte 16 Quintillionen Speichern auf Festplatte ist 125 billiger als im DRAM 1 TiB DRAM: TiB Festplatte: 40 kostengünstiger Zugriff auf große Datenmengen A. Mäder 1199

87 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Ebenen in der Speicherhierarchie cache virtual memory CPU regs C 16 B a 64 B 4 KB Memory c h e disk size: speed: $/Mbyte: line size: Register Cache Memory Disk Memory 64 B 300 ps 16 B 32 KB-12MB 1 ns 5 /MB 64 B 8 GB 8 ns 5 /GB 4 KB 2 TB 4 ms 4 Ct./GB larger, slower, cheaper [BO11] A. Mäder 1200

88 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Ebenen in der Speicherhierarchie (cont.) Hauptspeicher als Cache für den Plattenspeicher CPU Register Files 1st-Level Cache External Processor Interface 2nd-Level Cache Main Memory Disk Storage Virtual memory Parameter der Speicherhierarchie 1st-Level Cache virtueller Speicher Blockgröße Byte 4-64 KiByte Hit-Dauer 1-2 Zyklen Zyklen Miss Penalty Zyklen Zyklen Miss Rate 0,5-10 % 0, ,001 % Adressraum bit bit A. Mäder 1201

89 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Ebenen in der Speicherhierarchie (cont.) DRAM vs. Festplatte ist extremer als SRAM vs. DRAM Zugriffswartezeiten DRAM 10 langsamer als SRAM Festplatte langsamer als DRAM Nutzung der räumlichen Lokalität wichtig erstes Byte langsamer als nachfolgende Bytes SRAM DRAM Disk [BO11] A. Mäder 1202

90 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Prinzip des virtuellen Speichers jeder Prozess besitzt seinen eigenen virtuellen Adressraum Kombination aus Betriebssystem und Hardwareeinheiten MMU Memory Management Unit Umsetzung von virtuellen zu physikalischen Adressen, Programm-Relokation A. Mäder 1203

91 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Prinzip des virtuellen Speichers (cont.) Umsetzungstabellen werden vom Betriebssystem verwaltet wegen des Speicherbedarfs der Tabellen beziehen sich diese auf größere Speicherblöcke (Segmente oder Seiten) Umgesetzt wird nur die Anfangsadresse, der Offset innerhalb des Blocks bleibt unverändert Blöcke dieses virtuellen Adressraums können durch Betriebssystem auf Festplatte ausgelagert werden Windows: Auslagerungsdatei Unix/Linux: swap Partition und -Datei(en) Konzepte zur Implementation virtuellen Speichers Segmentierung Speicherzuordnung durch Seiten ( Paging ) gemischte Ansätze (Standard bei: Desktops, Workstations... ) A. Mäder 1204

92 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher: Segmentierung Unterteilung des Adressraums in kontinuierliche Bereiche variabler Größe Virtuelle Adresse pid = 1.data 1.text 1 pid = 2.data 2.text 2 MMU zur Laufzeit... phys. Mem..data 1.text 1.text 2.data 2 Physikalische Adresse... access rights address access trap 9600 = upper bound Memory fragmentation > protection violation trap from processor virtual address R/W I/D S/U b f nt base of segment.data.text. + physical addr to memory pid = 1 A. Mäder 1205

93 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher: Segmentierung (cont.) Idee: Trennung von Instruktionen, Daten und Stack Abbildung von Programmen in den Hauptspeicher + Inhalt der Segmente: logisch zusammengehörige Daten + getrennte Zugriffsrechte, Speicherschutz + exakte Prüfung der Segmentgrenzen Segmente könne sehr groß werden Ein- und Auslagern von Segmenten kann sehr lange dauern Verschnitt / Memory Fragmentation A. Mäder 1206

94 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher: Paging / Seitenadressierung Unterteilung des Adressraums in Blöcke fester Größe = Seiten Abbildung auf Hauptspeicherblöcke = Kacheln Memory Virtual Addresses Page Table 0: 1: Physical Addresses 0: 1: CPU P-1: N-1: Disk [BO11] A. Mäder 1207

95 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher: Paging / Seitenadressierung (cont.) Abbildung von Adressen in den virtuellen Speicher + Programme können größer als der Hauptspeicher sein + Programme können an beliebige physikalischen Adressen geladen werden, unabhängig von der Aufteilung des physikalischen Speichers + feste Seitengröße: einfache Verwaltung in Hardware + Zugriffsrechte für jede Seite (read/write, User/Supervisor) + gemeinsam genutzte Programmteile/-Bibliotheken können sehr einfach in das Konzept integriert werden Windows:.dll-Dateien Unix/Linux:.so-Dateien A. Mäder 1208

96 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher: Paging / Seitenadressierung (cont.) große Miss-Penalty (Nachladen von der Platte) Seiten sollten relativ groß sein: KiByte Speicherplatzbedarf der Seitentabelle viel virtueller Speicher, 4 KiByte Seitengröße = sehr große Pagetable Hash-Verfahren (inverted page tables) mehrstufige Verfahren Linear Address Directory Table Offset 12 Physical memory 486 TM CPU 31 0 CR0 CR2 CR2 CR3 dir_base Control registers {} {} base 20 Page directory 31 0 base 20 Page table {} Address A. Mäder 1209

97 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher: Segmentierung + Paging aktuell = Mischung: Segmentierung und Paging (seit I386) A. Mäder 1210

98 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Seitenfehler Seiten-Tabelleneintrag: Startadresse der virt. Seite auf Platte Daten von Festplatte in Speicher laden: Aufruf des Exception handler des Betriebssystems laufender Prozess wird unterbrochen, andere können weiterlaufen Betriebssystem kontrolliert die Platzierung der neuen Seite im Hauptspeicher (Ersetzungsstrategien) etc. Virtual Addresses CPU Page Table Physical Addresses Memory Virtual Addresses CPU Page Table Physical Addresses Memory Disk Disk [BO11] A. Mäder 1211

99 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Seitenfehler (cont.) Behandlung des Seitenfehlers 1. Prozessor signalisiert DMA-Controller lies Block der Länge P ab Festplattenadresse X speichere Daten ab Adresse Y in Hauptspeicher 2. Lesezugriff erfolgt als Direct Memory Access (DMA) Kontrolle durch I/O Controller 3. I/O Controller meldet Abschluss Gibt Interrupt an den Prozessor Betriebssystem lässt unterbrochenen Prozess weiterlaufen Processor Reg Cache Memory (1) Initiate Block Read Memory-I/O bus (2) DMA Transfer (3) Read Done I/O controller Disk Disk [BO11] A. Mäder 1212

100 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Separate virtuelle Adressräume Mehrere Prozesse können im physikalischen Speicher liegen Wie werden Adresskonflikte gelöst? Was passiert, wenn Prozesse auf dieselbe Adresse zugreifen? %esp kernel virtual memory stack memory invisible to user code Linux x86 Speicherorganisation Memory mapped region forshared libraries runtime heap (via malloc) the brk ptr uninitialized data (.bss) initialized data (.data) program text (.text) forbidden [BO11] 0 A. Mäder 1213

101 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Separate virtuelle Adressräume (cont.) Auflösung der Adresskonflikte jeder Prozess hat seinen eigenen virtuellen Adressraum Betriebssystem kontrolliert wie virtuelle Seiten auf den physikalischen Speicher abgebildet werden Virtual Address Space for Process 1: Virtual Address Space for Process 2: 0 N-1 0 N-1 VP 1 VP 2... VP 1 VP 2... Address Translation 0 M-1 PP 2 PP 7 PP 10 Physical Address Space (DRAM) (e.g., read/only library code) [BO11] A. Mäder 1214

102 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher Adressumsetzung Parameter P = 2 p = Seitengröße (Bytes) N = 2 n = Limit der virtuellen Adresse M = 2 m = Limit der physikalischen Adresse n 1 p p 1 0 virtual page number page offset virtual address address translation m 1 p p 1 0 physical page number page offset physical address [BO11] A. Mäder 1215

103 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher Adressumsetzung (cont.) virtuelle Adresse: Hit Processor a Hardware Addr Trans Mechanism a' Main Memory virtual address part of the physical address on-chip memory mgmt unit (MMU) [BO11] A. Mäder 1216

104 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Virtueller Speicher Adressumsetzung (cont.) virtuelle Adresse: Miss Processor a virtual address Hardware Addr Trans Mechanism a' page fault fault handler Main Memory part of the physical address on-chip memory mgmt unit (MMU) Secondary memory OS performs this transfer (only if miss) [BO11] A. Mäder 1217

105 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Seiten-Tabelle Virtual Page Number Memory resident page table (physical page or disk address) Valid Physical Memory Disk Storage (swap file or regular file system file) [BO11] A. Mäder 1218

106 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Seiten-Tabelle (cont.) page table base register VPN acts as table index virtual address n 1 p p 1 0 virtual page number (VPN) page offset valid access physical page number (PPN) if valid=0 then page not in memory m 1 p p 1 physical page number (PPN) page offset physical address 0 [BO11] A. Mäder 1219

107 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Seiten-Tabelle (cont.) separate Seiten-Tabelle für jeden Prozess VPN ( Virtual Page Number ) bildet den Index der Seiten-Tabelle zeigt auf Seiten-Tabelleneintrag Seiten-Tabelleneintrag liefert Informationen über die Seite Daten im Hauptspeicher: valid-bit valid-bit = 1: die Seite ist im Speicher benutze physikalische Seitennummer ( Physical Page Number ) zur Adressberechnung valid-bit = 0: die Seite ist auf der Festplatte Seitenfehler page table base register VPN acts as table index virtual address n 1 p p 1 0 virtual page number (VPN) page offset valid access physical page number (PPN) if valid=0 then page not in memory m 1 p p 1 physical page number (PPN) page offset 0 A. Mäder physical address 1220

108 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Zugriffsrechte Schutzüberprüfung Zugriffsrechtefeld gibt Zugriffserlaubnis an z.b. read-only, read-write, execute-only typischerweise werden zahlreiche Schutzmodi unterstützt Schutzrechteverletzung wenn Prozess/Benutzer nicht die nötigen Rechte hat bei Verstoß erzwingt die Hardware den Schutz durch das Betriebssystem ( Trap / Exception ) A. Mäder 1221

109 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Zugriffsrechte (cont.) Process i: VP 0: VP 1: VP 2: Page Tables Read? Write? Yes Yes No No Yes No Physical Addr PP 9 PP 4 XXXXXXX 0: 1: Memory Process j: Read? Write? VP 0: Yes Yes VP 1: Yes No VP 2: No No Physical Addr PP 6 PP 9 XXXXXXX N-1: [BO11] A. Mäder 1222

110 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Integration von virtuellem Speicher und Cache CPU VA PA miss Translation Cache data hit Main Memory [BO11] Die meisten Caches werden physikalisch adressiert Zugriff über physikalische Adressen mehrere Prozesse können, gleichzeitig Blöcke im Cache haben " sich Seiten teilen Cache muss sich nicht mit Schutzproblemen befassen Zugriffsrechte werden als Teil der Adressumsetzung überprüft Die Adressumsetzung wird vor dem Cache Lookup durchgeführt kann selbst Speicherzugriff (auf den PTE) beinhalten Seiten-Tabelleneinträge können auch gecacht werden A. Mäder 1223

111 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen TLB / Translation Lookaside Buffer Beschleunigung der Adressumsetzung für virtuellen Speicher kleiner Hardware Cache in MMU (Memory Management Unit) bildet virtuelle Seitenzahlen auf physikalische ab enthält komplette Seiten-Tabelleneinträge für wenige Seiten CPU hit VA PA miss TLB Lookup Cache Main Memory miss hit Translation data [BO11] A. Mäder 1224

112 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen TLB / Translation Lookaside Buffer (cont.) n 1 p p 1 0 virtual page number page offset virtual address valid tag physical page number... TLB TLB hit = physical address tag index valid tag data byte offset Cache cache hit = data [BO11] A. Mäder 1225

113 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen mehrstufige Seiten-Tabellen Gegeben 4 KiB (2 12 ) Seitengröße 32-Bit Adressraum 4-Byte PTE ( Page Table Entry ) Seitentabelleneintrag Problem erfordert 4 MiB Seiten-Tabelle 2 20 Bytes übliche Lösung mehrstufige Seiten-Tabellen ( multi-level ) z.b. zweistufige Tabelle (Pentium P6) Ebene-1: 1024 Einträge Ebene-2 Tabelle Ebene-2: 1024 Einträge Seiten Level 1 Table [BO11] Level 2 Tables... A. Mäder 1226

114 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen mehrstufige Seiten-Tabellen (cont.) Page Directory P=1, M=1 P=1, M=1 P=0, M=0 P=0, M=1 PT 3 PT 2 PT 0 P=1, M=1 P=0, M=0 P=1, M=1 P=0, M=1 P=1, M=1 P=0, M=0 P=1, M=1 P=0, M=1 P=0, M=1 P=0, M=1 P=0, M=0 P=0, M=0 Page 15 Page 14 Page 13 Page 12 Page 11 Page 10 Page 9 Page 8 Page 7 Page 6 Page 5 Mem Addr Page 4 Disk Addr Page 3 In Mem Page 2 On Disk Page 1 Unmapped Page 0 [BO11] A. Mäder 1227

115 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Beispiel: Pentium und Linux 32-bit Adressraum 4 KiB Seitengröße L1, L2 TLBs 4fach assoziativ Instruktions TLB 32 Einträge 8 Sets Daten TLB 64 Einträge 16 Sets L1 I-Cache, D-Cache 16 KiB 32 B Cacheline 128 Sets L2 Cache Instr.+Daten zusammen 128 KiB... 2 MiB DRAM bus interface unit instruction fetch unit processor package external system bus (e.g. PCI) L2 cache L1 i-cache cache bus inst TLB data TLB L1 d-cache [BO11] A. Mäder 1228

116 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Beispiel: Pentium und Linux (cont.) 10 VPN1 word offset into page directory page directory VPN2 VPO word offset into page table page table Virtual address word offset into physical and virtual page PDBR physical address of page directory PDE PTE physical address of page table base (if P=1) physical address of page base (if P=1) 20 PPN 12 PPO Physical address [BO11] A. Mäder 1229

117 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Beispiel: Pentium und Linux (cont.) CPU 32 result L2 and DRAM VPN VPO 16 4 TLBT TLBI virtual address (VA) L1 hit L1 miss TLB miss... TLB hit L1 (128 sets, 4 lines/set) VPN1 VPN2 TLB (16 sets, 4 entries/set) PPN PPO CT CI CO PDE PTE physical address (PA) PDBR Page tables [BO11] A. Mäder 1230

118 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Zusammenfassung Cache Speicher Dient nur zur Beschleunigung Verhalten unsichtbar für Anwendungsprogrammierer und OS Komplett in Hardware implementiert A. Mäder 1231

119 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Zusammenfassung (cont.) Virtueller Speicher Ermöglicht viele Funktionen des Betriebssystems Prozesse erzeugen ( exec / fork ) Taskwechsel Schutzmechanismen Implementierung mit Hardware und Software Software verwaltet die Tabellen und Zuteilungen Hardwarezugriff auf die Tabellen Hardware-Caching der Einträge (TLB) A. Mäder 1232

120 18.4 Speicherhierarchie - Virtueller Speicher Rechnerstrukturen Zusammenfassung (cont.) Sicht des Programmierers großer flacher Adressraum kann große Blöcke benachbarter Adressen zuteilen Prozessor besitzt die gesamte Maschine hat privaten Adressraum bleibt unberührt vom Verhalten anderer Prozesse Sicht des Systems Virtueller Adressraum von Prozessen durch Abbildung auf Seiten muss nicht fortlaufend sein wird dynamisch zugeteilt erzwingt Schutz bei Adressumsetzung Betriebssystem verwaltet viele Prozesse gleichzeitig ständiger Wechsel zwischen Prozessen vor allem wenn auf Ressourcen gewartet werden muss A. Mäder 1233

121 18.5 Speicherhierarchie - Literatur Rechnerstrukturen Literatur [BO11] R.E. Bryant, D.R. O Hallaron: Computer systems A programmers perspective. 2nd edition, Pearson, ISBN Grafiken z.t. aus: Foliensatz [HP11] J.L. Hennessy, D.A. Patterson: Computer architecture A quantitative approach. 5th edition, Morgan Kaufmann, ISBN A. Mäder 1234

122 18.5 Speicherhierarchie - Literatur Rechnerstrukturen Literatur (cont.) [PH11] D.A. Patterson, J.L. Hennessy: Rechnerorganisation und -entwurf Die Hardware/Software-Schnittstelle. 4. Auflage, Oldenbourg Verlag, ISBN [PH12] D.A. Patterson, J.L. Hennessy: Computer Organization and Design The Hardware/Software Interface. 4th rev. edition, Morgan Kaufmann Publishers, ISBN Grafiken z.t. aus: Foliensatz A. Mäder 1235

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

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

Modul IP7: Rechnerstrukturen

Modul IP7: Rechnerstrukturen 64-4 Modul IP7: Rechnerstrukturen http://tams.informatik.uni-hamburg.de/ lectures/211ws/vorlesung/rs Kapitel 21 Andreas Mäder Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften

Mehr

Modul InfB-RS: Rechnerstrukturen

Modul InfB-RS: Rechnerstrukturen 64-040 Rechnerstrukturen 64-040 Modul InfB-RS: Rechnerstrukturen http://tams.informatik.uni-hamburg.de/ lectures/2014ws/vorlesung/rs Kapitel 18 Andreas Mäder Universität Hamburg Fakultät für Mathematik,

Mehr

Modul InfB-RS: Rechnerstrukturen

Modul InfB-RS: Rechnerstrukturen A. Mäder 1 MIN-Fakultät Fachbereich Informatik 64-040 Modul InfB-RS: Rechnerstrukturen https://tams.informatik.uni-hamburg.de/ lectures/2016ws/vorlesung/rs Kapitel 18 Andreas Mäder Universität Hamburg

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

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

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

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

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

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

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

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. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

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

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

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

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

é 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

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

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

, 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

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

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

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

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

Technische Informatik 2 Speichersysteme, Teil 3 Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

4.3 Hintergrundspeicher

4.3 Hintergrundspeicher 4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower

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

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

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 25. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

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

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

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

Hauptspeicherverwaltung - Memory Management

Hauptspeicherverwaltung - Memory Management Hauptspeicherverwaltung - Memory Management Operating Systems I SS21 Prof. H.D.Clausen - unisal 1 Speicherhierarchie Verarbeitung cache Sekundär- Speicher Primär- Speicher ALU SS21 Prof. H.D.Clausen -

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

CPU. Memory. Highest. Fastest. Smallest. Memory. Biggest. Lowest

CPU. Memory. Highest. Fastest. Smallest. Memory. Biggest. Lowest Speed CPU Size Cost ($/bit) Fastest Memory Smallest Highest Memory Slowest Memory Biggest Lowest Processor Data are transferred CPU Levels in the memory hierarchy Level Level 2 Increasing distance from

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

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

Ein- und Ausgabegeräte

Ein- und Ausgabegeräte Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen

Mehr

Cache II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Cache II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache II 1/14 2012-02-29 Schreibstrategien Es sind verschiedene Fälle

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

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

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

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung der Entwickler vom Speicher Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar

Mehr

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 15. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

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

RAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal.

RAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal. 11. s 11.1 Pufferspeicher Lesepuffer um vorauszulesen: - erste Leseoperation hat lange Latenzzeit, - Folgedaten vorsorglich schon gelesen, - "prefetch buffer". Schreibpuffer um ein Blockieren des schreibenden

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

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

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

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

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten

Mehr

Rechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt

Rechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 15 Speicherhierarchie und s Seite 1 Speicherhierarchie: Der Speicherraum wird in einzelne Schichten unterteilt, die

Mehr

Kapitel II. Einführung: Hardware und Software. VO Betriebssysteme

Kapitel II. Einführung: Hardware und Software. VO Betriebssysteme Kapitel II Einführung: Hardware und Software V 1 Computersysteme (1) omputer haben viele verschiedene Devices: Input/Output Devices Speicher Prozessor(en) Monitor auteile eines einfachen PCs Bus Computersysteme

Mehr

Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins

Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins 5 Main Memory Hauptspeicher Memories 2 Speichermodule SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins 3 Speichermodule 4 Speichermodule 5 Speichermodule 6 2 Hauptspeicher

Mehr

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 VU Technische Grundlagen der Informatik Übung 7: Speicher, Peripherie 183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

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

Vorlesung: Technische Informatik 3

Vorlesung: Technische Informatik 3 Rechnerarchitektur und Betriebssysteme zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme zhang@informatik.uni-hamburg.de Inhaltsverzeichnis 4. Computerarchitektur........................235

Mehr

7. Speicherverwaltung

7. Speicherverwaltung 7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische

Mehr

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Speicherorganisation

Speicherorganisation Speicherorganisation John von Neumann 1946 Ideal wäre ein unendlich großer, undendlich schneller und undendlich billiger Speicher, so dass jedes Wort unmittelbar, d.h. ohne Zeitverlust, zur Verfügung steht

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

HORUS. Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HWS Martin Scherer

HORUS. Seminar Ausgewählte Themen in Hardwareentwurf und Optik im HWS Martin Scherer HORUS Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HWS 2006 Martin Scherer Horus Inhalt 1 Einführung 2 Cachekohärenz 3 ExtendiScale Architektur 4 Übertragungsbeispiele 5 Performance Erweiterungen

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe16 Moritz Kaufmann

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme Betriebssysteme Sommersemester 2017 Betriebssysteme 5. Kapitel Adressumsetzung Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 5.1 Speicher schneller, teurer, kleiner Betriebssysteme Adressumsetzung

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

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

, SS2012 Übungsgruppen: Do., Mi.,

, SS2012 Übungsgruppen: Do., Mi., VU Technische Grundlagen der Informatik Übung 7: Speicher und Peripherie 183.579, SS2012 Übungsgruppen: Do., 31.05. Mi., 06.06.2012 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

Mehr

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

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

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

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) .Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme..007 Organisatorisches zur Übung Verteilung auf die beiden

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

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

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

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

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. Speicherverwaltung - Grundlegende Konzepte Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

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

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht Thema: Virtuelle Speicherverwaltung Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr