Technische Informatik 1

Größe: px
Ab Seite anzeigen:

Download "Technische Informatik 1"

Transkript

1 Technische Informatik 1 6 Speicherhierarchie Lothar Thiele Computer Engineering and Networks Laboratory

2 Arbeitsprinzipien 6 2

3 Übersicht Speicherhierarchie Ziele: Dem Benutzer möglichst viel Speicherkapazität zur Verfügung stellen. Möglichst kleine Zugriffszeit. Möglichst kostengünstig. SSD (solid state drive) HDD (hard disk drive) Zugriffszeit ns ns 50 70ns ms Grösse ~ 1kByte ~ 16MByte ~ 32GByte ~ 1000GByte Kosten/Mbyte $ $ $ 6 3

4 Plattenspeicher (Hard Disk Drive) 6 4

5 DRAM Architektur DRAM (dynamisch) SRAM (statisch) 6 5

6 Technologische Trends DRAM (dynamic random access memory) Speicherbausteine: Zugriffszeit sinkt mit etwa 6% pro Jahr Speicherkapazität steigt mit etwa 45% pro Jahr 6 6

7 Technologische Trends Zugriffszeit DRAM vs. Zykluszeit Prozessor Lücke 6 7

8 Ebenen der Speicherhierarchie Cache Architektur verantwortlich für Übertragung Blockgrösse Zugriffszeit schneller virtueller Speicher Hauptspeicher sekundärer Speicher CD/DVD/Magnetband Programm, Compiler 1 8 Bytes, 1 Taktzyklus Cache Steuerung (Hardware) Bytes, Taktzyklen Betriebssystem (Software) Bytes, 10M 100 M Taktzyklen Anwendungsprogramm (Software) Mbytes, grösser 6 8

9 Lokalität Die Effizienz der hierarchischen Speicherarchitektur basiert auf dem Prinzip der Lokalität: Programme greifen in einem kleinen Zeitintervall auf einen relativ kleinen, noch nicht referenzierten Teil des Adressraumes zu. Dies gilt sowohl für Instruktionen als auch für Daten. Es werden zwei unterschiedliche Arten der Lokalität unterschieden: Zeitliche Lokalität: Falls ein Datum oder eine Instruktion referenziert wird, so wird sie bald wieder referenziert. Örtliche Lokalität: Falls ein Datum oder eine Instruktion referenziert wird, werden bald Daten oder Instruktionen mit nahgelegenen Adressen referenziert. 6 9

10 Lokalität Zeitliche Lokalität: Falls ein Datum oder eine Instruktion referenziert wird, so wird sie bald wieder referenziert. Speichern von kürzlich benutzten Informationen näher am Prozessor, d.h. in einer oberen Ebene. Örtliche Lokalität: Falls ein Datum oder eine Instruktion referenziert wird, werden bald Daten oder Instruktionen mit nahgelegenen Adressen referenziert. Bewege Blöcke aus aufeinanderfolgenden Daten näher zum Prozessor, falls eines von Ihnen benutzt wird. 6 10

11 Arbeitsprinzipien Daten werden nur zwischen aufeinanderfolgenden Ebenen kopiert. Übertragungseinheit oder Blockgrösse (z.b. Datenblock, Seite): Die kleinste Informationseinheit, die in den zwei benachbarten Hierarchieebenen vorhanden oder nicht vorhanden sein kann. Beispiel: Cache / Hauptspeicher Adresse Prozessor Daten (schreiben) Daten (lesen) 6 11

12 Arbeitsprinzipien 1. Datenanfrage an die obere Ebene. 2. Feststellen in der oberen Ebene, ob die gesuchten Daten vorhanden sind Treffer (hit): Daten sind in der oberen Ebene vorhanden Fehlzugriff (miss): Daten müssen durch eine Datenanfrage aus der nächst unteren Ebene besorgt werden. 3. Weiterleiten der gesuchten Daten an die anfragende Ebene. Cache virtueller Speicher 6 12

13 Terminologie Hit Rate: Relativer Anteil der Speicherzugriffe, die in der oberen Ebene erfolgreich sind. Hit Zeit: Zugriffszeit zur oberen Ebene: Hit_Zeit = Zugriffszeit + Zeit_zur_Bestimmung_von_hit_miss Miss Rate: Relativer Anteil der Speicherzugriffe, die in der oberen Ebene nicht erfolgreich sind: Miss_Rate = 1 (Hit_Rate) Miss Strafe: Miss_Strafe = Zeit_zum_Finden_eines_Blocks_in_der_unteren_Ebene + Zeit_zum_Übertragen_zur_oberen_Ebene Mittlere Zugriffszeit: Mittlere_Zugriffszeit = Hit_Zeit + Miss_Strafe Miss_Rate 6 13

14 Implementierungsalternativen Wo kann ein Block platziert werden, wie wird er gefunden? direkte Abbildung teilassoziativ vollassoziativ Welcher Block sollte bei einem Miss ersetzt werden? zufällig am längsten unbenutzt Was geschieht beim Schreiben eines Blocks? durchgängiges Schreiben zurückkopieren 6 14

15 Cache Architekturen 6 15

16 Direkte Abbildung 5 Bit lange Speicheradresse [4 0] : 32 Daten im Hauptspeicher Teiladresse [2 0] : Cache Index (Adresse im Cache Speicher) Teiladresse [4 3] : Cache Tag (Marke zur Identifikation der Datenadresse) 6 16

17 Direkte Abbildung 6 17

18 Beispiele direkte Abbildung Cachegrösse: Wie gross ist ein direkter Cache für 64 kbyte Nutzdaten, Blockgrösse = 1 Wort = 4 Byte, byteweise Adressierung, Adresslänge 32 Bit? 64 kbyte = 2 16 Byte = 2 14 Worte Cachegrösse = 2 14 (32 + ( ) + 1) Bit = 803 kbit 100 kbyte Beispiel: Zugriffssequenz (8 Cacheblöcke, 32 Speicherblöcke): 6 18

