Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000...

35
Ideen und Konzepte der Informatik Rechner Kurt Mehlhorn

Transcript of Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000...

Page 1: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Ideen und Konzepte der Informatik

Rechner

Kurt Mehlhorn

Page 2: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Übersicht

Rechner 2

1. Geschichlicher Rückblick

2. Wie funktionieren Computer?

Der Von-Neumann-Rechner

3. Universalität von Rechnern (Basis für Siegeszug der Informatik)

Was bedeutet Universalität ?

4. Laufzeit, Rechenzeit

5. Alan Turing

Person / Turingmaschine / Turingthese

6. Quantencomputer

Page 3: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Geschichtlicher Rückblick

Charles Babbage (1791 – 1871) + Ada Lovelace:

Maschine zur Auswertung von Polynomen,

Logarithmentafeln, nie fertig

Alan Turing (1936) entwirft einfachen universellen

Rechner als Gedankenexperiment.

Konrad Zuse (1941): erster funktionierender

programmierbarer Rechner

Mauchly und Presper (43/44) bauen ENIAC

Grace Hopper (53): erste Programmiersprache (Cobol)

Rechner 3

Page 4: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Frühe “analoge” Rechner

Rechner 4

Mechanismus von Antikythera 100 BC

Astronomische Uhr

Abacus 2400 BC

Page 5: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Programmierbare Rechner

Rechner 5

Charles Babagge (1791-1871), Ada Lovelace (1815-1852)

„Analytical Machine“

Maschine zur Auswertung von Polynomen, Logarithmentafeln

nie fertig geworden

Konrad Zuse (1910-1995)

Z1, 1938

Mechanisch

Page 6: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Frühe Computer (Konrad Zuse)

Z3 und Z4 arbeiten mit Relais (elektromagnetische Schalter)

Z3 und Z4 sind programmierbar (Programm extern) und

universell

Rechner 6

ENIAC (1946)

Zuse Z3 (1941) Zuse Z4 (1942 - 45)

Page 7: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

EDVAC (Electronic Discrete Variable

Automatic Computer)

“First Draft of a Report on the EDVAC”

by John von Neumann, 1945

EDVAC, fertiggestellt im Jahr 1951

Programme im Speicher

Speicher: 5,5 kilobytes = 44,000 Bits

Eine Multiplikation in 2,9 Millisekunden

6000 Vakuumröhren

Stromverbrauch 56 kW

45,5 m² Bodenfläche und 7850 kg Gewicht

Betriebspersonal 30 Personen für jede 8-Stunden-Schicht

Kosten: 500000 Dollar (entspricht etwa 7 Millionen in 2018)

Das Vorbild für alle modernen Rechner

Rechner 7

Page 8: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Spätere Computer

Rechner 8

Page 9: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Aufbau von Rechnern

Page 10: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Bitstrings und Speicher

Rechner 10

Page 11: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Von-Neumann-Rechner

• Rechner = Speicher + CPU

• Speicherzellen in der CPU heißen Register

• CPU kann rechnen (Befehlsumfang = billiger Taschenrechner)

• Speicher enthält Daten und Programm

• Befehlszyklus sorgt für die Ausführung des Programms,

BZ = Befehlszähler

Rechner 11

Speicher CPU (Central Processing Unit)

Einige Register R1, R2, R3, … BZ

• CPU kann rechnen

• Datentransport zwischen CPU und

Speicher

• Befehlszyklus

Page 12: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Typische Befehle

Rechner 12

Transport R3 ← M[5]

M[5] ← R2

R1 ← M[R4]

M[R2] ← R1

Rechnen R1 ← 0 R1 ← R2 + R3

Sprung BZ ← 7 BZ ← R1

Bed. Sprung if R1 > 0, BZ ← n,

else BZ ← BZ + 1

Stop STOP

Page 13: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Programm ist eine Folge

von Befehlen

Befehl 1

Befehl 2

Befehl 3

Befehl 4

Befehl 5

Befehl 6

Befehlszyklus,

BZ = Befehlszähler

1. BZ ← 1

2. Führe Befehl mit der Nummer

BZ aus. Falls STOP, halte an.

3. Erhöhe BZ um eins (außer bei

Sprungbefehl, der BZ setzt)

4. Gehe nach 2.

13Rechner

Programme und Befehlszyklus

Page 14: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

1. R1 ← 0

2. R2 ← M[1]

3. R1 ← R1 + R2

4. R2 ← R2 - 1

5. IF R2 > 0, BZ ← 3

6. STOP

Ausführung für n = 4

BZ

R1

R2

M[1]

Laufzeit =

14Rechner

In M[1] steht eine Zahl n ≥ 1, berechne 1 + … + n.

Am Anfang steht in M[1] eine

natürliche Zahl n ≥ 1.

Wenn das Programm stoppt,

dann steht in R1 die Summe

1 + … + n.

Page 15: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

1. R1 ← 0

2. R2 ← M[1]

3. R1 ← R1 + R2

4. R2 ← R2 - 1

5. IF R2 > 0, BZ ← 3

6. STOP

Jedes Mal bevor Befehl 3

ausgeführt wird, gilt:

• In R2 steht eine natürliche

Zahl i mit n ≥ i ≥ 1.

• In R1 steht n + … + (i + 1)

15Rechner

Korrektheit des Programs

Am Anfang steht in M[1] eine

natürliche Zahl n ≥ 1.

Wenn das Programm stoppt,

dann steht in R1 die Summe

1 + … + n.

Page 16: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

sum ← 0;

i ← n;

while (i > 0)

sum ← sum + i;

i ← i – 1;

Produktivitätsgewinn

Java, C, C++, Python,

Compiler übersetzen

16Rechner

Höhere Programmiersprachen

1. R1 ← 0

2. R2 ← M[1]

3. R1 ← R1 + R2

4. R2 ← R2 - 1

5. IF R2 > 0, BZ ← 3

6. STOP

Page 17: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Der Speicher, die CPU

(Central Processing Unit), die

Peripherie (Bildschirm,

Tastatur, Maus,

Netzanbindung, …)

Führt Befehle aus und

realisiert den Befehlszyklus.

Reagiert auf Peripherie.

Kauft man im Laden.

Kann jedes Programm

ausführen.

17Rechner

Hardware Software

Page 18: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Kenngrößen und Neuerungen

Hauptspeicher: 109 Worte a 64 Bit

Befehlszyklus: 109 Befehle pro Sekunde

Eine Million mal leistungsfähiger (Geschwindigkeit, Speicher,

Größe), Tausend mal billiger als 1950

Neuerungen seit 1950

Interrupts (Unterbrechungen), mehrere Programme gleichzeitig

Speicherhierarchie: Cache, Main, Disk

Bildschirme, Grafik, Maus, Sound, Touch, Mikro

Netze

Preis und Leistung

Software, Nutzerfreundlichkeit

Rechner 18

Page 19: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Bildschirme und Graphik

Dieser Schirm: 1920 x 1080 Bildpunkte (Pixels)

Die CPU kann für jedes Pixel Farbe und Helligkeit

einstellen

Rechner 19

Page 20: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Supercomputer

72 Schränke

73000 PowerPCs mit je 2 Gbyte RAM

Simulation: Physik, Klima, Chemie, Strömung

13 Mio Euro

Rechner 20

Page 21: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Universalität von Rechnern

Page 22: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Universalität von Rechnern

Rechner sind universell, d.h., sie können jedes

Programm ausführen, sofern es nur in ihre

Maschinensprache übersetzt ist und es die Ressourcen

des Rechners nicht sprengt.

Universalität von Rechnern ist wesentlich für den Erfolg

der Informatik:

Das gleiche Programm auf vielen Rechnern.

Viele Programme auf einem Rechner.

Rechner 22

Page 23: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Rechner sind universell

Normale Werkzeuge sind nicht universell: Hammer,

Feile, Zange, Auto, ….

Viele Programme auf einem Rechner: Ein Smartphone

ist Telefon, aktiver Kalender, Fitnesstrainer,

Bankterminal, Wetterauskunft, Browser, Suchmaschine,

Musik- und Filmspieler, Spielzeug, …

Ein Programm auf vielen Rechnern: Office läuft auf

Rechnern von IBM, Lenovo, Toshiba, Samsung, Apple,

Rechner 23

Page 24: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Laufzeit von Programmen

Effiziente Programme

Page 25: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Laufzeit von Programmen

Ausführungszeit in Sekunden

n = 108, 0.19 sec n = 109, 1.23 sec

Für theoretische Überlegungen: Anzahl der

ausgeführten Befehle/Operationen

Unser Summenprogramm: Laufzeit = 3 + 3n = O(n)

O( ) = Landausymbol für asymptotisches Wachstum:

gibt nur den am schnellsten wachsenden Anteil wieder

und ignoriert konstante Faktoren

Rechner 25

Page 26: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Effiziente Programme

Ein Programm heißt effizient, wenn seine Laufzeit an

Eingaben der Größe n beschränkt ist durch C𝑛𝑘 für

