Rechnerorganisation. Überblick über den Teil 13

Größe: px
Ab Seite anzeigen:

Download "Rechnerorganisation. Überblick über den Teil 13"

Transkript

1 Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung des Cache Speichers XL TOY mit Paged Memory Memory Management Unit und Virtueller Speicher

2 aktiv passiv ro_kap3_ttoy_.v aktiv passiv Bus idle Bus busy Bus idle A B C D A ro_kap3_ttoy_.v 2

3 aktiv passiv ADD, SUB, LDA, LD, ST, BZ, HLT ro_kap3_ttoy_.v ro_kap3_ttoy_2.v 3

4 4? ro_kap3_ttoy_2.v ro_kap3_ttoy_2.v

5 5 ro_kap3_ttoy_2.v ro_kap3_ttoy_2.v sel

6 6 ro_kap3_ttoy_2.v sel ro_kap3_ttoy_2.v sel

7 7 ro_kap3_ttoy_2.v sel ro_kap3_ttoy_2.v sel

8 8 ro_kap3_ttoy_2.v sel ARB sel ro_kap3_ttoy_2.v sel ARB sel?

9 9 ro_kap3_ttoy_2.v sel ARB sel p_ p _ p_ p_ p p_ p p_ ro_kap3_ttoy_2.v ARBITER + BUS _ p_

10 ASM Diagramm des Arbiter Anfangs zustand sel = G sel = G Bus busy Bus busy sel = GW sel = GW ASM Diagramm des Arbiter G Anfangs zustand sel = sel = G Bus busy Bus busy sel = GW sel = GW

11 ASM Diagramm des Arbiter Anfangs zustand sel = G sel = G Bus busy Bus busy sel = GW sel = GW ASM Diagramm des Arbiter Anfangs zustand sel = G sel = G Bus busy Bus busy sel = GW sel = GW

12 ASM Diagramm des Arbiter Anfangs zustand sel = G sel = G Bus busy Bus busy sel = GW sel = GW ASM Diagramm des Arbiter sel = G sel = G p_ p_ p_ p_ sel = GW sel = GW 2

13 ARB sel p_ p_ ro_kap3_ttoy_2.v Der Test ro_kap3_ttoy_2.v 3

14 2 verschiedene Programme; jedes hat seine eigenen Daten ro_kap3_ttoy_3.v 2 verschiedene Programme; jedes hat seine eigenen Daten beginnt bei x: beginnt bei x2: ro_kap3_ttoy_3.v 4

15 2 verschiedene Programme; jedes hat seine eigenen Daten beginnt bei x: beginnt bei x2: ro_kap3_ttoy_3.v 2 verschiedene Programme; jedes hat seine eigenen Daten beginnt bei x: beginnt bei x2: ro_kap3_ttoy_3.v 5

16 2 verschiedene Programme; jedes hat seine eigenen Daten beginnt bei x: beginnt bei x2: ro_kap3_ttoy_3.v 2 verschiedene Programme; jedes hat seine eigenen Daten beginnt bei x: beginnt bei x2: ro_kap3_ttoy_3.v

17 beginnt bei x beginnt bei x2 2 verschiedene Programme ro_kap3_ttoy_3.v beginnt bei x beginnt bei x2 2 verschiedene Programme ro_kap3_ttoy_3.v 7

18 2 verschiedene Programme; beide greifen auf das gleiche Datum zu ro_kap3_ttoy_4.v 2 verschiedene Programme; beide greifen auf das gleiche Datum zu beginnt bei x: beginnt bei x2: ro_kap3_ttoy_4.v 8

19 beginnt bei x beginnt bei x2 2 verschiedene Programme ro_kap3_ttoy_4.v beginnt bei x beginnt bei x2 2 verschiedene Programme ro_kap3_ttoy_4.v 9

20 Das Synchronisationsproblem ro_kap3_ttoy_4.v Das Synchronisationsproblem : : ro_kap3_ttoy_4.v 2

21 Das Synchronisationsproblem : A: : ro_kap3_ttoy_4.v Das Synchronisationsproblem : liest Wert von A A: : ro_kap3_ttoy_4.v 2