19 Beispiele direkte Abbildung 6 19

20 Vergrösserung der Blockgrösse Cacheblock: Cachedaten, die ihren eigenen Tag besitzen. Vergrösserung der Blockgrösse: Vorteile: Ausnutzung der örtlichen Lokalität sowie effizientere Speicherung. Nachteile: weniger unabhängige Cacheblöcke im Cache und höhere Miss Strafe (Zeit zum Ersetzen eines Blocks ist grösser) Speichergrösse: L Bit breite Adresse, byteweise Adressierung, Cache mit 2 N Byte Nutzdaten, 2 M Byte pro Block Teiladressen: [L 1 N] Tag, [N 1 M] Cache Index, [M 1 0] Block+Byte offset Cachegrösse: (1 + (L N) M ) 2 (N M) Bit = 2 N Byte + (1 + L N) 2 (N M) Bit 6 20

21 Vergrösserung der Blockgrösse Diagramm eines Caches mit direkter Abbildung, 16 kbyte Nutzdaten, Blockgrösse 16 Worte, byteweise Adressierung, 32 Bit Adresslänge: 6 21

22 Vergrösserung der Blockgrösse: Vorteile und Nachteile Grosse Blöcke nutzen die örtliche Lokalität besser. Auf der anderen Seite gibt es bei grossen Blockgrösse nur wenige Blöcke im Cache. Programme arbeiten nicht nur auf nebeneinanderliegenden Daten (Datencache) und springen auch zwischen verschiedenen Softwarekomponenten (Instruktionscache). 6 22

23 Assoziativer Cache Probleme bei direkter Abbildung: Häufiger Miss aufgrund eines Konfliktes (mehrere Speicherblöcke werden auf einen Cacheindex abgebildet). Ungünstige festgelegte Ersetzungsstrategie bei einem Miss. Abhilfe: grösserer Cache oder mehrere Einträge pro Index (assoziativer Cache). Assoziativer Cache: K Einträge pro Index (K fache Assoziativität), K direkte Caches arbeiten parallel Der Cacheindex selektiert eine Menge von Blöcken, die Tags werden mit dem entsprechenden Adressanteil parallel verglichen, die Daten werden entsprechend dem Resultat des Vergleiches selektiert. 6 23

24 Vergleich von Cachestrukturen 1 fach assoziativ 2 fach assoziativ 4 fach assoziativ 8 fach assoziativ vollassoziativ 6 24

25 Diagramm eines teilassoziativen Caches 6 25

26 Vorteil der Assoziativität 6 26

27 Ersetzungstrategien Direkte Abbildung: Jeder Speicherblock kann nur auf einen Cacheblock abgebildet werden > keine Auswahl möglich Assoziativer Cache: Jeder Speicherblock kann auf einen von K Cacheblöcken abgebildet werden; bei vollassoziativem Cache: in irgendeinen Cacheblock. Einige Ersetzungsstrategien: Zufällige Auswahl des zu ersetzenden Blocks. Der am längsten unbenutzte Block wird ersetzt. Hardware speichert die jeweiligen Zugriffszeiten und ermittelt den ältesten Block (aufwändig). 6 27

28 Schreibalternativen Was passiert beim Schreiben vom Cache? Wie werden Informationen im Cache und im Hauptspeicher konsistent gehalten? Zurückkopieren ( write back ): Prozessor schreibt nur in den Cache; falls der Block bei einem Miss ersetzt wird, wird er in den Hauptspeicher kopiert. Ein dirty bit für jeden Cacheblock zeigt an, ob der Block zurückkopiert werden muss. Aufwändige Steuerung aber kleiner Bandbreitenbedarf zwischen Hauptspeicher und Cache. Schreibgeschwindigkeit richtet sich nach der des Caches und nicht des Hauptspeichers. Cache und Hauptspeicher können für lange Zeit inkonsistent sein (problematisch für Ein/Ausgabe von Daten und Mehrprozessor und Multicoresysteme). 6 28

29 Schreibalternativen Durchgängiges Schreiben ( write through ): Mit jedem Schreibvorgang wird auch der Hauptspeicher beschreiben. Verlieren wir nicht den Vorteil eines Caches? Verwendung eines Pufferspeichers zwischen Prozessor und Speicher: Prozessor schreibt in Cache und Pufferspeicher; Pufferspeicher wird kontinuierlich in den Hauptspeicher übertragen. Voraussetzung: mittlere_speicherrate < 1/Hautpspeicher_Schreibzykluszeit Prozessor Cache Hauptspeicher Puffer 6 29

30 Cache Architekturen Leistungsberechnungen 6 30

31 Leistungsberechnungen Grundlegende Gleichungen: CPU_Zeit = (CPU_Instruktionszyklen + CPU_Wartezyklen) Taktperiode CPU_Wartezyklen = Lese_Wartezyklen + Schreib_Wartezyklen Lese_Wartezyklen = Leseinstruktionen/Programm Lese_Miss_Rate Lese_Miss_Strafe/Taktperiode Schreib_Wartezyklen = (Schreibinstruktionen/Programm Schreib_Miss_Rate Schreib_Miss_Strafe/Taktperiode) + Schreibpuffer_Wartezyklen Vereinfachte Gleichung: CPU_Wartezyklen = Speicherinstruktionen/Programm Miss_Rate Miss_Strafe/Taktperiode + Instruktionen/Programm Miss/Instruktion Miss_Strafe/Taktperiode Datencache Instruktionscache 6 31

32 Beispiel Gegeben: Für ein bestimmtes Programm sind 33% aller Instruktionen Speicherinstruktionen, Miss Rate bei Instruktionen 5%, Miss Rate bei Daten 10%, CPI perfekt = 4, Miss_Strafe/Taktperiode 12 Zyklen. Frage: Um wieviel schneller wäre ein Rechner mit perfektem Cache? Antwort: Instruktions_Wartezyklen = Instruktionen 5% 12 = 0.6 Instruktionen Daten_Wartezyklen = Instruktionen 33% 10% 12 = 0.4 Instruktionen Wartezyklen = 1.0 Instruktionen CPI warten = (4 + 1) Zyklen/Instruktion CPU Zeit mit perfektem Cache ist um Faktor 5/4 besser. 6 32

