Vorlesung 2 Rechnerarchitektur Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Wintersemester 2001/2002...

Post on 05-Apr-2015

102 views 0 download

transcript

Vorlesung 2

Rechnerarchitektur

Peter B. Ladkinladkin@rvs.uni-bielefeld.de

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 HoltkampHeiko@rvs.uni-bielefeld.de

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