Computergrundlagen Geschichte des Computers

Ähnliche Dokumente
Computergrundlagen Geschichte des Computers

Computergrundlagen Turingmaschinen und Programmierung

Computergrundlagen Geschichte des Computers

Was ist ein Computer? Was ist ein Programm? Können Computer Alles?

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik

Die Sandy-Bridge Architektur

Was ist ein Computer? Was ist ein Programm? Können Computer Alles?

Neue Prozessor-Architekturen für Desktop-PC

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Allgemeine Informatik Thema 1 Informatik; Konzepte (II)

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Datenpfad einer einfachen MIPS CPU

Wichtige Rechnerarchitekturen

Ideen und Konzepte der Informatik. Rechner. Kurt Mehlhorn

Aufbau und Funktionsweise eines Computers

Rechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik

Datenpfad einer einfachen MIPS CPU

Ideen und Konzepte der Informatik Rechner Antonios Antoniadis (basierend auf Folien von Kurt Mehlhorn)

Computergrundlagen Moderne Rechnerarchitekturen

Grundlagen der Theoretischen Informatik: Übung 10

Computer-Architektur Ein Überblick

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Turing-Maschinen: Ein abstrakes Maschinenmodell

Dipl. Ing. (FH) Ehrenfried Stuhlpfarrer

Brückenkurs / Computer

Berechenbarkeit und Komplexität

Teil 1: Prozessorstrukturen

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität

Datenpfad einer einfachen MIPS CPU

Teil VIII Von Neumann Rechner 1

Wie funktionieren Computer?

Mikroprozessor als universeller digitaler Baustein

Einstieg imperative Programmierung auf Von-Neumann-Rechnern

Berechenbarkeit. Script, Kapitel 2

Computergrundlagen Moderne Rechnerarchitekturen

Datenpfad einer einfachen MIPS CPU

B Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2)