33 Beispiel Gegeben sind die gleichen Randbedingungen wie zuvor. Frage: Wie steigt die Leistung des Rechners bei K facher Taktrate. Annahme: Speicher wird nicht schneller. Antwort: Wartezyklen = K 1.0 Instruktionen = K Instruktionen CPI schnell = (4 + K) Zyklen/Instruktion CPU_Zeit langsam / CPU_Zeit schnell = (Instruktionen CPI warten Taktrate) / (Instruktionen CPI schnell Taktrate / K) = K 5/ (4 + K) Beispiel: K = 6, Beschleunigungsfaktor =

34 Mehrere Cacheebenen L1 Cache: klein, schnell, möglichst kleine Hit_Time L2 Cache: behandelt Misses vom L1 Cache grösser als L1, langsamer als L1, schneller als Hautspeicher möglichst kleine Miss_Rate um Hauptspeicherzugriff zu vermeiden L3 Cache: findet sich vor allem in Multicore Prozessoren 6 34

35 Mehrere Cacheebenen Berechnungsbeispiel: nur Instruktions Cache (in diesem Beispiel) Taktrate 4 GHz; CPI = 1 (mit perfekten Caches); L1 Miss_Rate = 2% Zugriffszeit L2 Cache = 5ns ; L2 Miss_Rate = 10 % Zugriffszeit Hauptspeicher = 100ns Mit L1 Cache: Miss_Strafe/Taktperiode = 100ns/0.25ns = 400 Zyklen CPI = = 9 Mit L1 und L2 Cache: L1 Miss mit L2 Hit: Miss_Strafe/Taktperiode = 5ns / 0.25ns = 20 Zyklen L1 Miss mit L2 Miss: Miss_Strafe/Taktperiode = 105ns / 0.25ns = 420 Zyklen CPI = =

36 Speicher und Bus Die Kombination von Speicherarchitektur und Bussystem kann die Systemleistung stark beeinflussen. 6 36

37 Speicher und Bus Annahmen: 1 Buszyklus zum Übertragen der Adresse 15 Buszyklen für jeden Hauptspeicherzugriff 1 Buszyklus pro Datentransfer Beispiel 1 (Organisation a.): Blockgrösse 4 Worte, Speicher und Busbreite 1 Wort Miss_Strafe = ( ) Buszyklen = 62 Buszyklen 15 Zyklen 15 Zyklen 15 Zyklen 15 Zyklen Bandbreite = [(4 4) / 62] Bytes/Zyklus = Bytes/Zyklus Zeit 6 37

38 Speicher und Bus Beispiel 2 (Organisation b.): Blockgrösse 4 Worte, Speicher und Bus Breite 4 Worte Miss_Strafe = ( ) Buszyklen = 17 Buszyklen Bandbreite = (4 4) / 17 Bytes/Zyklus = 0.94 Bytes/Zyklus Beispiel 3 (Organisation c.): Blockgrösse 4 Worte, 4 Speicherbänke mit einer Breite von je einem Wort, Busbreite 1 Wort Miss_Strafe = ( ) Buszyklen = 20 Buszyklen Bandbreite = (4 4) / 20 Bytes/Zyklus 15 Zyklen = 0.8 Bytes/Zyklus 15 Zyklen 15 Zyklen 15 Zyklen 6 38

39 Speicherhierarchie Beispiel Intel i7 920 Prozessor: Grösse 13.5 x 19.6 mm, 731 Millionen Transistoren. 4 Prozessorkerne mit jeweils 32 KB L1 Instruktions und 32 KB L1 Daten Cache sowie einem 512 KB L2 Cache. Die 4 Prozessorkerne teilen sich einen gemeinsamen 8 MB L3 Cache. 6 39

40 Speicherhierarchie Beispiel 6 40

41 Cache Kohärenz 6 41

42 Cache Kohärenz Inkohärente Daten in Caches und Hauptspeicher: Problem bei Multiprozessorsystemen mit gemeinsamem Speicher, z.b. Multicoresystemen. 6 42

43 Cache Kohärenz 6 43

44 Cache Kohärenz 6 44

45 Cache Kohärenz 1. Falls ein Prozessor P den Inhalt einer Speicherzelle X liest, nachdem er sie mit dem Wert w beschrieben hat, dann ist der gelesene Wert w, sofern die Speicherzelle in der Zwischenzeit nicht durch einen anderen Prozessor beschrieben wurde. 2. Falls ein Prozessor P den Inhalt einer Speicherzelle X zur Zeit t 1 liest, nachdem ein anderer Prozessor die Speicherzelle mit dem Wert w zur Zeit t 0 beschrieben hat, dann ist der gelesene Wert w, sofern t 1 t 0 genügend gross ist, und die Speicherzelle in der Zeit zwischen t 0 und t 1 nicht neu beschrieben wurde. 3. Alle Prozessoren beobachten die gleiche Reihenfolge zweier Schreibbefehle auf die gleiche Speicherposition. 6 45

46 Cache Kohärenz: Snooping Protokoll Alle Prozessoren beobachten Datenübertragungen zwischen jedem Cache und dem gemeinsamen Speicher. 6 46

47 Cache Kohärenz: Snooping Protokolle Erweiterung der Status Bits jeder Cachezeile. Zusätzliche Cache Controller, die das jeweilige Cachekohärenz Protokoll implementieren. Zur Vermeidung von Zugriffskonflikten zwischen CPU und Bus werden Adressen Tags und Status Bits dupliziert (Snoop tag). Protokolle werden üblicherweise durch endliche Automaten dargestellt. Die Zustände sind den Cachezeilen zugeordnet und repräsentieren die aktuelle Situation. Protokollbeispiele: Write invalidate für write through Write invalidate für write back MESI (Modified, Exclusive, Shared Invalid) für write back 6 47

