vorlesung 2 rechnerarchitektur peter b. ladkin [email protected] wintersemester 2001/2002...
TRANSCRIPT
Vorlesung 2
Rechnerarchitektur
Peter B. [email protected]
Wintersemester 2001/2002
Universität BielefeldTechnische Fakultät
*
7. Februar 2003 2
Universität BielefeldTechnische Fakultät
Inhalt
Allgemeine von Neumann Architektur CPU Architektur Wie sie funktionieren Assembly Sprache Befehl Ausführung
*
7. Februar 2003 3
Universität BielefeldTechnische Fakultät
Architektur nochmal
*
7. Februar 2003 4
Universität BielefeldTechnische Fakultät
CPU
*
7. Februar 2003 5
Universität BielefeldTechnische Fakultät
Assembly-Sprache
Arithmetische Operationen Add: ACC <- ACC + <Sp.Ad.-Inhalt> Subtract: ACC <- ACC - <Sp.Ad.-Inhalt> Shift (multiply by 2): ACC <- ACC * 2 == alle Bits in
ACC einmal nach links gestellt mit 0 in Low-Order Bit Multiply: ACC <- ACC * <Sp.Ad.-Inhalt> Divide: ACC <- ACC / <Sp.Ad.-Inhalt>
*
7. Februar 2003 6
Universität BielefeldTechnische Fakultät
Assembly-Sprache
Logische Operationen "Jump <Befehl-Ad.>" : Inhalt der <Bef.-Ad.> wird in IR
geladen; PC wird <Bef.-Ad.> + 1 "Load <Sp.-Ad.>": Inhalt der <Sp.-Ad.> wird in ACC
geladen; PC wird PC + 1 "Store <Sp.-Ad.>": Inhalt des ACCs wird in <Sp.Ad.>
gespeichert; PC wird PC + 1 "If ACC then <Bef.-Ad.>": ACC > 0 then PC wird
<Bef.-Ad.>; ACC </= 0 then No-Op.
*
7. Februar 2003 7
Universität BielefeldTechnische Fakultät
CPU des DEPs
*
7. Februar 2003 8
Universität BielefeldTechnische Fakultät
Busarchitektur - das Ideal
*
7. Februar 2003 9
Universität BielefeldTechnische Fakultät
Busarchitektur - Der Plan
*
7. Februar 2003 10
Universität BielefeldTechnische Fakultät
Busarchitektur - Die Realität
*
7. Februar 2003 11
Universität BielefeldTechnische Fakultät
VM-Beispiel
· JUMP <Sp-Adr>· Dekodiere JUMP / <Sp-Adr>· <Sp-Adr> -> MAR; PC <- <Sp-Adr> + 1· Datum -> MBR· MBR -> IR· IR -> DSW
Speicherverwaltung
Technische Informatik IIWintersemester 2002/03
Heiko [email protected]
Sommersemester 2001
Universität BielefeldTechnische Fakultät
*
7. Februar 2003 13
Universität BielefeldTechnische Fakultät Speicherhierarchie
Magnetband etc.
Magnetspeicher
Hauptspeicher
Cache
Register
CPU
Typische Zugriffszeit* Typische Kapazität*
1 ns
2 ns
10 ns
10 ms
100 s
< 1 KByte
1 MByte
64-512 MB
5-80 GB
20-100 GB
* Sehr grobe Schätzungen
*
7. Februar 2003 14
Universität BielefeldTechnische Fakultät Virtueller Speicher: Paging
2
1
6
0
4
3
X
X
X
5
X
7
X
X
X
X
VirtuellerAdressraum
0K-4K
4K-8K
8k-12K
12K-16K
16K-20K
20K-24K
24K-28K
28K-32K
32K-36K
36K-40K
40K-44K
44K-48K
48K-52K
52K-56K
56K-60K
60K-64K
0K-4K
4K-8K
8k-12K
12K-16K
16K-20K
20K-24K
24K-28K
28K-32K
PhysischeSpeicheradresse
}
Seitenrahmen
} Virtuelle Seite
*
7. Februar 2003 15
Universität BielefeldTechnische Fakultät
Das Vermeiden von Busy Waiting
· Die Schleife heisst jetzt i <- 10; while i > 0 do read (TEG-R); Store; i <- i - 1 weitermachen
· Die Schleife läuft nur 10 Mal durch
*
7. Februar 2003 16
Universität BielefeldTechnische Fakultät
Vorfälle
Der Mars Pathfinder - Ein Scheduling Problem Ariane Flight 501 - Ein Requirements Problem Der USS Yorktown - Ein System Crash
Die Vorfälle zeigen, welche Probleme es in der Benutzung von Betriebssystemen in
Missionskritischen Systemen geben kann
*
7. Februar 2003 17
Universität BielefeldTechnische Fakultät
Prozess Synchronizierung Puzzle I
· Process 1: (x: integer)begin x <- 0; x <- x+1; stop; end
· Process 2: (x: integer)begin read x; stop; end
· Was ist der gelesene Wert von x, wenn dieseProgramme concurrent laufen?
*
7. Februar 2003 18
Universität BielefeldTechnische Fakultät
Prozess Synchnozierung Puzzle 2
· Prozess 1: (x: integer)begin x <- 0; x <- x+1; stop; end
· Prozess 2: (x,y: integer)begin y <- 0; y <- x+1; stop; end
· Voraussetzung: Memory Platz x ist dergleicheals Memory Platz y
· Werte von x, y an Ende?
*
7. Februar 2003 19
Universität BielefeldTechnische Fakultät
Prozess Synchronizierung Puzzle 3
· Wert von der Variabel z ist 1, falls es existieren20 Blöcke freiverfügbarem Speicher;
· ...ist 2, falls es ...< 20 Blöcke....· Wert von z ist 1· Prozess 1 braucht 15 Blöcke, Prozess 2 auch· Beide lesen z gleichzeitig· Was passiert?
*
7. Februar 2003 20
Universität BielefeldTechnische Fakultät
Prozess Synchronizierung Puzzle 4
· Programm 1 und Programm 2 lesen Variabel turn
· turn könnte von Programm 3 geschrieben werden
· turn hat 3 Bits· turn = 001 bedeutet, Prog 1 kann den Drucker
benutzen· Turn = 101 bedeutet, Prog 2 ............
*
7. Februar 2003 21
Universität BielefeldTechnische Fakultät
*
7. Februar 2003 22
Universität BielefeldTechnische Fakultät
Sequentielle Operationen in Logik
· Sei es, wir möchten eine Sequenz vonOperationen spezifizieren:-
· Also p == (a; b; )g· Logik hat keine Sequentializierungs-Operator· Wir definieren
A: Ù pc = `a' B: Ù pc = `b' G: Ù pc = `c' Ù a Ù b Ù g Ù pc¢ = `b' Ù pc¢ = `c' Ù pc¢ = `d'
und
P == ( A Ú B Ú G Ú NoOp)
*
7. Februar 2003 23
Universität BielefeldTechnische Fakultät Client-Server Modell
*
7. Februar 2003 24
Universität BielefeldTechnische Fakultät Netz-Typen
*
7. Februar 2003 25
Universität BielefeldTechnische Fakultät LAN-Topologie
*
7. Februar 2003 26
Universität BielefeldTechnische Fakultät LAN-Topologie
*
7. Februar 2003 27
Universität BielefeldTechnische Fakultät LAN-Topologie
*
7. Februar 2003 28
Universität BielefeldTechnische Fakultät
Protokolle- Das Schichtenmodell
*
7. Februar 2003 29
Universität BielefeldTechnische Fakultät
Protokolle- Das Schichtenmodell
*
7. Februar 2003 30
Universität BielefeldTechnische Fakultät Services- Nachrichtentypen
· Messages· Unbestimmte Länge
· Streams· Unendliche Länge (nicht in Wirklichkeit!)
· Datagrams/Pakete· Bestimmte Länge
*
7. Februar 2003 31
Universität BielefeldTechnische Fakultät Services-Primitiven
*
7. Februar 2003 32
Universität BielefeldTechnische Fakultät Das OSI Reference Model
*
7. Februar 2003 33
Universität BielefeldTechnische Fakultät TCP/IP im Vergleich zu OSI
*
7. Februar 2003 34
Universität BielefeldTechnische Fakultät
Access Control Modelle
*
7. Februar 2003 35
Universität BielefeldTechnische Fakultät
Buffer Overflow Schwäche statisch gezeigt
*
7. Februar 2003 36
Universität BielefeldTechnische Fakultät
Buffer Overflow Angriff
*
7. Februar 2003 37
Universität BielefeldTechnische Fakultät
Covert Channel
*
7. Februar 2003 38
Universität BielefeldTechnische Fakultät
Remote und Local Exploits