22 Das Synchronisationsproblem : liest Wert von A (R3 ) A: : ro_kap3_ttoy_4.v Das Synchronisationsproblem : A: : liest Wert von A (R3 ) liest Wert von A ro_kap3_ttoy_4.v 22

23 Das Synchronisationsproblem : A: : liest Wert von A (R3 ) liest Wert von A (R3 ) ro_kap3_ttoy_4.v Das Synchronisationsproblem : liest Wert von A (R3 ) addiert A: : liest Wert von A (R3 ) ro_kap3_ttoy_4.v 23

24 Das Synchronisationsproblem : liest Wert von A (R3 ) addiert A: : liest Wert von A (R3 ) subtrahiert ro_kap3_ttoy_4.v Das Synchronisationsproblem : A: : liest Wert von A (R3 ) liest Wert von A addiert (R3 ) schreibt Wert A subtrahiert ro_kap3_ttoy_4.v 24

25 : Das Synchronisationsproblem liest Wert von A (R3 ) addiert A: : liest Wert von A (R3 ) schreibt Wert A subtrahiert A: ro_kap3_ttoy_4.v : Das Synchronisationsproblem A: : liest Wert von A (R3 ) liest Wert von A addiert (R3 ) schreibt Wert A subtrahiert A: schreibt Wert A ro_kap3_ttoy_4.v 25

26 : Das Synchronisationsproblem A: : liest Wert von A (R3 ) liest Wert von A addiert (R3 ) schreibt Wert A subtrahiert A: schreibt Wert A A: FFFF ro_kap3_ttoy_4.v Synchronisationsproblem Das Problem taucht auch auf, wenn auf einer mehrere Prozesse parallel l laufen. Dieses Problem wird auf Betriebssystemebene gelöst. Lösung mit sogenannten Semaphoren oder Locks Locks. 26