48 Cache Kohärenz: Write invalidate/write through Das Zustandsdiagramm ist auf eine Cachezeile von Prozessor P bezogen. Speicherung des Zustands durch ein Bit pro Cachezeile. verursacht durch Zugriff auf einen anderen Cache (remote cache) invalid RM WM SHW WH RH valid WM RM Auffüllen der Cachezeile aus dem Hauptspeicher RH: RM: WH: WM: SHW: Read Hit Read Miss Write Hit Write Miss Snoop Hit on Write Cache Line Fill Write Cache and Memory Speichern in die Cachezeile und in den Hauptspeicher Block, in den von einem anderem Prozessor geschrieben wird, ist in der Cachezeile 6 48

49 Cache Kohärenz: MESI Weit verbreitetes Write Invalidate Protokoll für Zurückkopieren (write back): MESI (Modified, Exclusive, Shared, Invalid). Modified: Es gibt nur eine Cachekopie mit Schreibberechtigung, Cacheinhalt stimmt nicht mit Hauptspeicher überein. Exclusive: Es gibt nur eine Cachekopie mit Schreibberechtigung, Cacheinhalt stimmt mit Hauptspeicher überein. Shared: Kein Prozessor hat Schreibberechtigung, Cacheinhalt stimmt mit Hauptspeicher überein. Invalid: Jeder Zugriff führt zu einem Miss. 6 49

50 Cache Kohärenz : MESI Zustände einer Cachezeile: 6 50

51 Cache Kohärenz : MESI Read Hit: Lokale Operation Read Miss: Prozessor signalisiert Read Miss auf dem Bus und initiiert einen Lesevorgang aus dem Hauptspeicher. Falls der Block in einem anderen Prozessor exclusive ist, wird er in beiden Prozessoren zu shared. Falls der Block in anderen Prozessoren shared ist, wird er in allen diesen Prozessoren zu shared. Falls der Block in einem anderen Prozessor modified ist, wird er zunächst in den Hauptspeicher geschrieben und dann in beiden Prozessoren zu shared. Falls der Block in keinem anderen Prozessor ist, wird er zu exclusive. 6 51

52 Cache Kohärenz : MESI Write Hit: Falls der Block shared ist, geht er in modified über. Hierzu signalisiert er intent tomodify und alle Prozessoren invalidieren den Block. Falls der Block exclusive ist, wird der Cache beschrieben und auf modified geändert. Falls der Block modified ist, wird der Cache beschrieben. Write Miss: Der Prozessor signalisiert zunächst intent to modify. Falls der Block in einem anderen Prozessor modified ist, wird er von ihm zunächst in den Hauptspeicher geschrieben und dann zu invalid. Falls der Block in anderen Prozessoren shared oder exclusiv ist, wird er in diesen Caches zu invalid. Anschliessend wird der Block in den Cache geschrieben und zu modified. 6 52

53 Cache Kohärenz : MESI WM invalid WM RME modified RMS RMS WH WH WM RMS WM shared Lokale Cache Operationen RMS exclusive RME RH RH RME Block ist in keinem anderen Cache RH: RMS: RME: WH: WM: SHW: SHRM: Read Hit Read Miss Shared Read Miss Exclusive Write Hit Write Miss Snoop Hit on Intent-to-Modify Snoop Hit on Read Miss Cache Line Fill Line Copyback Intent-to-Modify Block ist in einem anderen Cache exclusive, modified oder shared. WH RH RME 6 53

54 Cache Kohärenz : MESI Remote Cache Operationen SHW shared SHW invalid SHW SHRM SHRM exclusive RH: RMS: RME: WH: WM: SHW: SHRM: Read Hit Read Miss Shared Read Miss Exclusive Write Hit Write Miss Snoop Hit on Intent-to-Modify Snoop Hit on Read Miss Cache Line Fill Line Copyback Intent-to-Modify modified 6 54

55 Virtueller Speicher 6 55

56 Prozess «Prozess»: Die Instanz eines Programms (oder eines Teils davon), die vom Prozessor zu einem gewissen Zeitpunkt mit konkreten Eingabedaten ausgeführt wird. Ein Prozess besteht aus dem zugehörigen Programm Code sowie dem derzeitigen Zustand. Eigenschaften: Ein Prozess hat seinen eigenen privaten Adressraum. Zu seinem Zustand gehören zum Beispiel die Prozessor Register, der Programmzähler und Daten. In Kapitel 7 werden wir uns genauer mit der (quasi) parallelen Abarbeitung mehrerer Prozesse beschäftigen. 7FFF FFFF hex hex Stack Dynamic data Static data Text typischer Adressraum eines Prozesses 6 56

57 Gründe für die Verwendung virtueller Speicher 1. Manche Prozesse passen einschliesslich ihrer Daten nicht in den Hauptspeicher. 2. Viele Betriebssysteme erlauben die (quasi) gleichzeitige Ausführung mehrerer unabhängiger Prozesse, die jeweils ihren eigenen Adressraum (Bereich der Speicheradressen, auf die der Prozess zugreifen kann) haben. Falls nur ein Prozess den Hauptspeicher besetzt, kann ein Prozesswechsel zu erheblichen Startzeiten (Zeit, bis die erste Instruktion ausgeführt wird) führen. Damit alle Prozesse in den Hauptspeicher passen, müsste er sehr gross sein. Der Adressraum eines Prozesses sollte vom Zugriff anderer Prozesse geschützt werden (unabhängige Adressräume). 6 57

58 Virtueller Speicher Grundprinzipien 6 58

59 Grundprinzip Adressraum aus der Sicht eines Prozesses Adressraum aus der Sicht von Hauptspeicher und sekundärem Speicher Jeder Prozess hat seine eigene, private Adressübersetzung virtuelle Seite physikalische Seite 6 59