Rechnerorganisation. H.-D. Wuttke `

11. Übungsblatt. x y(top(push(x, y)) = y)

Prinzipieller Aufbau und Funktionsweise eines Prozessors

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Intel Xeon Phi. Praktikum Parallele Rechnerarchitekturen May 13,

Einführung in die Theoretische Informatik

JR - RA - SS02 Kap

3. Rechnerarchitektur

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Frank Kuchta Markus Rüger

Theoretische Informatik. Berechenbarkeit

LOOP-Programme: Syntaktische Komponenten

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Mikroprozessortechnik Grundlagen 1

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus

Brückenkurs / Computer

JR - RA - SS02 Kap

3. RAM als Rechnermodell

Grundlagen der Rechnerarchitektur. MIPS Assembler

Berechenbarkeit. Script, Kapitel 2

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

Ideen der Informatik. Wie funktionieren Computer? Kurt Mehlhorn

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Theorie der Informatik

Ideen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann

Vorlesung Programmieren

Verschiedenes. Peter B. Ladkin

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

UltraSPARC T2 Processor

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

1.5 Turing-Berechenbarkeit

Computer - Aufbau u. Funktionsweise

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9


Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Grundlagen der Informatik

Instruktionssatz-Architektur

HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Allgemeine Informatik Thema 1 Informatik; Konzepte

Mächtigkeit von WHILE-Programmen

Grundlagen der Theoretischen Informatik

Cell and Larrabee Microarchitecture

1.5 Turing-Berechenbarkeit

Grundlagen der Rechnerarchitektur

Vorlesung 3: Verschiedenes

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Berechnungsmodelle. Mathias Hecht. April 29, 2010

Typ-0-Sprachen und Turingmaschinen

Einleitung. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Aufbau und Funktionsweise eines Computers

Technische Informatik - Eine Einführung

11.1 Kontextsensitive und allgemeine Grammatiken

Transkript:

Computergrundlagen Geschichte des Computers Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2011/12

1641: Rechenmaschine von B. Pascal B. Pascal, 1623-1662 mechanische Rechenmaschine addierte & subtrahierte ganze Zahlen nicht programmierbar http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 2/12

1837: Analytical Engine von C. Babbage C. Babbage, 1791-1871 programmierbare mechanische Rechenmaschine 3 Lochkartenleser für Programm, Konstanten und Eingabezahlen 4 Grundrechenarten, Sprünge nie gebaut http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 3/12

1941: Z3 von K. Zuse K. Zuse, 1910-1995 Zuse Z1 Zuse Z3 Z1, 1937: programmierbare mechanische Rechenmaschine Z3, 1941: elektromechanischer Rechner: Relais und Kernspeicher 0,9 / 1,4 Flops (Fliesskomma-Operationen / Sekunde) Programm und Daten über eigene Lochkartenleser im 2. Weltkrieg zerstört, Rekonstruktion in München http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 4/12

1946: ENIAC erster Röhrenrechner 350 Flops Grundrechenarten + Wurzeln Programmeingabe durch Verdrahtung 1948 Einbau eines Befehlsspeichers http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 5/12

Von Neumann-Architektur (1945) memory 0 1 2 3 4 5 6 7 8 9 10... CPU J. von Neumann, 1903-1957 control unit arithmetic logic unit accumulators input/output Grundlage aller modernen Rechnerarchitekturen nach ENIAC ein linearer Ganzzahl-Speicher für Programme und Daten random access memory (RAM) Speicher mit wahlfreiem Zugriff Befehle sind Zahlen im Speicher, können überschrieben werden http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 6/12

Von Neumann-Architektur (1945) memory 0 1 2 3 4 5 6 7 8 9 10... CPU J. von Neumann, 1903-1957 control unit arithmetic logic unit accumulators input/output Befehle werden sequenziell abgearbeitet Befehlszähler enthält die Adresse des aktuellen Befehls wird normalerweise hochgezählt Sprünge und Verzweigung sind spezielle Befehle http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 6/12

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 http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 7/12

2008: Intel Nehalem Control unit Intel Nehalem microarchitecture To Input/Output quadruple associative Instruction Cache 32 KByte, Uncore 128-entry TLB-4K, 7 TLB-2/4M per thread 128 Quick Path Prefetch Buffer (16 Bytes) Branch Interconnect Prediction global/bimodal, Predecode & loop, indirect 4 x 20 Bit Instruction Length Decoder jmp 6,4 GT/s Instruction Queue 18 x86 Instructions Alignment MacroOp Fusion DDR3 Memory Controller 3 x 64 Bit To Memory 1,33 GT/s Complex Simple Simple Simple Decoder Decoder Decoder Decoder Loop Stream Decoded Instruction Queue (28 µop entries) Decoder MicroOp Fusion 2 x Retirement 2 x Register Allocation Table (RAT) Register File Reorder Buffer (128-entry) fused Micro Instruction Sequencer Common L3-Cache 8 MByte ALUs + FPUs Store Data AGU Store Addr. Unit Reservation Station (128-entry) fused Port 4 Port 3 Port 2 Port 5 Port 1 Port 0 AGU Load Addr. Unit Integer/ MMX ALU, Branch SSE ADD Move Integer/ MMX ALU SSE ADD Move FP ADD FP MUL Integer/ MMX ALU, 2x AGU SSE MUL/DIV Move 256 KByte 8-way, 64 Byte Cacheline, private L2-Cache 512-entry L2-TLB-4K 128 128 128 Memory Order Buffer (MOB) Result Bus 256 128 128 octruple associative Data Cache 32 KByte, 64-entry TLB-4K, 32-entry TLB-2/4M auch ein Nehalem-Kern ist immer noch eine von Neumann-CPU... aber mit 50-100 Gigaflops Millionen verkaufte Einheiten pro Jahr http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 8/12

Theoretische Informatik, Berechenbarkeit Arbeitsband (Speicher) 1 0 1 0 1 0 1 0 Aktuelle Schreib /Leseposition p A. Turing, 1912-1954 Turingmaschine Zustand s ca 1920, D. Hilbert: Was ist berechnenbar, was beweisbar? 1931, K. Gödel: Entweder widerspruchsfrei oder vollständig! 1936: A. Turing: Turingmaschine, in On Computable Numbers, with an Application to the Entscheidungsproblem Nicht alles ist berechnenbar! Wir können nicht mal bestimmen, was nicht beweisbar ist http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 9/12

Turingmaschinen Eine Turingmaschine ist definiert durch eine endliche Menge Γ, das Arbeitsalphabet, mit Leerzeichen Γ eine endliche Menge Z von Zuständen der Maschine den Startzustand s Z und den Haltezustand h Z eine Überführungsfunktion δ : Z Γ Z Γ {,, } Eine Konfiguration ist eine Zeichenkette w über dem Arbeitsalphabet eine Position p in w, die aktuelle Arbeitsposition der aktuelle Zustand z der Turingmaschine Eine Konfiguration (w, p, z) führt in eine andere (w, p, z ) über, wenn δ(z, w p ) = (z, w p, d), und d p nach p versetzt. Startkonfiguration: Eine Eingabe w, p am Anfang von w, Zustand s. http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 10/12

Darstellung von Turingmaschinen Beispiel: Eine 1 vorne einfügen 0 : 0, A 0 : 1, : 0, 1 : 0, s h 0 : 1, 1 : 1, : 1, B : 1, 1 : 1, A: 0 gemerkt B: 1 gemerkt s 0 A 1 s 1 B 1 s h 1 A 0 A 0 A 1 B 0 A h 0 B 0 A 1 B 1 B 1 B h 1 Ablauf: Schreibe Zustand in das Arbeitsband vor die aktuelle Position, bezeichnet Übergang s101 1B01 11A1 110B 1101h http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 11/12

Turingmaschinen II Turingmaschinen können kombiniert werden Beispiel: Hinter jedem Zeichen eine 0 einfügen universelle Turingmaschine: eine Turingmaschine, die berechnet, was eine Turingmaschine tut Halteproblem: es gibt keine Turingmaschine, die entscheidet, ob eine gegebene Turingmaschine bei leerer Eingabe anhält Turingmaschinen und von Neumann-Computer sind äquivalent Church-Turing-These: Turing-berechenbare Funktionen sind genau die von Menschen intuitiv berechenbaren Funktionen http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 12/12