109
Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein ¨ Uberblick – p.1/27

Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Embed Size (px)

Citation preview

Page 1: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Architektur – Ein Überblick

Johann Blieberger

Institut für Rechnergestützte Automation

Computer-Architektur – Ein Uberblick – p.1/27

Page 2: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Motherboard

Computer-Architektur – Ein Uberblick – p.2/27

Page 3: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Prozessorkuhler

Computer-Architektur – Ein Uberblick – p.3/27

Page 4: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Central Processing Unit (CPU)

Computer-Architektur – Ein Uberblick – p.4/27

Page 5: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Speicher

Computer-Architektur – Ein Uberblick – p.5/27

Page 6: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Tastatur

Computer-Architektur – Ein Uberblick – p.6/27

Page 7: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Maus

Computer-Architektur – Ein Uberblick – p.7/27

Page 8: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Festplattenbestandteile

Computer-Architektur – Ein Uberblick – p.8/27

Page 9: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau: Festplattenskizze

Computer-Architektur – Ein Uberblick – p.9/27

Page 10: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Computer-Aufbau

Bussystem

WerkEin/Ausgabe

EinheitenSteuer−

Speicher Prozessor

Computer-Architektur – Ein Uberblick – p.10/27

Page 11: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher (Memory)

InstruktionBefehl

Adresse Inhalt

0815 add +1

4711 25 Datum

Computer-Architektur – Ein Uberblick – p.11/27

Page 12: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher-Operationen

• Welche?

Computer-Architektur – Ein Uberblick – p.12/27

Page 13: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher-Operationen

• Welche?

• Lies den Inhalt der Speicherzelle mit der Adresse adr

Computer-Architektur – Ein Uberblick – p.12/27

Page 14: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher-Operationen

• Welche?

• Lies den Inhalt der Speicherzelle mit der Adresse adr

• Schreib ein Datum in die Speicherzelle mit der Adresse adr

Computer-Architektur – Ein Uberblick – p.12/27

Page 15: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher-Operationen

• Welche?

• Lies den Inhalt der Speicherzelle mit der Adresse adr

• Schreib ein Datum in die Speicherzelle mit der Adresse adr

• Woher lesen und wohin schreiben?

Computer-Architektur – Ein Uberblick – p.12/27

Page 16: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher-Operationen

• Welche?

• Lies den Inhalt der Speicherzelle mit der Adresse adr

• Schreib ein Datum in die Speicherzelle mit der Adresse adr

• Woher lesen und wohin schreiben?

• Lies den Inhalt der Speicherzelle mit der Adresse adr, diesich im MAR (Memory Address Register) befindet, in das MBR(Memory Buffer Register)

Computer-Architektur – Ein Uberblick – p.12/27

Page 17: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Speicher-Operationen

• Welche?

• Lies den Inhalt der Speicherzelle mit der Adresse adr

• Schreib ein Datum in die Speicherzelle mit der Adresse adr

• Woher lesen und wohin schreiben?

• Lies den Inhalt der Speicherzelle mit der Adresse adr, diesich im MAR (Memory Address Register) befindet, in das MBR(Memory Buffer Register)

• Schreib ein Datum (MBR) in die Speicherzelle mit derAdresse adr (MAR)

Computer-Architektur – Ein Uberblick – p.12/27

Page 18: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor (CPU)

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

Computer-Architektur – Ein Uberblick – p.13/27

Page 19: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Welche?

Computer-Architektur – Ein Uberblick – p.14/27

Page 20: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Welche?

• Inhalt B → MAR

Computer-Architektur – Ein Uberblick – p.14/27

Page 21: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Welche?

• Inhalt B → MAR

• Inhalt MBR → A

Computer-Architektur – Ein Uberblick – p.14/27

Page 22: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Welche?

• Inhalt B → MAR

• Inhalt MBR → A

• Ergebnis → MBR

Computer-Architektur – Ein Uberblick – p.14/27

Page 23: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Welche?

• Inhalt B → MAR

• Inhalt MBR → A

• Ergebnis → MBR

• Lies!