60 Virtueller Speicher vs. Cache Cache Die verschiedenen Cacheblöcke gehören üblicherweise zum gleichen Prozess. Cache Misses werden von der Hardware gelöst. Virtueller Speicher Ein Speicherblock wird als Seite (page) bezeichnet, ein Miss als Seitenfehler (page fault). Ein Prozess kann quasi gleichzeitig mit anderen Prozessen ausgeführt werden. Prozesse haben voneinander unabhängige virtuelle Speicherbereiche. Die Adressumsetzung (virtueller auf physikalischer Adressraum) erfolgt durch Hardware und Software. Seitenfehler werden über Software gelöst. 6 60

61 Adressabbildung Abbildung von virtueller Seite auf physikalische Seite. Adressierung innerhalb einer Seite Seitengrösse 2 12 Byte = 4 KByte maximale Zahl physikalischer Seiten 2 18 maximale Zahl virtueller Seiten 2 20 ; adressierbarer physikalischer Speicher 1 GByte Grösse des virtuellen Adressraums 4 GByte 6 61

62 Implementierungsalternativen Wo kann ein Block platziert werden, wie wird er gefunden? Üblicherweise vollassoziative Platzierung da die Kosten zur Beseitigung eines Seitenfehlers sehr hoch sind ( Millionen Taktzyklen). Auffinden einer Seite im Hauptspeicher erfolgt üblicherweise über eine Tabelle (Seitentabelle), die virtuelle auf physikalische Adressen abbildet. Jeder Prozess besitzt seine eigene Seitentabelle. Welcher Block sollte bei einem Miss ersetzt werden? Üblicherweise LRU (least recently used, am längsten unbenutzt) oder eine Annäherung mit weniger Speicher und Rechenaufwand. Was geschieht beim Schreiben eines Blocks? Zurückkopieren, da das Schreiben in den sekundären Speicher zu lange dauert und zudem Seitenfehler im Vergleich zu Cache Misses selten sind. 6 62

63 Seitentabelle Zeiger auf die Seitentabelle des derzeit ausgeführten Prozesses. zumindest ist noch ein dirty bit notwendig Jeder Prozess besitzt seine eigene Seitentabelle. Zunächst gehen wir davon aus, dass die Seitentabellen im Hauptspeicher gespeichert sind. Im Beispiel besitzt eine Seitentabelle 2 20 Einträge. Eine Zeile der Seitentabelle enthält üblicherweise noch Bits, die Informationen über Zugriffsrechte enthalten. 6 63

64 Seitenfehler Wie wird ein Seitenfehler erkannt? Das Valid Bit in der Seitentabelle ist 0. Eine Unterbrechung des Prozessablaufs wird erzeugt und die Kontrolle an das Betriebssystem übergeben. Es ist verantwortlich für die gesamte Prozessorganisation und somit auch für die Organisation des virtuellen Speichers. Wo ist die Seite im sekundären Speicher? Betriebssystem unterhält eine Datenstruktur, in der diese Information enthalten ist. Diese Information kann auch in die Seitentabelle integriert sein. Welche Seite im Hauptspeicher wird ersetzt? Üblicherweise wird eine Annäherung an LRU (least recently used) benutzt: Ein Referenz Bit für eine Seite wird auf 1 gesetzt, falls die Seite benutzt wird (genaue Erklärung folgt später). Wann wird die Seite vom Hauptspeicher in den sekundären Speicher kopiert? Falls in die Seite geschrieben wurde; dies wird durch ein Dirty Bit signalisiert. 6 64

65 Seitenfehler Eine Seite wird in den sekundären Speicher geschrieben, falls sie ersetzt wird und sie zuvor beschrieben wurde (Dirty = 1 ). Bei einem Seitenfehler wird eine gültige Seite (Valid = 1 ) mit Ref = 0 ersetzt. 6 65

66 Performanz Seitenfehler Annahmen: Die Architektur besitzt keinen Cache. Falls der Zugriff auf die Seitentabelle zu einem Seitenfehler führt, dann wird er zunächst behoben und dann erfolgt ein neuer Zugriff auf die Seitentabelle. Seitenfehler Rate: p mit 0 p 1. Falls p == 0 dann gibt es keine Seitenfehler; falls p==1 dann ist jeder Zugriff ein Seitenfehler. Mittlere Zugriffszeit zum Hauptspeicher: h Mittlere Seitenfehler Bearbeitungszeit: f Effektive Speicherzugriffszeit (Effective Access Time EAT): EAT = 2 h + p (h + f) erster Zugriff auf die Seitentabelle (Fehler wird danach festgestellt) sowie Beheben des Fehlers. in jedem Fall erfolgt der Zugriff auf die Seitentabelle (im Hauptspeicher) und der Zugriff auf die gesuchten Daten. 6 66

67 Rechenbeispiel Performanz Seitenfehler Speicherzugriffszeit 200 Nanosekunden Mittlere Seitenfehler Bearbeitungszeit 8 Millisekunden Seitenfehler Rate 10 3 Wie hoch ist die effektive Speicherzugriffszeit? EAT = ns + p (8 ms ns) = 400 ns ns ns = ns Für p = 10 3 beträgt die EAT also etwa 8.4 µs. Dies ist eine Verlangsamung etwa um den Faktor 42 gegenüber einem direkten Speicherzugriff. 6 67

68 Problem 1: Grösse der Seitentabelle Beispiel für einen Prozess: 32 Bit virtueller Adressraum, Seitengrösse 2 12 Byte, 4 Bytes pro Tabelleneintrag: Zahl der Einträge = 2 32 / 2 12 = 2 20 ; Grösse der Tabelle = 2 20 * 2 2 Bytes = 4 Mbyte Eigentlich müssten die Seitentabellen aller Prozesse im Hauptspeicher liegen. Möglichkeiten der Abhilfe: Durch geeignete Datenstrukturen werden entweder nur die Einträge der tatsächlich verwendeten virtuellen Seiten gespeichert oder die Grösse der Tabelle entspricht der maximalen Zahl an Seiten im Hauptspeicher (wird in der Vorlesung nicht weiter behandelt). Die Verwaltung aller Tabellen wird in einem Prozess ausgeführt, der Teil des Betriebssystems ist. Dieser Prozess verwendet ebenfalls einen virtuellen Adressraum, d.h. die Seitentabellen sind ihrerseits auf virtuelle Seiten aufgeteilt und können im sekundären Speicher liegen. 6 68

69 Hierarchischer Aufbau einer Seitentabelle Die Seitentabelle wird in Teiltabellen (innere Seitentabellen) aufgeteilt. Ziel: Es werden lediglich diejenigen inneren Seitentabellen (inner page table) gespeichert, die tatsächlich genutzten virtuellen Speicherbereichen zugeordnet sind. outer page table inner page table inner page tables Die äussere Seitentabelle enthält Einträge, die auf die inneren Seitentabellen zeigen. Vorteil: Für ungenutzte virtuelle Speicherbereiche ist nicht notwendigerweise eine innere Seitentabelle erforderlich. 6 69

70 Beispiel Zweistufige Seitentabelle 2 10 Zeilen Annahmen: Seitengrösse 4kB 4 Bytes pro Eintrag in der «inner page table» 2 10 Zeilen physikalische Seite: 4 kb 6 70

71 Problem 2: Aufwändige Ersetzungsstrategie Welche Seite soll ersetzt werden, falls keine freie physikalische Seite verfügbar ist? Ziel: Algorithmus mit minimaler Zahl von Seitenfehlern. Problem: LRU (least recently used) ist aufwendig, da jeweils die physikalische Seite bestimmt werden muss, die am längsten unbenutzt ist. Eine mögliche Lösung: Approximation mittels Referenz Bit («second chance»): Jede Seite erhält ein Referenz Bit. Falls eine Seite benutzt wird, wird Ref= 1 gesetzt. Ein Zeiger auf die physikalischen Seiten wird definiert. Die folgende Schritt wird bei jedem Seitenfehler so oft durchgeführt, bis eine Seite ersetzt wird: Falls der Zeiger auf eine Seite mit 0 zeigt, dann diese Seite ersetzen und den Zeiger inkrementieren (auf die nächste Seite zeigen, zirkulär). Falls der Zeiger auf eine Seite mit 1 zeigt, dann das Referenz Bit auf 0 setzen und den Zeiger inkrementieren (auf die nächste Seite zeigen, zirkulär). 6 71

72 Problem 2: Aufwändige Ersetzungsstrategie Seitenfehler: diese Seite wird ersetzt 6 72

73 Virtueller Speicher Translation Lookaside Buffer (TLB) 6 73

74 Problem 3: Zugriffsgeschwindigkeit Jeder Speicherzugriff besteht nun aus zwei Zugriffen: Bestimmung der physikalischen Adresse sowie Datenzugriff. Abhilfe: Spezieller Hardware Cache für die Seitentabelle: Translation Lookaside Buffer (TLB). Damit gibt es zwei Klassen von Misses: TLB Miss sowie Seitenfehler. TLBs verwenden üblicherweise «Zurückkopieren» (write back), da Misses selten sind. 6 74

75 TLB als Cache für die Seitentabellen voll assoziativ oder auch teil assoziativ 6 75

76 Überblick Cache TLB Datenpfad und Kontrollpfad translation lookaside buffer (TLB) 1. Cache Ebene 2. Cache Ebene Bus: Verbindung zwischen Komponenten Hauptspeicher 6 76

77 Beispiel: Cache TLB voll assoziativer TLB Cache mit direkter Abbildung getrennter Tag und Daten Zugriff im Cache (kein Multiplexer) 6 77

78 Verarbeitung von Lesen und durchgängigem Schreiben Write Access Bit schützt gewisse Seiten vor dem Schreibzugriff; Teil des Speicher Schutzes (später mehr dazu ) Annahme: Der Cache ist «physikalisch» organisiert (Tags und Indizes). Er könnte auch virtuell organisiert sein (Indizes und eventuell auch Tags); dies wird hier nicht weiter ausgeführt. 6 78

79 Performanz TLB Miss ohne Seitenfehler Annahmen: Die Architektur besitzt keinen Cache. Es tritt kein Seitenfehler auf. Falls der Zugriff auf den TLB zu einem Miss führt, dann wird er zunächst behoben und dann erfolgt ein erneuter Zugriff auf den TLB. Zugriffs und Suchzeit im assoziativen TLB: s Miss Rate: m mit 0 m 1 Mittlere Zugriffszeit zum Hauptspeicher: h Mittlere TLB Miss Bearbeitungszeit: o Effektive Speicherzugriffszeit (Effective Access Time EAT): EAT = (s + h) + m (s + o) 6 79

80 Virtueller Speicher TLB Miss und Seitenfehler 6 80

81 Seitenfehler und TLB Miss Auflösen von TLB Miss und Seitenfehler: Der gesamte Vorgang ist komplex und stellt hohe Anforderungen an die Hardware und Softwarearchitektur, z.b. exakte Unterbrechungen von Instruktionen sowie Unterbrechungen der Betriebssystemprozesse. Es folgt eine von vielen Möglichkeiten: TLB Miss Ein TLB Miss führt zu einer Programmunterbrechung (Ausnahmefehler). Die Kontrolle wird an das Betriebssystem übergeben, das folgende Aktionen ausführt: Eine Zeile im TLB wird ausgewählt, die ersetzt werden soll. Aus der Adresse der fehlenden virtuellen Seite sowie der Basisadresse der derzeit gültigen Seitentabelle wird der im TLB fehlende Adresseintrag in der Seitentabelle ermittelt. Dieser fehlende Eintrag wird in die freie Zeile im TLB übertragen. Zurückkehren zum unterbrochenen Prozess. 6 81

