Rechnerorganisation. Überblick über den Teil 13
|
|
- Angelika Bader
- vor 6 Jahren
- Abrufe
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? 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
MehrSchreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
MehrVirtueller 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
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
MehrRechnerorganisation. 1. Juni 201 KC Posch
.6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrBetriebssysteme Teil 10 B: Fragen rund um Seitenfehler
Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden
MehrEchtzeitbetriebssysteme
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
MehrHans-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)
MehrPaging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
MehrQuiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
MehrRechnerorganisation. 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
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrCA Ü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
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt 07.02.2011 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen bearbeitet werden.
MehrGrundlagen 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
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
MehrLinux 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
MehrEchtzeit-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
MehrCache Blöcke und Offsets
Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich
MehrEchtzeit-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
MehrRechner- 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
MehrRechnerorganisation 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
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrKonzepte 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
MehrBetriebssysteme Ü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)
Ü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 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
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
Mehr8. 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
MehrSicheres 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
Mehrx86 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
MehrB1 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
MehrName: 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
MehrAufgabe 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
MehrKapitel 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 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten
MehrLö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
MehrTechnische Informatik 1 - HS 2017
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen
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 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
MehrKonzepte 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
MehrLinker: 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
MehrName: 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
MehrBesprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben
Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht
MehrKonzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
MehrJust-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
MehrJust-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
MehrBetriebssysteme 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
MehrIn heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
Mehr5 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
MehrComputer-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
MehrBsys2 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.
MehrBetriebssysteme. 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
MehrBetriebssysteme 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
MehrEinfü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
MehrStack, 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:
MehrProzesse 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,
MehrTechnische 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
MehrBetriebssysteme 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
MehrBetriebssysteme 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
MehrSpeicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:
Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009
MehrGrundlagen 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 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
MehrVorlesung 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
MehrTECHNISCHE 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
MehrDOSEMU. 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
MehrProzessorarchitektur. 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
MehrKapitel 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
MehrMultiprozessoren. 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
MehrSysteme 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
MehrTechnische 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
MehrMikroprozessoren 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)
MehrPrinzipieller 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
Mehr05. 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
MehrBootvorgang 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
Mehrccnuma 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
MehrAssembler - 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
MehrDer 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
MehrVorlesung 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
MehrComputer-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
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen
MehrMicrocontroller 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.
MehrBetriebssysteme 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
MehrVirtueller 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
Mehr2.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
MehrCache 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
MehrLeichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
MehrName : 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
MehrTechnische 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
MehrLösungsvorschlag zur 6. Übung
rof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 9/1 Lösungsvorschlag zur 6. Übung 1 räsenzübungen 1.1 Schnelltest a) Caches und virtueller Speicher können
MehrMain 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
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
Mehr1. Ü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
MehrGerä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
MehrEinfü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
MehrZusammenfassung 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
MehrInstruktionssatz-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