27 27 ARBITER + BUS Aktive Seite Passive Seite a_ a a_ p_ di p_ (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_

28 28 ARBITER + BUS Aktive Seite Passive Seite Fetch/Execute a_ a a_ p_ di p_ / (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_ ARBITER + BUS Aktive Seite Passive Seite a_ a a_ p_ di p_ (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_

29 29 ARBITER + BUS Aktive Seite Passive Seite a_ a a_ p_ di p_ (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_ ARBITER + BUS Aktive Seite Passive Seite a_ a a_ p_ di p_ (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_

30 3 ARBITER + BUS Aktive Seite Passive Seite a_ a a_ p_ di p_ (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_ ARBITER + BUS Aktive Seite Passive Seite Die kann inzwischen was Anderes machen. a_ a a_ p_ di p_ (aktiver Teil) a_ a_ a_ a_ Disk (passiver Teil) p_ p_ p_ p_

31 Die kann Aktive Seite inzwischen was Anderes machen. ARBITER + BUS Passive Seite Disk (aktiver Teil) a_ a_ a_ a_ a_ a_ p_ p_ p_ p_ (passiver Meldung über p_ Teil) Beendigung p_ des Transfers per Interrupt. 2 Daten Transfer Disk 3

32 Daten Transfer 2 Disk 2 8 Daten Transfer 2 Disk Controller

33 Daten Transfer 2 phy_mem_ Disk virt_mem_ Daten Transfer phy_mem_ Disk

34 2 virt_mem_ Daten Transfer phy_mem_ Disk data virt_mem_ Daten Transfer phy_mem_ Disk data

35 2 virt_mem_ Daten Transfer phy_mem_ Disk data virt_mem_ Daten Transfer phy_mem_ Disk amount data

36 2 virt_mem_ Daten Transfer phy_mem_ Disk amount control start, finished (interrupt) data 2 8 virt_mem_ Daten Transfer 2 phy_mem_ Disk amount control start, finished (interrupt) data

37 37 p_ p_ p_ q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_ p_ p_ p_ q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_

38 38 p_ p_ p_ >= xfc q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_ p_ p_ p_ >= xfc q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_

39 39 p_ p_ p_ >= xfc q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_ p_ p_ p_ >= xfc q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_

40 4 p_ p_ p_ >= xfc q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_ p_ p_ p_ >= xfc q a_ a a_ p_ di p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ p_ p_

41 >= xfc p_ p_ p_ p_ p_ samt Disk (aktiver Teil) a_ a_ a_ a_ a_ a_ p_ ARB+ BUS p_ p_ p_ p_ (passiver p_ Teil) p_ Und jetzt ersetzen wir T TOY mit L TOY ro_kap3_ltoy_.v _ 4

42 42 >= xfc p_ p_ p_ a_ a a_ p_ k p_ p_ p_ p_ p_ p_ p_ ARB+ BUS samt Disk (aktiver Teil) a_ a_ a_ a_ (passiver Teil) p_ p_ >= xfc p_ p_ ARB+BUS p_ k p_ p_ p_ p_ p_ p_ p_ p_ a_ a_ a_ a_ a_ a _

43 43 ARB + BUS p_ k p_ p_ p_ p_ p_ a_ a_ a_ a_ a_ a_ ARB + BUS p_ k p_ p_ p_ p_ p_ a_ a_ a_ a_ a_ a_

44 ARB + BUS seitiger Cache Speicher 44

45 CACHE B U S CACHE B U S I/O Gerät Standard Input, Standard Output Timer 45

46 CACHE BUS CACHE ARB + BUS 46

47 CACHE ARB + BUS Controller inklusive Disk ro_kap3_ltoy_3.v CACHE ARB + BUS Controller inklusive Disk ro_kap3_ltoy_3.v 47

48 CACHE Programm: Transfer von Disk zu. Polling ob fertig. Transfer von zu Disk. Polling ob fertig. ro_kap3_ltoy_3.v ARB + BUS CACHE Programm: Transfer von Disk zu. Polling ob fertig. Transfer von zu Disk. Polling ob fertig. ro_kap3_ltoy_3.v ARB + BUS Controller inklusive Disk Controller inklusive Disk 48

49 CACHE Programm: Transfer von Disk zu. Polling ob fertig. Transfer von zu Disk. Polling ob fertig. ro_kap3_ltoy_3.v ARB + BUS CACHE Programm: Transfer von Disk zu. Polling ob fertig. Transfer von zu Disk. Polling ob fertig. ro_kap3_ltoy_3.v ARB + BUS Controller inklusive Disk Controller inklusive Disk 49

50 CACHE cacheable Die I/O Register müssen vom Caching ausgenommen werden: ARB + BUS ro_kap3_ltoy_3.v CACHE cacheable cpu_ < xf Die I/O Register müssen vom Caching ausgenommen werden: Adressen xfc xff non cacheable. Ein eigenes Register non_cacheable_content ARB + BUS Controller inklusive Disk Controller inklusive Disk ro_kap3_ltoy_3.v 5

51 Interrupt statt Polling Zum Testen der Interrupt Behandlung: Der Controller transferiert tdt Daten von der Disk zum Hauptspeicher. Die läuft inzwischen in einer Schleife. Der Controller löst bei Beendigung des Datentransfers einen Interrupt aus. Dieser wird von der behandelt : Die Interrrupt Service Routine veranlasst das Programm, die Schleife zu verlassen und zum nächsten Datentransfer weiter zu gehen. ro_kap3_ltoy_4.v Paged Memory 5

52 CACHE ARB + BUS Controller inklusive Disk CACHE T TOY (limitierter Instruktionssatz) TOY L TOY (erweiterter Instruktionssatz) XL TOY (paged memory) ARB + BUS Controller inklusive Disk 52

53 CACHE (2 8 x ) T TOY (limitierter Instruktionssatz) TOY L TOY (erweiterter Instruktionssatz) XL TOY (paged memory) ARB + BUS Controller inklusive Disk (2 8 x ) 53

54 data,, 8 (2 8 x ) data,, (2 x ) 54

55 PC MA data,, (2 x ) IR: PC MA xa d data t,, (2 x ) LDI Rd, Rt R[d] mem[r[t]] Bit: wir können den gesamten Adressraum ansprechen 55

56 IR: PC MA xb d data t,, (2 x ) LDI Rd, Rt STI Rd, Rt R[d] mem[r[t]] mem[r[t]] R[d] Bit: wir können den gesamten Adressraum ansprechen IR: PC MA xb d data t,, (2 x ) LDI Rd, Rt STI Rd, Rt R[d] mem[r[t]] mem[r[t]] R[d] 56

57 IR: PC MA data x8 d,, 7 (2 x ) LDI Rd, Rt STI Rd, Rt LD Rd, R[d] mem[r[t]] mem[r[t]] R[d] R[d] mem[] Wir haben nur 8 Bit zur Verfügung IR: PC MA data x8 d,, 7 Page Page Page 2 LDI Rd, Rt STI Rd, Rt LD Rd, R[d] mem[r[t]] mem[r[t]] R[d] R[d] mem[] Page 3 Wir haben nur 8 Bit zur Verfügung Page 5 57

58 IR: PC MA data x8 d,, 7 28 Page Page Page 2 LDI Rd, Rt STI Rd, Rt LD Rd, R[d] mem[r[t]] mem[r[t]] R[d] R[d] mem[] Page 3 Wir haben nur 8 Bit zur Verfügung Page 5 IR: PC MA data x8 d p page,, 7 6 Adresse innerhalb der Page 28 Page Page Page 2 LDI Rd, Rt STI Rd, Rt LD Rd, R[d] mem[r[t]] mem[r[t]] R[d] R[d] mem[] Page 3 Page 5 58

59 IR: PC MA data x8 d p page,, 7 6 : Current Page : Page Adresse innerhalb der Page 28 Page Page Page 2 LDI Rd, Rt STI Rd, Rt LD Rd, R[d] mem[r[t]] mem[r[t]] R[d] R[d] mem[] Page 3 Current Page: Die Seite, auf welche der PC soeben zeigt (PC[5:7]) Page 5 IR: PC MA data x9 d p page,, 7 6 : Current Page : Page Adresse innerhalb der Page 28 Page Page Page 2 LDI Rd, Rt STI Rd, Rt LD Rd, R[d] mem[r[t]] mem[r[t]] R[d] R[d] mem[] Page 3 if (IR[7] == ) = { 9`b, IR[6:]} else = {PC[5:7], IR[6:]} Page 5 59

60 Paged Memory Page Size: 2 7 = 28 Adressen Unterscheidung zwischen Page und Current Page Page : Adressen bis 27. Current Page wird durch PC[5:7] bestimmt Für die Unterscheidung ist das Bit IR[7] zuständig: if (IR[7] == ) = { 9`b, IR[6:]} else = {PC[5:7], IR[6:]} Betroffene Instruktionen LD Rd, x8 d p page ST Rd, BZ Rd, BP Rd, JL Rd, CALL x9 d p page xc d p page xd d p page xf d p page x x3 p page if (IR[7] == ) = { 9`b, IR[6:]} else = {PC[5:7], IR[6:]} 6

61 CALL ro_kap3_xltoy_.v if (IR[7] == ) = { 9`b, IR[6:]} else = {PC[5:7], IR[6:]} CALL und CALL indirekt Problem: mit CALL können wir Unterprogramme in der Page oder in der Current Page aufrufen. Wir möchten jedoch Unterprogramme überall im Speicher aufrufen Neue Instruktion: CALLI Rt x x8 t 6

62 CALL und CALL indirekt Problem: mit CALL können wir Unterprogramme in der Page oder in der Current Page aufrufen. Wir möchten jedoch Unterprogramme überall im Speicher aufrufen Neue Instruktion: CALLI Rt x x8 t R[5] R[5] mem[r[5]] PC PC R[t] CALL und CALL indirekt Problem: mit CALL können wir Unterprogramme in der Page oder in der Current Page aufrufen. Wir möchten jedoch Unterprogramme überall im Speicher aufrufen Neue Instruktion: CALLI Rt x x8 t PUSH PC R[5] R[5] mem[r[5]] PC PC R[t] 62

63 Der Instruktionssatz ADD 2 SUB 3 AND 4 XOR 5 SHL 6 SHR 7 LDA C BZ 8 LD D BP 9 ST E JR A LDI F JL B STI HLT ro_kap3_xltoy_.v TOY Der Instruktionssatz ro_kap3_xltoy_.v HLT ADD PUSH 7 LDA 2 SUB C BZ 2 POP 8 LD 3 AND D BP 3 CALL 9 ST 4 XOR E JR 4 RET A LDI 5 SHL F JL 5 IOF B STI 6 SHR HLT 6 ION TOY L TOY 7 RETI 63

64 Der Instruktionssatz ro_kap3_xltoy_.v HLT ADD PUSH 7 LDA 2 SUB C BZ 2 POP 8 LD 3 AND D BP 3 CALL 9 ST 4 XOR E JR 4 RET A LDI 5 SHL F JL 5 IOF B STI 6 SHR HLT 6 ION TOY L TOY XL TOY 7 RETI 8 CALLI MMU und Virtueller Speicher 64

65 ro_kap3_xltoy_.v XL TOY CACHE...2 ARB + BUS Controller inklusive Disk ro_kap3_xltoy_.v XL TOY CACHE...2 XL TOY hat Bit Adressen. Wir hatten einen Hauptspeicher mit 2 Speicherstellen. ARB + BUS Controller inklusive Disk 65

66 ro_kap3_xltoy_2.v XL TOY CACHE 8 Pages mit je 28 Wörtern XL TOY hat Bit Adressen. Wir hatten einen Hauptspeicher mit 2 Speicherstellen. Hauptspeicher mit 8 * 2 7 Wörtern. ARB + BUS ro_kap3_xltoy_2.v Controller inklusive Disk XL TOY CACHE 8 Pages mit je 28 Wörtern XL TOY hat Bit Adressen. (Virtuelle Adressen: 2 ) Wir hatten einen Hauptspeicher mit 2 Speicherstellen. Hauptspeicher mit 8 * 2 7 Wörtern. (Reale Adressen: 2 ) ARB + BUS Controller inklusive Disk 66

67 ro_kap3_xltoy_2.v XL TOY CACHE MMU Memory Management Unit XL TOY hat Bit Adressen. (Virtuelle Adressen: 2 ) Wir hatten einen Hauptspeicher mit 2 Speicherstellen. Hauptspeicher mit 8 * 2 7 Wörtern. (Reale Adressen: 2 ) ARB + BUS 8 Pages mit je 28 Wörtern Controller inklusive Disk ro_kap3_xltoy_2.v XL TOY CACHE MMU Memory Management Unit ARB + BUS 8 Pages mit je 28 Wörtern Standard IO Controller inklusive Disk 67

68 Was macht die MMU? Die MMU übersetzt eine virtuelle Adresse der in eine reale Adresse des physikalisch vorhandenen Hauptspeichers. Entweder per Software: Die MMU schaut dazu in einer (oder mehreren) Tabellen nach. Diese befinden resident im Hauptspeicher. Diese Tabellen heißen Page Tables. Da ein mehrmaliges Nachsehen im Hauptspeicher zu langsam geht, hat die MMU auch einen kleinen Hardware Cache mit oft gebrauchten Übersetzungen. Diesen nennt man Transaction Look Aside Buffer (TLB). Für den TLB nimmt man ein Content Addressable Memory (CAM). Wenn die MMU keine Übersetzung zwischen virtueller und realer Adresse vorfindet, meldet sie diesen Page Fault mittels Page Fault Exception an die. Diese Meldung erfolgt über eine Hardware Leitung. Was macht die bei einem Page Fault? Wenn hingegen auf eine erlaubte Speicherstelle zugegriffen werden sollte, diese sich jedoch nicht im physikalischen Speicher befunden hat, dann gibt die dem Controller den Auftrag, die fehlende Page von der Disk in den Hauptspeicher zu kopieren. Dazu wird die am seltensten gebrauchte Page im Hauptspeicher verwendet. Der Inhalt dieser Page muss eventuell vorher auf die Disk ausgelagert werden. Dies ist dann der Fall, wenn die auszulagernden Speicherwörter veränderte Daten beinhaltet haben. Man spricht auch von einer dirty page. Dieser Kopiervorgang dauert aus Sicht der sehr lange: Das Betriebssystem macht typischerweise inzwischen mit einem anderen Prozess weiter. 68

69 Was macht die bei einer Page Fault Exception? Sobald der Controller per Interrupt an die die Beendigung des Kopiervorgangs ( Swap ) meldet, kann das Betriebssystem den Prozess, welcher vorher die Page Fault Exception ausgelöst hat, wieder aufdie sogenannte Run List setzen. Etwas später wird der Prozess also wieder an der Stelle weiter bearbeitet, wo er zuvor nicht weiter konnte. Der Prozess merkt von dieser Unterbrechung gar nichts. Wir nennen dies transparente Unterbrechung. XL TOY merkt sich beim Auftauchen einer Page Fault Exception also den gegenwärtigen Wert des Program Counter am St und springt sodann auf Adresse 8. Ab dieser Speicherstelle wird die sogenannte Page Fault Service Routine erwartet. Da an dieser Stelle im Speicher nicht viel Platz ist das Hauptprogramm beginnt ab Adresse x, also 8 Speicherstellen weiter besteht diese Routine im Wesentlichen aus dem Aufruf der wirklichen Behandlung des Page Faults. Soviel zur XL TOY Hardware Erweiterung. Zerlegung einer Bit Adresse Virtuelle Adresse x234:

70 Zerlegung einer Bit Adresse Virtuelle Adresse x234: Bits Offset: x34 Zerlegung einer Bit Adresse Virtuelle Adresse x234: Virtuelle Seitennummer: x24 7 Bits Offset: x34 7

71 Zerlegung einer Bit Adresse Virtuelle Adresse x234: Virtuelle Seitennummer: x24 7 Bits MMU sieht in einer Tabelle nach: Offset: x34 Reale Seitennummer ist z.b. x3: Zerlegung einer Bit Adresse Virtuelle Adresse x234: Virtuelle Seitennummer: x24 7 Bits MMU sieht in einer Tabelle nach: Offset: x34 Reale Seitennummer ist z.b. x3: Reale Adresse ist xb4: 7

72 Zerlegung einer Bit Adresse Virtuelle Adresse x234: Virtuelle Seitennummer: x24 7 Bits MMU sieht in einer Tabelle nach: Offset: x34 Reale Seitennummer ist z.b. x3: Reale Adresse ist xb4: Aufbau der TLB Tabelle 72

73 Aufbau der TLB Tabelle Virtuelle Page Nummer Reale Page Nummer Aufbau der TLB Tabelle Virtuelle Page Nummer Reale Page Nummer Resident Bit 73

74 Aufbau der TLB Tabelle schreibt in TLB Virtuelle Page Nummer Reale Page Nummer Resident Bit Aufbau der TLB Tabelle schreibt in TLB Referenced Bit (= Valid Bit) Virtuelle Page Nummer Reale Page Nummer Resident Bit 74

75 Aufbau der TLB Tabelle schreibt in TLB Referenced Bit (= Valid Bit) Virtuelle Page Nummer Reale Page Nummer Resident Bit Modified Bit Virtuelle Page Nummer: x7 Anfrage an den TLB R V M Reale Page Nummer: x5 75

76 Virtuelle Page Nummer: x267 Anfrage an den TLB soll sehr schnell gehen: CAM* R V M *Content Addressable Memory = Inhaltsadressierbarer Speicher Reale Page Nummer: x5 Das Hauptprogramm. Page ist zu Simulationsbeginn fix im Speicher.. Initialisierung i des Cache Speichers. h 2. Initialisierung der Memory Management Unit. 3. Initialisierung des St. 4. Lade Page von der Disk. Auf dieser Seite gibt es jetzt 2 Unterprogramme: Das von der Page Fault Service Routine aufgerufene Programm und den Dispatcher. 5. Der Dispatcher wird aufgerufen. Dieser läuft in einer Endlosschleife. 76

77 Der Dispatcher while(){ lese ein Datum von I/O; wenn (Datum == ) dann HLT; sonst kopiere die im Datum angegebene Seite von der Disk in den Hauptspeicher; exekutiere das soeben geladene Programm im User Mode; zurück in den Supervisor Mode; } 77

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

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

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

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

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

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

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

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

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

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

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

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

Rechnerorganisation. Einleitung. Karl C. Posch. co1.ro_

Rechnerorganisation. Einleitung. Karl C. Posch. co1.ro_ Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 1 Einleitung Karl C Posch KarlPosch@iaiktugrazat co1 ro_2003 1 Information

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

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

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

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

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

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

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

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

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

Rechner- organisa-on 2 TOY. Karl C. Posch.

Rechner- organisa-on 2 TOY. Karl C. Posch. Rechner- Technische Universität Graz Ins-tut für Angewandte Informa-onsverarbeitung und Kommunika-onstechnologie organisa-on 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2012. Ausblick. Erste HälEe

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

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

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

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

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

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Dominik Schoenwetter Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität

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

8. Beschreibung des Prozessors MSP 430

8. Beschreibung des Prozessors MSP 430 8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de>

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de> x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Aufgabe 1 Entwicklung einer Virtuellen Maschine

Aufgabe 1 Entwicklung einer Virtuellen Maschine Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in

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

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

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

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)

Mehr

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de

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

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

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

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

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

Betriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 ( , v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen

Betriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 ( , v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen Betriebssysteme SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 (17.03.2013, v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen 17.03.2013, v2 Modul 6: Betriebssysteme, SS 2013, Hans-Georg

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

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Computer-Architektur Ein Überblick

Computer-Architektur Ein Überblick Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27

Mehr

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus.

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Prozessoren Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Register Alle Prozessoren besitzen interne Register, um den Zugriff auf Daten zu beschleunigen.

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

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

Einführung in AVR Assembler

Einführung in AVR Assembler Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten

Mehr

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, UP Stack (Stapel, FIFO) wird benötigt UP-Ruf:

Mehr

Prozesse and Threads WS 09/10 IAIK 1

Prozesse and Threads WS 09/10 IAIK 1 Prozesse and Threads WS 09/10 IAIK 1 Prozesse Programm in Ausführung Mit einem Prozess verbunden: Adressraum Folge von Speicherstellen auf die der Prozess zugreifen kann Enthält ausführbares Programm,

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

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren 5. Oktober 2008 1 Grundlagen 2 SWEB 3 Kernel Basics Memory Management Details 4 Userspace 5 Hacking 6 Beispiele 7 Assignment 0 Aufgaben eines Betriebssystems

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

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

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur 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

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Vorlesung 5: Interrupts

Vorlesung 5: Interrupts Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13. DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

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

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

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren 1/29 2011-06-16 Multiprozessoren Leistungsfähigkeit

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

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur 0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf

Mehr

Bootvorgang des DSM-Systems Systems Plurix

Bootvorgang des DSM-Systems Systems Plurix Bootvorgang des DSM-Systems Systems Plurix Stefan Frenz Vortrag im Rahmen der Abteilungsbesprechung Voraussetzungen: CPU CPU-Modi Voraussetzungen: BIOS Rechner-Initialisierung durch das BIOS Interrupt

Mehr

ccnuma Unterstützung Zustandsübergangsdiagramm MESIF

ccnuma Unterstützung Zustandsübergangsdiagramm MESIF ccnuma Unterstützung Einführung eines neuen Zustandes Forward (F) Cache mit Block im F-Zustand antwortet auf BusRd, Caches mit Block im S-Zustand müssen nichts machen Nach einem BusRd mit Teilhaber wandert

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

Computer-Systeme Teil 15: Virtueller Speicher

Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller

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

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

Mehr

Betriebssysteme VO Betriebssysteme KU

Betriebssysteme VO Betriebssysteme KU VO KU für Lehramt VU Einführung 7.10.2011 Inhalt Vorstellung Motivation und Inhalte der Vorlesung Organisatorisches Übungen git Inhalte Aufbauend auf Rechnerorganisation Verständnis für Funktionen und

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

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

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

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

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : Name : Klasse : Punkte : Note : Zeit: 08.00 bis 09.30 Es dürfen alle Unterlagen verwendet werden. Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf

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

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

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

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

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache

Mehr

Geräteentwurf mit Mikroprozessoren 1

Geräteentwurf mit Mikroprozessoren 1 Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung

Mehr

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr