13
http://www.icp.uni-stuttgart.de Computergrundlagen Geschichte des Computers Axel Arnold Institut f ¨ ur Computerphysik Universit ¨ at Stuttgart Wintersemester 2011/12

Computergrundlagen Geschichte des Computersicp/mediawiki/images/archive/1/1f...t.de 1641: Rechenmaschine von B. Pascal B. Pascal, 1623 - 1662 mechanische Rechenmaschine addierte &

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

ComputergrundlagenGeschichte des Computers

Axel Arnold

Institut fur ComputerphysikUniversitat Stuttgart

Wintersemester 2011/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

1641: Rechenmaschine von B. Pascal

B. Pascal,1623 - 1662

• mechanische Rechenmaschine• addierte & subtrahierte ganze Zahlen• nicht programmierbar

A. Arnold Computergrundlagen 2/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

1837: Analytical Engine von C. Babbage

C. Babbage,1791 - 1871

• programmierbare mechanische Rechenmaschine• 3 Lochkartenleser fur Programm, Konstanten und Eingabezahlen• 4 Grundrechenarten, Sprunge• nie gebaut

A. Arnold Computergrundlagen 3/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

1941: Z3 von K. Zuse

K. Zuse,1910 - 1995

Zuse Z1 Zuse Z3

Z1, 1937: programmierbare mechanische RechenmaschineZ3, 1941: elektromechanischer Rechner:Relais und Kernspeicher

• 0,9 / 1,4 Flops (Fliesskomma-Operationen / Sekunde)• Programm und Daten uber eigene Lochkartenleser• im 2. Weltkrieg zerstort, Rekonstruktion in Munchen

A. Arnold Computergrundlagen 4/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

1946: ENIAC

• erster Rohrenrechner• 350 Flops• Grundrechenarten + Wurzeln• Programmeingabe durch Verdrahtung• 1948 Einbau eines Befehlsspeichers

A. Arnold Computergrundlagen 5/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

Von Neumann-Architektur (1945)

J. von Neumann,1903 - 1957

arithmetic

logic

unit

control

unit

CPU

accumulators

memory0 1 2 3 4 5 6 7 8 9 ...10

inp

ut/o

utp

ut

• Grundlage aller modernen Rechnerarchitekturen nach ENIAC• ein linearer Ganzzahl-Speicher fur Programme und Daten• random access memory (RAM) – Speicher mit wahlfreiem Zugriff• Befehle sind Zahlen im Speicher, konnen uberschrieben werden

A. Arnold Computergrundlagen 6/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

Von Neumann-Architektur (1945)

J. von Neumann,1903 - 1957

arithmetic

logic

unit

control

unit

CPU

accumulators

memory0 1 2 3 4 5 6 7 8 9 ...10

inp

ut/o

utp

ut

• Befehle werden sequenziell abgearbeitet• Befehlszahler enthalt die Adresse des aktuellen Befehls• wird normalerweise hochgezahlt• Sprunge und Verzweigung sind spezielle Befehle

A. Arnold Computergrundlagen 6/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

1976: Apple I / II

• 1976: Apple I, erster ”Serien“-PC, 100 Exemplare• 1977: Apple II, 2 Millionen Exemplare• 8-bit CPU (6502), 48kB RAM, 1000 Flops• Massenmarkt: C64 – 30 Millionen Exemplare• Grund: zahlreiche Computerspiele• erst ab ca 1990 setzen sich IBM-kompatible Heim-PCs durch

A. Arnold Computergrundlagen 7/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

2008: Intel Nehalem

quadruple associative Instruction Cache 32 KByte,128-entry TLB-4K, 7 TLB-2/4M per thread

Prefetch Buffer (16 Bytes)

Predecode & Instruction Length Decoder

Instruction Queue18 x86 Instructions

AlignmentMacroOp Fusion

ComplexDecoder

SimpleDecoder

SimpleDecoder

SimpleDecoder

Decoded Instruction Queue (28 µOP entries)

MicroOp Fusion

LoopStream

Decoder

2 x Register Allocation Table (RAT)

Reorder Buffer (128-entry) fused

2 xRetirement

RegisterFile

Reservation Station (128-entry) fused

StoreAddr.Unit

AGU

LoadAddr.Unit

AGUStoreData

MicroInstructionSequencer

256 KByte8-way,64 Byte

Cacheline,private

L2-Cache

512-entryL2-TLB-4K

Integer/MMX ALU,

Branch

SSEADDMove

Integer/MMX ALU

SSEADDMove

FPADD

Integer/MMX ALU,

2x AGU

SSEMUL/DIV

Move

FPMUL

Memory Order Buffer (MOB)

octruple associative Data Cache 32 KByte,64-entry TLB-4K, 32-entry TLB-2/4M

BranchPrediction

global/bimodal,loop, indirect

jmp

128

Port 4 Port 0Port 3 Port 2 Port 5 Port 1

128 128

128 128 128

Result Bus256

Quick PathInter-

connect

DDR3Memory

Controller

CommonL3-Cache8 MByte

Uncore

4 x 20 Bit6,4 GT/s

3 x 64 Bit1,33 GT/s

Intel Nehalem microarchitectureTo Input/OutputControl unit

To Memory

ALUs + FPUs

• auch ein Nehalem-Kern ist immer noch eine von Neumann-CPU• ... aber mit 50-100 Gigaflops• Millionen verkaufte Einheiten — pro Jahr

A. Arnold Computergrundlagen 8/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

Theoretische Informatik, Berechenbarkeit

A. Turing, 1912 - 1954Turingmaschine

Zustand s

1 0 1 0 1 0 1 0

Arbeitsband (Speicher)

Aktuelle Schreib−/Leseposition p

• ca 1920, D. Hilbert: Was ist berechnenbar, was beweisbar?• 1931, K. Godel: Entweder widerspruchsfrei oder vollstandig!• 1936: A. Turing: Turingmaschine, in ”On Computable Numbers,

with an Application to the ”Entscheidungsproblem” “• Nicht alles ist berechnenbar!• Wir konnen nicht mal bestimmen, was nicht beweisbar ist

A. Arnold Computergrundlagen 9/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

Turingmaschinen

Eine Turingmaschine ist definiert durch• eine endliche Menge Γ, das Arbeitsalphabet, mit Leerzeichent ∈ Γ

• eine endliche Menge Z von Zustanden der Maschine• den Startzustand s ∈ Z und den Haltezustand h ∈ Z• eine Uberfuhrungsfunktion δ : Z × Γ→ Z × Γ× {←, ↓,→}

Eine Konfiguration ist• eine Zeichenkette w uber dem Arbeitsalphabet• eine Position p in w , die aktuelle Arbeitsposition• der aktuelle Zustand z der Turingmaschine

Eine Konfiguration (w ,p, z) fuhrt in eine andere (w ′,p′, z ′) uber,wenn δ(z,wp) = (z ′,w ′

p,d), und d p nach p′ versetzt.Startkonfiguration: Eine Eingabe w , p am Anfang von w , Zustand s.A. Arnold Computergrundlagen 10/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

Darstellung von Turingmaschinen

Beispiel: Eine ”1“ vorne einfugen

B

h

A

s

t : 1,→

0 : 1,→

1 : 1,→

0 : 0,→

1 : 1,→

1 : 0,→0 : 1,→

t : 0,→

t : 1,→

A: ”0“ gemerkt

B: ”1“ gemerkt

s 0 A 1 →s 1 B 1 →s t h 1 →A 0 A 0 →A 1 B 0 →A t h 0 →B 0 A 1 →B 1 B 1 →B t h 1 →

Ablauf: Schreibe Zustand in das Arbeitsband vor die aktuellePosition, ` bezeichnet Ubergang

s101 ` 1B01 ` 11A1 ` 110Bt ` 1101ht

A. Arnold Computergrundlagen 11/12

http

://w

ww

.icp.

uni-s

tuttg

art.d

e

Turingmaschinen II

• Turingmaschinen konnen kombiniert werdenBeispiel: Hinter jedem Zeichen eine 0 einfugen

• universelle Turingmaschine: eine Turingmaschine, die berechnet,was eine Turingmaschine tut

• Halteproblem: es gibt keine Turingmaschine, die entscheidet, obeine gegebene Turingmaschine bei leerer Eingabe anhalt

• Turingmaschinen und von Neumann-Computer sind aquivalent

• Church-Turing-These:

Turing-berechenbare Funktionen sind genau die vonMenschen intuitiv berechenbaren Funktionen

A. Arnold Computergrundlagen 12/12