82 Seitenfehler und TLB Miss Seitenfehler (page fault) Der Zugriff auf eine Speicheradresse führt im TLB auf einen Eintrag mit Valid == 0. Eine Unterbrechung des Programmablaufs wird erzwungen und das Betriebssystem führt drei Schritte durch: 1. Der Eintrag im TLB führt zum Ort der fehlenden Seite im sekundären Speicher. 2. Eine Seite im Hauptspeicher wird ausgewählt, die ersetzt werden soll. Ist die Seite verändert worden (Dirty == 1 ), wird sie zunächst in den sekundären Speicher geschrieben und die Einträge in der Seitentabelle und im TLB aktualisiert (Valid = 0 ). 3. Die fehlende Seite wird vom sekundären Speicher in den Hauptspeicher kopiert und die entsprechende Einträge in der Seitentabelle und im TLB werden aktualisiert

83 Ablauf einer Seitenfehler Behandlung TLB fault handling TLB miss exception Processor TLB 1. Prozessor sendet virtuelle Adresse (VA) an TLB. Annahme TLB Miss Laden des fehlenden Seitentabellen Eintrages (PTE) mit der Adresse PTEA in den TLB. 6 83

84 Ablauf einer Seitenfehler Behandlung page fault exception Processor TLB 1. Prozessor sendet virtuelle Adresse (VA) an TLB. Annahme TLB Miss Laden des fehlenden Seitentabellen Eintrages (PTE) mit der Adresse PTEA in den TLB. 4. Annahme Seitenfehler (Valid == 0 ). Verzweigung zum Programm, das die Ausnahme behandelt. 6 84

85 Ablauf einer Seitenfehler Behandlung page fault exception Processor TLB 1. Prozessor sendet virtuelle Adresse (VA) an TLB. Annahme TLB Miss Laden des fehlenden Seitentabellen Eintrages (PTE) mit der Adresse PTEA in den TLB. 4. Annahme Seitenfehler (Valid == 0 ). Verzweigung zum Programm, das die Ausnahme behandelt. 5. Fehlerbehandlungsprogramm bestimmt eine Seite im Hauptspeicher, deren Inhalt ersetzt werden soll. Annahme: sie wurde zuvor nicht beschrieben (Dirty == 0 ). 6 85

86 Ablauf einer Seitenfehler Behandlung page fault exception Processor TLB 1. Prozessor sendet virtuelle Adresse (VA) an TLB. Annahme TLB Miss Laden des fehlenden Seitentabellen Eintrages (PTE) mit der Adresse PTEA in den TLB. 4. Annahme Seitenfehler (Valid == 0 ). Verzweigung zum Programm, das die Ausnahme behandelt. 5. Fehlerbehandlungsprogramm bestimmt eine Seite im Hauptspeicher, deren Inhalt ersetzt werden soll. Annahme: sie wurde zuvor nicht beschrieben (Dirty == 0 ). 6. Die neue Seite wird in den Hauptspeicher geschrieben. 6 86

87 Ablauf einer Seitenfehler Behandlung page fault exception TLB 1. Prozessor sendet virtuelle Adresse (VA) an TLB. Annahme TLB Miss Laden des fehlenden Seitentabellen Eintrages (PTE) mit der Adresse PTEA in den TLB. 4. Annahme Seitenfehler (Valid == 0 ). Verzweigung zum Programm, das die Ausnahme behandelt. 5. Fehlerbehandlungsprogramm bestimmt eine Seite im Hauptspeicher, deren Inhalt ersetzt werden soll. Annahme: sie wurde zuvor nicht beschrieben (Dirty == 0 ). Die neue Seite wird 6. Die neue Seite wird in den Hauptspeicher geschrieben. 7. Der «page fault handler» kehrt zum ursprünglichen Prozess zurück. 6 87

88 Kommunikation zwischen Komponenten 6 88

89 Ein/Ausgabe (Input/Output I/O) 6 89

90 Befehle vom Prozessor an die E/A Einheit Speicheradressierte Ein/Ausgabe (memory mapped I/O): Teile des Adressraumes sind den E/A Einheiten zugewiesen. Schreiben und Lesen zu diesen Adressen bzw. Registern wird als Befehl an die E/A Einheit interpretiert: Steueradressen veranlassen die E/A Einheit zu agieren, Statusadressen zeigen die derzeitige Aktivität oder Fehlermeldungen an, Datenadressen dienen dem Datentransfer zwischen Prozessor und E/A Einheit Benutzerprogrammen ist es oft nicht erlaubt, direkt auf E/A Adressen zuzugreifen. Sie werden vom Betriebssystem verwaltet (siehe Kapitel 7). 6 90

91 Übersicht speicheradressierte Ein/Ausgabe Datenpfad und Kontrollpfad translation lookaside buffer (TLB) 1. Cache Ebene 2. Cache Ebene Bus: Verbindung zwischen Komponenten Hauptspeicher E/A Einheit 6 91

92 Information von der E/A Einheit an Prozessor Ein Prozess muss wissen, wann die E/A Einheit eine Operation abgeschlossen hat oder die E/A Operation einen Fehler verursacht hat. Diese Information kann auf zwei Arten übermittelt werden: Polling: Die E/A Einheit gibt Informationen in ein Statusregister, periodisches Abfragen der Statusadresse. E/A Unterbrechung: Falls die E/A Einheit Aufmerksamkeit vom Prozessor benötigt, unterbricht sie ihn im laufenden Programm (siehe Kapitel 3). 6 92

93 Datenaustausch zwischen I/O Einheit und Prozessor Problem: Belastung des Prozessors mit Datenaustausch zwischen Speicher und anderen Komponenten, z.b. Netzwerkzugang, externer Speicher. Abhilfe: spezieller Ein/Ausgabe Prozessor, der für die Datenübertragung zuständig ist: DMA (direct memory access). DMA: ausserhalb der CPU angesiedelt (logisch, nicht unbedingt physikalisch) überträgt Datenblöcke zu oder vom Speicher unabhängig vom Prozessor unterbricht den Prozessor, falls der gesamte Datentransfer abgeschlossen ist 6 93