Computer-Architektur – Ein Uberblick – p.14/27

Page 24: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Welche?

• Inhalt B → MAR

• Inhalt MBR → A

• Ergebnis → MBR

• Lies!• Schreib!

Computer-Architektur – Ein Uberblick – p.14/27

Page 25: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

Computer-Architektur – Ein Uberblick – p.15/27

Page 26: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

Computer-Architektur – Ein Uberblick – p.15/27

Page 27: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

• Lies!

Computer-Architektur – Ein Uberblick – p.15/27

Page 28: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

• Lies!• MBR → A

Computer-Architektur – Ein Uberblick – p.15/27

Page 29: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

• Lies!• MBR → A• Store (Schreiben)

Computer-Architektur – Ein Uberblick – p.15/27

Page 30: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

• Lies!• MBR → A• Store (Schreiben)

• B→MAR

Computer-Architektur – Ein Uberblick – p.15/27

Page 31: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

• Lies!• MBR → A• Store (Schreiben)

• B→MAR

• Ergebnis → MBR

Computer-Architektur – Ein Uberblick – p.15/27

Page 32: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Micro-Code

A

R Ergebnis

ALU

B Register

MBR

MAR

A−Bus B−Bus

Arithmetic Logic Unit

R−Bus

• Load (Lesen)

• B→MAR

• Lies!• MBR → A• Store (Schreiben)

• B→MAR

• Ergebnis → MBR

• Schreib!

Computer-Architektur – Ein Uberblick – p.15/27

Page 33: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

• Transfer-Operationen (Load, Store)

Computer-Architektur – Ein Uberblick – p.16/27

Page 34: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store

Computer-Architektur – Ein Uberblick – p.16/27

Page 35: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store• Arithmetische Operationen

Computer-Architektur – Ein Uberblick – p.16/27

Page 36: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store• Arithmetische Operationen• Logische Operationen

Computer-Architektur – Ein Uberblick – p.16/27

Page 37: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store• Arithmetische Operationen• Logische Operationen• unbedingte Sprünge

Computer-Architektur – Ein Uberblick – p.16/27

Page 38: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Prozessor - Befehle

• Transfer-Operationen (Load, Store)• I/O-Operationen (Ein-, Ausgabe) ähnlich Load/Store• Arithmetische Operationen• Logische Operationen• unbedingte Sprünge• bedingte Sprünge

Computer-Architektur – Ein Uberblick – p.16/27

Page 39: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Voraussetzungen:

Computer-Architektur – Ein Uberblick – p.17/27

Page 40: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Voraussetzungen:

• Speicheraddresse 0815: 25

Computer-Architektur – Ein Uberblick – p.17/27

Page 41: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Voraussetzungen:

• Speicheraddresse 0815: 25• Speicheraddresse 4711: 19

Computer-Architektur – Ein Uberblick – p.17/27

Page 42: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

Computer-Architektur – Ein Uberblick – p.18/27

Page 43: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)

Computer-Architektur – Ein Uberblick – p.18/27

Page 44: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R

Computer-Architektur – Ein Uberblick – p.18/27

Page 45: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)

Computer-Architektur – Ein Uberblick – p.18/27

Page 46: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A

Computer-Architektur – Ein Uberblick – p.18/27

Page 47: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)

Computer-Architektur – Ein Uberblick – p.18/27

Page 48: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)

Computer-Architektur – Ein Uberblick – p.18/27

Page 49: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A

Computer-Architektur – Ein Uberblick – p.18/27

Page 50: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)

Computer-Architektur – Ein Uberblick – p.18/27

Page 51: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)

Computer-Architektur – Ein Uberblick – p.18/27

Page 52: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A

Computer-Architektur – Ein Uberblick – p.18/27

Page 53: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A• Store(0815)

Computer-Architektur – Ein Uberblick – p.18/27

Page 54: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code

Computer-Architektur – Ein Uberblick – p.19/27

Page 55: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?

Computer-Architektur – Ein Uberblick – p.19/27

Page 56: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!

Computer-Architektur – Ein Uberblick – p.19/27

Page 57: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur

Computer-Architektur – Ein Uberblick – p.19/27

Page 58: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur• John von Neumann (1903–1957)

Computer-Architektur – Ein Uberblick – p.19/27

Page 59: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur• John von Neumann (1903–1957)• Programm und Daten

im selben Speicher

Computer-Architektur – Ein Uberblick – p.19/27

Page 60: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur• John von Neumann (1903–1957)• Programm und Daten

im selben Speicher• Speicher ist langsam

Computer-Architektur – Ein Uberblick – p.19/27

Page 61: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Programm-Code• Wo ist das Programm gespeichert?• Im Speicher!• von Neumann-Architektur• John von Neumann (1903–1957)• Programm und Daten

im selben Speicher• Speicher ist langsam• von Neumannscher Flaschenhals

Computer-Architektur – Ein Uberblick – p.19/27

Page 62: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Instruction Register

• zusätzliches Register (IR)

Computer-Architektur – Ein Uberblick – p.20/27

Page 63: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Instruction Register

• zusätzliches Register (IR)• beinhaltet den Befehl

Computer-Architektur – Ein Uberblick – p.20/27

Page 64: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm Counter

• zusätzliches Register (PC)

Computer-Architektur – Ein Uberblick – p.21/27

Page 65: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm Counter

• zusätzliches Register (PC)• beinhaltet die Adresse, wo Befehl gespeichert ist

Computer-Architektur – Ein Uberblick – p.21/27

Page 66: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm Counter

• zusätzliches Register (PC)• beinhaltet die Adresse, wo Befehl gespeichert ist• PC wird nach Abarbeitung des Befehls um eins erhöht

Computer-Architektur – Ein Uberblick – p.21/27

Page 67: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm Counter

• zusätzliches Register (PC)• beinhaltet die Adresse, wo Befehl gespeichert ist• PC wird nach Abarbeitung des Befehls um eins erhöht• Immer?

Computer-Architektur – Ein Uberblick – p.21/27

Page 68: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm Counter

• zusätzliches Register (PC)• beinhaltet die Adresse, wo Befehl gespeichert ist• PC wird nach Abarbeitung des Befehls um eins erhöht• Immer?• Nein!

Computer-Architektur – Ein Uberblick – p.21/27

Page 69: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm Counter

• zusätzliches Register (PC)• beinhaltet die Adresse, wo Befehl gespeichert ist• PC wird nach Abarbeitung des Befehls um eins erhöht• Immer?• Nein!• Sprung-Befehle

Computer-Architektur – Ein Uberblick – p.21/27

Page 70: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm-Codierung

• Platzersparnis

Computer-Architektur – Ein Uberblick – p.22/27

Page 71: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Programm-Codierung

• Platzersparnis• Codierung als 0/1-Folgen

Computer-Architektur – Ein Uberblick – p.22/27

Page 72: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm (noch einmal. . . )

• Voraussetzungen:

Computer-Architektur – Ein Uberblick – p.23/27

Page 73: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm (noch einmal. . . )

• Voraussetzungen:

• Speicheradresse 0815: 25

Computer-Architektur – Ein Uberblick – p.23/27

Page 74: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm (noch einmal. . . )

• Voraussetzungen:

• Speicheradresse 0815: 25• Speicheradresse 4711: 19

Computer-Architektur – Ein Uberblick – p.23/27

Page 75: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm (noch einmal. . . )

• Voraussetzungen:

• Speicheradresse 0815: 25• Speicheradresse 4711: 19• Programm gespeichert ab Adresse: 1704

Computer-Architektur – Ein Uberblick – p.23/27

Page 76: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm (noch einmal. . . )

• Voraussetzungen:

• Speicheradresse 0815: 25• Speicheradresse 4711: 19• Programm gespeichert ab Adresse: 1704• PC = 1704

Computer-Architektur – Ein Uberblick – p.23/27

Page 77: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

Computer-Architektur – Ein Uberblick – p.24/27

Page 78: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)

Computer-Architektur – Ein Uberblick – p.24/27

Page 79: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R

Computer-Architektur – Ein Uberblick – p.24/27

Page 80: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)

Computer-Architektur – Ein Uberblick – p.24/27

Page 81: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A

Computer-Architektur – Ein Uberblick – p.24/27

Page 82: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)

Computer-Architektur – Ein Uberblick – p.24/27

Page 83: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)

Computer-Architektur – Ein Uberblick – p.24/27

Page 84: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A

Computer-Architektur – Ein Uberblick – p.24/27

Page 85: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)

Computer-Architektur – Ein Uberblick – p.24/27

Page 86: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)

Computer-Architektur – Ein Uberblick – p.24/27

Page 87: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A

Computer-Architektur – Ein Uberblick – p.24/27

Page 88: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Beispielprogramm

• Programm:

• Load(0815)• A → R• Load(4711)• R := R - A• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A• Store(0815)

Computer-Architektur – Ein Uberblick – p.24/27

Page 89: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Performance

• MIPS (Million Instructions per Second)

Computer-Architektur – Ein Uberblick – p.25/27

Page 90: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Performance

• MIPS (Million Instructions per Second)

Intel 8080 0,640 MIPS bei 2 MHz 1974Motorola 68000 1 MIPS bei 8 MHz 1979ARM 7500FE 35,9 MIPS bei 40 MHz 1996Intel 486DX 54 MIPS bei 66 MHz 1992Zilog eZ80 80 MIPS bei 50 MHz 1998ARM10 400 MIPS bei 300 MHz 1999Athlon 64 8400 MIPS bei 2,8 GHz 2005

Computer-Architektur – Ein Uberblick – p.25/27

Page 91: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

Computer-Architektur – Ein Uberblick – p.26/27

Page 92: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

• Das Programm ändert seinen eigenen Programm-Code!

Computer-Architektur – Ein Uberblick – p.26/27

Page 93: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm

Computer-Architektur – Ein Uberblick – p.26/27

Page 94: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm• nicht erwünscht

Computer-Architektur – Ein Uberblick – p.26/27

Page 95: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm• nicht erwünscht• Wer überprüft das?

Computer-Architektur – Ein Uberblick – p.26/27

Page 96: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm• nicht erwünscht• Wer überprüft das?• Hardware (Prozessor)?

Computer-Architektur – Ein Uberblick – p.26/27

Page 97: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Frage

• Was wäre, wenn Datum statt unter 0815unter Adresse 1709 stehen würde?

• Das Programm ändert seinen eigenen Programm-Code!• selbstmodifizierendes Programm• nicht erwünscht• Wer überprüft das?• Hardware (Prozessor)?• Betriebssystem

Computer-Architektur – Ein Uberblick – p.26/27

Page 98: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)

Computer-Architektur – Ein Uberblick – p.27/27

Page 99: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R

Computer-Architektur – Ein Uberblick – p.27/27

Page 100: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)

Computer-Architektur – Ein Uberblick – p.27/27

Page 101: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715

Computer-Architektur – Ein Uberblick – p.27/27

Page 102: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)

Computer-Architektur – Ein Uberblick – p.27/27

Page 103: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)

Computer-Architektur – Ein Uberblick – p.27/27

Page 104: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)• R := R + A

Computer-Architektur – Ein Uberblick – p.27/27

Page 105: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)• R := R + A• Store(4711)

Computer-Architektur – Ein Uberblick – p.27/27

Page 106: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)

Computer-Architektur – Ein Uberblick – p.27/27

Page 107: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A

Computer-Architektur – Ein Uberblick – p.27/27

Page 108: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A• Store(0815)

Computer-Architektur – Ein Uberblick – p.27/27

Page 109: Computer-Architektur – Ein Überblick · Computer-Architektur – Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur – Ein Uberblick

Noch ein Beispiel

• Load(0815)• A → R• Load(4711)• if A < R goto 1715• Store(0815)• Load(4711)• R := R + A• Store(4711)• Load(0815)• R := R - A• Store(0815)• NOP

Computer-Architektur – Ein Uberblick – p.27/27