Konstanten C und k.

Eingabe der Größe n:

Graph mit n Knoten und Kanten

Zahl mit n Ziffern

P = Menge aller Probleme für die es ein effizientes

Programm gibt (polynomzeitberechenbar).

Rechner 26

Page 27: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Beispiele

Rechner 27

Effizientes Programm bekannt:

• Sortieren

• Suchen

• Kürzeste Wege

• Multiplikation von Zahlen

• Lösen von linearen Gleichungen

• Test, ob eine Zahl Primzahl ist.

• Obige Probleme sind in P.

Kein effizientes Programm

bekannt:

• Primfaktorzerlegung

• Problem des

Handlungsreisenden

• 3-Färbung von Graphen

• Erfüllbarkeitsproblem der

Aussagenlogik

Page 28: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Alan Turing und die

Turingmaschine

Page 29: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Alan Turing (1912 – 1952)

Britischer Mathematiker

„On Computable Numbers, with an Application to the

Entscheidungsproblem“, 1936

David Hilbert (1928): kann Mathematik mechanisiert werden?

Kurt Goedel (1931): NEIN (Parallelen zum „Lügner Paradox“: Dieser Satz

ist falsch.)

Turings Arbeit von 1936 vereinfacht den Beweis wesentlich

und führt Turingmaschine ein.

Rechner 29

Page 30: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Alan Turing (1912 – 1952)

Muster in der Natur, Fell eines Zebras

Sehr guter Sportler, Marathon in 2:46 (Olympiasieger in 1948,

Zeit 2:35).

Verurteilung wegen Homosexualität in 1952, chemische

Kastration.

Selbstmord durch Blausäure in 1954.

Rechner 30

Kryptanalyse: Churchill: „Alan Turing made the

single biggest contribution to Allied victory in the

war against Nazi Germany.“

Page 31: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Die Turingmaschine

Turingbefehl Zustand Zeichen neuer Zustand neues Zeichen Bewegung

q1 a q2 b R

Wenn du im Zustand q1 ein a liest, dann gehe in den Zustand q2 über, drucke ein b und

bewege den Kopf nach rechts

Turingprogramm = Menge (Folge) von Turingbefehlen, je zwei unterscheiden sich in den

ersten Spalten

Rechner 31

Auf jedem Bandquadrat steht ein

Buchstabe (Symbol, Zeichen) in

A, …, Z, a, …, z, 0, …, 9, $, §, …, leer

Endliches Alphabet

Steuereinheit befindet sich in einem von

endlich vielen Zuständen

p, q, q0, q1, q2, …

Programm steht

in der

Steuereinheit

Page 32: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Beispiel einer Turingmaschine

Turingbefehl Zustand Zeichen neuer Zustand neues Zeichen Bewegung

q1 a q2 b R

Am Anfang sei das Band mit ….00000BBBBBB….. beschriftet, der Kopf stehe auf der

rechtesten Null und die Maschine sei in Zustand q1

q1 0 q2 1 S

q1 1 q1 0 L

q2 0 q2 0 R

q2 1 q2 1 R

q2 B q1 B L

Rechner 32

Page 33: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Turing-These (1936)

Turing hat TM im Jahr 1936 eingeführt.

Turing-These: Turing Maschine fasst den Begriff

„nach Regeln berechenbar“.

4 Argumente

Menschliche Rechner, siehe nächste Folie

Beispiele: Zählen, Dezimaldarstellung von pi

Universelle Turingmaschine

Äquivalenz zur Formalisierung von Church

These ist allgemein akzeptiert

Rechner 33

Page 34: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

AEG Rechnerraum (1920)

Rechner 34

Page 35: Rechner Kurt Mehlhorn - mpi-inf.mpg.de · Eine Multiplikation in 2,9 Millisekunden 6000 Vakuumröhren Stromverbrauch 56 kW 45,5 m² Bodenfläche und 7850 kg Gewicht Betriebspersonal

Rechner sind (im Prinzip)

recht einfach aufgebaut:

Recheneinheit und

Speicher

Befehlzyklus: wiederhole

bis STOP-Befehl

Führe Befehl aus und

erhöhe Befehlszähler um 1

Bei Sprungbefehl setze BZ

auf die genannte Adresse

Übersetzung von höherer

Programmiersprache in

Maschinensprache erfolgt

maschinell

Rechner sind universell:

viele Programme auf

einem Rechner, das

gleiche Programm auf

vielen Rechnern

Zukunft??: Quantenrechner

35Rechner

Zusammenfassung