94 DMA Prinzipieller Aufbau und Ablauf: Der Prozessor sendet die Startadresse der Daten, das Ziel der Übertragung und die Zahl der Daten zur DMA Komponente. Bus Die DMA Komponente liefert die Steuersignale und die fortlaufenden Adressen, die über den Bus zu den beteiligten Komponenten (z.b. Speicher und Ein/Ausgabe Einheit) geleitet werden. 6 94

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

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

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

é 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

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

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

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

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

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

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

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

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

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

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

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

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

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

, 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

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg Cache-Kohärenz und -Konsistenz Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: 3220501 Universität Heidelberg Inhaltsverzeichnis Wozu Caches? Unterschied Kohärenz und Konsistenz MESI-Protokoll Fazit 2

Mehr

Speicherarchitektur (1)

Speicherarchitektur (1) Speicherarchitektur () Die 3 wichtigsten Speichertechnologien: Technologie Typische Zugriffszeiten $ pro Megabyte 997 SRAM 5 25 ns $00 $250 DRAM 60 20 ns $5 $0 Magnetplatten 0 20 Millionen ns $0,0 $0,20

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

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

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

Rechnerarchitektur SS 2012

Rechnerarchitektur SS 2012 Rechnerarchitektur SS 2012 Cachekohärenz Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 11. Juni 2013 Speicher in MP-Systemen Zentrales

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

(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

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

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

, 2015W Übungsgruppen: Mo., Mi.,

, 2015W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2015W Übungsgruppen: Mo., 11.01. Mi., 13.01.2016 Aufgabe 1: Cache-Adressierung Ihr Cachingsystem soll 32 GiB an Speicher auf

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 1

Technische Informatik 1 Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem

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

Rechnerarchitektur SS 2012

Rechnerarchitektur SS 2012 Rechnerarchitektur SS 2012 Cachekohärenz TU Dortmund, Fakultät für Informatik XII Literatur: Hennessy/Patterson: Computer Architecture, 3. Auflage, 2003, Abschnitte 6.2, S. 549ff und 6.5, S. 576ff. Huang:

Mehr

Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle

Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle Architecture of Parallel Computer Systems WS15/16 J.Simon 1 SC mit Write-Back Caches Beweisidee: Behandlung von Reads wie beim Write-Through

Mehr

11. Caches Pufferspeicher

11. Caches Pufferspeicher Lesepuffer um vorauszulesen: - erste Leseoperation hat lange Latenzzeit, - Folgedaten vorsorglich schon gelesen, - "prefetch buffer". 11. s 11.1 Pufferspeicher Schreibpuffer um ein Blockieren des schreibenden

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

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

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

1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten

1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten McFarling [1989] konnte Cache Misses um 75% in 8KB direkt abbildenden Caches durch Softwaremaßnahmen senken. Instruktionen Umordnen im Speicher, um Conflict-Misses zu reduzieren Profiling : spezielle Konfliktvermeidungsmaßnahmen

Mehr

Vorlesung Rechnerarchitektur. Speicher V 1.2

Vorlesung Rechnerarchitektur. Speicher V 1.2 Speicher V 1.2 Speicheranbindung früher und heute Bei der MU0 wurde der Speicher in einem Taktzyklus gelesen und geschrieben Dieses Verhalten war für ältere Rechner charakteristisch und stimmt auch noch

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

Einfaches MSI-Writeback-Inval-Protokoll

Einfaches MSI-Writeback-Inval-Protokoll Einfaches MSI-Writeback-Inval-Protokoll Write-Back Cache typischerweise Write-allocate bei einem Write-Miss Zustände Invalid (I): Shared (S): Kopien in einem oder mehreren Caches Dirty or Modified (M):

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

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

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012 Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012 Die beigefügte Lösung ist ein Vorschlag. Für Korrektheit, Vollständigkeit und Verständlichkeit wird keine

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

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

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

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

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

(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

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

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

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

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

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 11 am 06.07.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister

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

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

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

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

Das Konzept der Speicherhierarchie

Das Konzept der Speicherhierarchie Das Konzept der Speicherhierarchie Small is fast, daher sind kleine Speicher schneller (und kosten mehr pro Byte). Vergrößerung von Speichern und schnellerer Zugriff sind aber Schlüsselfunktionen in der

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

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

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

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

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

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

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

Ü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

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

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

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

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

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

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero Virtueller Speicher WS / Virtuelle Speicher Bis jetzt sind wir davon ausgegangen, dass Prozesse komplett im Hauptspeicher gelagert werden. Speicherreferenzen sind nur logische Adressen, die dynamisch in

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

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

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

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

Inhalt Teil 10 (Caches) aus 6. Speicherorganisation

Inhalt Teil 10 (Caches) aus 6. Speicherorganisation Inhalt Teil 10 (Caches) aus 6. Speicherorganisation 1 6.2 Caches 6.2.1 Systemstrukturen 6.2.2 Laden des Cache 6.2.3 Cache-Strukturen Vollassoziativer Cache Direkt zuordnender Cache N-fach assoziativer

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

Speicherarchitektur (16)

Speicherarchitektur (16) Zuweisungsstrategien für Cacheblocks: direct-mapped Speicherarchitektur (16) voll-assoziativ mengen-assoziativ Beispiel: Vorlesung Rechnersysteme SS `09 E. Nett 15 Speicherarchitektur (16) Konfigurationsmöglichkeiten

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

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

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast Quantitative Prinzipien im Hardwareentwurf 1. Small is fast Kleine Hardwareeinheiten schalten in der Regel schneller als größere. Kleine Transistoren bilden an ihren Gates kleinere Kapazitäten die Source-Drain

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr