• Save
Bit WiSe 2013 | Basisinformationstechnologie I - 04: Rechnertechnologie I
Upcoming SlideShare
Loading in...5
×
 

Bit WiSe 2013 | Basisinformationstechnologie I - 04: Rechnertechnologie I

on

  • 640 views

 

Statistics

Views

Total Views
640
Views on SlideShare
402
Embed Views
238

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 238

http://www.hki.uni-koeln.de 238

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bit WiSe 2013 | Basisinformationstechnologie I - 04: Rechnertechnologie I Bit WiSe 2013 | Basisinformationstechnologie I - 04: Rechnertechnologie I Presentation Transcript

  • Basisinformationstechnologie I Wintersemester 2013/14 06. November 2013 – Rechnertechnologie I Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de
  • Inhalte der heutigen Sitzung Überblick: Rechner-/Computerentwicklung     Moore Leibniz Babbage Turing  Exkurs: Turingtest  Weizenbaum  von Neumann      Exkurs: Spieltheorie Die von Neumann Rechnerarchitektur Konzept: Universalrechner Cache als Hardwareelement Caching als Grundmechanismus Zeitgemäße Rechnerhardware  Motherboard, etc.
  • Kurzwiederholung
  • Binärdarstellung ganzer Zahlen Wie ℤ darstellen? MSB (Most Significant Bit, d.h.: erstes Bit, ganz links) zur Kennzeichnung verwenden  MSB == 0, dann positive Zahl  MSB == 1, dann negative Zahl …Probleme? 1000 = -0 0001 = +1 1001 = -1 0010 = +2 1010 = -2 0011 = +3 1011 = -3 0100 = +4 1100 = -4 0101 = +5 1101 = -5 0110 = +6 Möglichkeit I: 0000 = +0 1110 = -6 0111 = +7 1111 = -7
  • Zweierkomplementdarstellung -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 1000 = -8 1100 = -4 0000 = 0 0100 = 4 1001 = -7 1101 = -3 0001 = 1 0101 = 5 1010 = -6 1110 = -2 0010 = 2 0110 = 6 1011 = -5 1111 = -1 0011 = 3 0111 = 7 Darstellbarer Zahlenbereich: -2n-1 bis 2n-1-1
  • Subtraktion im Binärsystem Aufgabe: Berechnen Sie 13-5 im Binärsystem Schritt 1: Umrechnen und Zweierkomplement bilden 13/2=6, Rest 1 6/2 =3, Rest 0 3/2 =1, Rest 1 1/2 =0, Rest 1 5/2=2, Rest 1 2/2=1, Rest 0 1/2=0, Rest 1 13 = 0000 1101 5 = 101 = 0000 0101 Einerkomplement: 1111 1010 Zweierkomplement:1111 1011 Schritt 2: Binärzahlen addieren 0000 1101 +1111 1011 Ü1 1111 111 ---------------10000 1000 Zahl ist positiv (MSB==0)  Die führende 1, die aus der Addition ad infinitum resultiert, überschreitet den Wertebereich und wird gestrichen Ergebnis: 13-5 = 0000 1101 + 1111 1011 = 0000 1000 = 8
  • Rechner-/Computerentwicklung
  • Rechner-/Computerentwicklung „Wenn sich die Luftfahrtindustrie genauso schnell wie die Computertechnologie entwickelt hätte, würde ein Flugzeug 500 Dollar kosten und könnte die Erde in 20 Minuten mit 5 Gallonen Treibstoff umrunden. Allerdings hätte es die Größe eines Schuhkartons.“ (Gordon Moore, zitiert nach: Tanenbaum, Andrew S.: Computerarchitektur, S. 43.)  Kostenreduzierung  Leistungsfähigkeit (Performance)  Ressourcenverbrauch  Strukturreduzierung
  • Das Mooresche Gesetz (Moore‘s Law) „Die Anzahl der Transistoren, die auf einem Chip (IC, Integrated Circuit) untergebracht werden können, verdoppelt sich alle 2 Jahre.“
  • Rechner-/Computerentwicklung Anno Pief: Abakus, etc. 17. Jahrhundert  Blaise Pascal (1623-1662) Rechenmaschine „Pascaline“ [Addition / Subtraktion]  Gottfried Wilhelm Leibniz (1646-1716): Rechenmaschine [Addition / Subtraktion Division / Multiplikation] Bildnachweis: Pascaline: David Monniaux Leibniz„ Rechenmaschine: Kolossos, http://de.wikipedia.org/w/index.php?title=Datei:Leibnitzrechenmaschine.jpg&filetimestamp=20060706122903
  • Ein Automat: die mechanische Ente (de Vaucanson, 1738)
  • Rechner-/Computerentwicklung Charles Babbage (1792-1871)  Difference Engine / Differenzmaschine  Lösung polynominaler Fkt.  [Addition]  Analytical Engine (Entwurf)  Sollte von Dampfmaschine betrieben werden  Wäre mehr als 30 Meter lang und 10 Meter breit gewesen  Deutet zahlreiche Innovationen und Konzepte an, u.a.:  Eingabe (Befehle u. Daten) über Lochkarten  Ausgabe über Lochkartenstanzer  Speicherwerk  Rechenwerk Bildnachweis: Detailaufnahme Difference Engine: Carsten Ullrich
  • Rechner-/Computerentwicklung: Colossus (1943) COLOSSUS (1943, u.a. Turing) ENIGMA / Lorenz-Schlüsselmaschine
  • Alan Turing    1912 (London) – 1954 1936: On Computable Numbers, with an Application to the “Entscheidungsproblem”  Turingmaschine 2. Weltkrieg: „Code Knacker“, u.a. „Turing-Bombe“, „Colossus“
  • Alan Turing     1945-1948: National Physical Laboratory: ACE (Automatic Computing Engine), Referenz zu Babbages „Analytical Engine“ 1948-1949: „Manchester Mark I“, Röhrencomputer 1950: „Computing machinery and intelligence“  Turingtest 2012: Turingjahr
  • Exkurs (ein kleiner): Der Turingtest
  • Turingtest
  • Turingtest: Bots
  • Eine Implementierung des Turingtests: ELIZA       Benutzer: „Ich habe ein Problem mit meinem Auto.“ ELIZA: „Warum, sagen Sie, haben Sie ein Problem mit Ihrem Auto?“ ----Benutzer: „Ich habe ein Problem mit meinem Vater.“ ELIZA: „Erzählen Sie mir mehr über Ihre Familie!“ ----Benutzer: „Krieg ist der Vater aller Dinge.“ ELIZA: „Erzählen Sie mir mehr über Ihre Familie!“
  • http://www.cleverbot.com/
  • ...Rechnerentwicklung
  • ENIAC (1946, Electronic Numerical Integrator and Computer)
  • John von Neumann John von Neumann  * 1903 (Budapest) als János von Neumann zu Margitta, † 1957 (Washington D.C.)  U.a. Arbeiten zur Quantenmechanik, Spieltheorie, Manhattan-Projekt (mit Oppenheimer)  Informatik: Von-Neumann-Architektur bzw. VonNeumann-Rechner: Rechner, in dem Daten und Programm binär codiert in einem Speicher liegen.
  • Exkurs (noch ein kleiner): Spieltheorie
  • X O X O
  • X O X O O X O X O X O X O O
  • Spieltheorie nach von Neumann und Morgenstern „Theory of Games and Economic Behavior“ (1944)  Spiel („game“): Gesamtheit der Regeln, die das Spiel beschreiben  Spielpartie („play“): Vorgang, in dem das Spiel gespielt wird  Spielzug („move“)  Zugwahl („choice“)  Spielregeln determinieren, welche Spielsymbole zu welchem Spielzeitpunkt auf welche Art und Weise bewegt werden dürfen
  • Spieltheorie nach von Neumann und Morgenstern 
  • Ein Spiel in Normalform Koch Köchin: 50 Euro  Koch: 50 Euro Koch: 100 Euro Köchin: 100 Euro Köchin: 20 Euro Koch: 0 Euro Köchin Köchin: 0 Euro Koch: 20 Euro
  • Juul, Jesper: „255,168 ways of playing Tic Tac Toe” („http://www.jesperjuul.net/ludologist/255168-ways-of-playing-tic-tac-toe) Extensivform von Spielen (Tic Tac Toe)
  • …ein wenig abstrakter… 3 12 8 2 4 6 14 5 2
  • Der Minimax-Algorithmus 3 MAX max(3,2,2)=3 min(14,5,2)=2 min(2,4,6)=2 3 MIN 2 2 min(3,12,8)=3 3 12 8 2 4 6 14 5 2
  • Die Von-Neuman-Architektur
  • Universalrechner: Struktur des Rechners ist unabhängig Universalrechner von dem zu lösenden Problem, d.h. keine starre Programmierung des Rechners über hardwareseitige Repräsentation (z.B. Kabelverbindungen bei ENIAC) des Programmes.
  • Von-Neumann-Architektur ……… ……… ……… ……… ……… ………
  • Von-Neumann-Architektur   Steuerwerk Rechenwerk Zentrale Recheneinheit (CPU = Central Processing Unit) Steuerwerk Rechenwerk (ALU)
  • Von-Neumann-Architektur    Steuerwerk Rechenwerk Interne Datenwege Zentrale Recheneinheit (CPU = Central Processing Unit) Steuerwerk Rechenwerk (ALU) Funktionsweise & Eigenschaften  Zahlen werden im Rechner binär dargestellt  Universalrechner  Programme und Daten werden in einem gemeinsamen Speicher abgelegt  Befehle geben nur die Speicheradresse an, wo die Daten abgelegt sind, nicht die Daten selbst Interne Datenwege (Bus-System)
  • Von-Neumann-Architektur     Steuerwerk Rechenwerk Interne Datenwege Arbeitsspeicher / Speicherwerk Zentrale Recheneinheit (CPU = Central Processing Unit) Steuerwerk Rechenwerk (ALU) Funktionsweise & Eigenschaften  Zahlen werden im Rechner binär dargestellt  Universalrechner  Programme und Daten werden in einem gemeinsamen Speicher abgelegt  Befehle geben nur die Speicheradresse an, wo die Daten abgelegt sind, nicht die Daten selbst Interne Datenwege (Bus-System) Speicherwerk
  • Von-Neumann-Architektur      Steuerwerk Rechenwerk Interne Datenwege Arbeitsspeicher / Speicherwerk Ein-/Ausgabewerk Funktionsweise & Eigenschaften  Zahlen werden im Rechner binär dargestellt  Universalrechner  Programme und Daten werden in einem gemeinsamen Speicher abgelegt  Befehle geben nur die Speicheradresse an, wo die Daten abgelegt sind, nicht die Daten selbst Zentrale Recheneinheit (CPU = Central Processing Unit) Steuerwerk Rechenwerk (ALU) Interne Datenwege (Bus-System) Speicherwerk Ein/Ausgabewerk
  • Von-Neumann-Architektur Befehlsverarbeitung  Von-Neumann-Zyklus in fünf Teilschritten:      FETCH DECODE FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC)
  • Von-Neumann-Architektur Befehlsverarbeitung  Von-Neumann-Zyklus in fünf Teilschritten:      FETCH DECODE FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC)  FETCH: Laden des nächsten zu bearbeitenden Befehls in das Befehlsregister (bildet gemeinsam mit Steuerwerk und Rechenwerk die CPU).
  • Von-Neumann-Architektur Befehlsverarbeitung  Von-Neumann-Zyklus in fünf Teilschritten:      FETCH DECODE FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC)  FETCH: Laden des nächsten zu bearbeitenden Befehls in das Befehlsregister (bildet gemeinsam mit Steuerwerk und Rechenwerk die CPU).  DECODE: Befehl wird durch Steuerwerk in Schaltinstruktionen für das Rechenwerk übersetzt.
  • Von-Neumann-Architektur Befehlsverarbeitung  Von-Neumann-Zyklus in fünf Teilschritten:      FETCH DECODE FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC)  FETCH: Laden des nächsten zu bearbeitenden Befehls in das Befehlsregister (bildet gemeinsam mit Steuerwerk und Rechenwerk die CPU).  DECODE: Befehl wird durch Steuerwerk in Schaltinstruktionen für das Rechenwerk übersetzt.  FETCH OPERANDS: Operanden holen, die durch den Befehl verändert werden sollen.
  • Von-Neumann-Architektur Befehlsverarbeitung  Von-Neumann-Zyklus in fünf Teilschritten:      FETCH DECODE FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC)  FETCH: Laden des nächsten zu bearbeitenden Befehls in das Befehlsregister (bildet gemeinsam mit Steuerwerk und Rechenwerk die CPU).  DECODE: Befehl wird durch Steuerwerk in Schaltinstruktionen für das Rechenwerk übersetzt.  FETCH OPERANDS: Operanden holen, die durch den Befehl verändert werden sollen.  EXECUTE: Rechenwerk führt die Operation aus.
  • Von-Neumann-Architektur Befehlsverarbeitung  Von-Neumann-Zyklus in fünf Teilschritten:      FETCH DECODE FETCH OPERANDS EXECUTE UPDATE PROGRAM COUNTER (UPC)  FETCH: Laden des nächsten zu bearbeitenden Befehls in das Befehlsregister (bildet gemeinsam mit Steuerwerk und Rechenwerk die CPU).  DECODE: Befehl wird durch Steuerwerk in Schaltinstruktionen für das Rechenwerk übersetzt.  FETCH OPERANDS: Operanden holen, die durch den Befehl verändert werden sollen.  EXECUTE: Rechenwerk führt die Operation aus.  UPC: Erhöhung des Befehlszählers, damit der Rechner weiß, an welcher Stelle des Programms er sich gerade befindet. Geschieht parallel zu DECODE und FETCH OPERANDS.
  • Von-Neumann-Architektur Vor- und Nachteile
  • Von-Neumann-Architektur Vorteile  Bedeutende Idee: Zunächst Laden des Programmes und der Daten in ein und denselben Speicher, danach Ausführung.  Vor von Neumanns Ansatz war das Programm hardwareseitig verschaltet / repräsentiert oder wurde über Lochstreifenkarten schrittweise eingelesen und sofort (sequentiell) verarbeitet.  Nun möglich:  Sprünge auf vorhergehende und spätere Programmsequenzen  Modifikation des Programmcodes während des Programmablaufes  Paradigmawechsel: Übergang vom starren Programmablauf zur flexiblen Programmsteuerung bzw. von der Rechenmaschine zur Datenverarbeitungsmaschine
  • Von-Neumann-Architektur Nachteile  Da Daten und Befehle im Speicher gehalten werden, wird die Verbindung und Datenübertragung zwischen CPU und Speicher über den Systembus zum VonNeumann-Flaschenhals:  Jeglicher Datenverkehr von und zur CPU wird über den internen Bus abgewickelt, dessen Transfergeschwindigkeit langsamer ist, als die Verarbeitungsgeschwindigkeit der CPU. Dieses Problem versucht man in modernen PC's durch die Verwendung von schnellem Cache-Speicher abzuschwächen, der meist in die CPU integriert ist.
  • Heutige Computer
  • Rechnerkomponenten ...?
  • Central Processing Unit  Verarbeitung von Daten, die sich in Form von Bitfolgen / Bytes im RAM (Random Access Memory) befinden CPU-Bestandteile:  Register: Hilfsspeicherzellen, mit ALU verknüpft  Breite: z.B. 32 oder 64 Bit  ALU: Erwartet Daten / Argumente in Registern, legt Ergebnisse in Registern ab
  • CPU-Cache Schneller (aus Kostengründen kleiner) Pufferspeicher, in dem Kopien des RAM (in Auszügen) vorgehalten werden, die möglicherweise als nächstes von der CPU benötigt werden.  Intention / Ziele:  Verringerung der Zugriffszeit bzw. Verringerung der Anzahl der Zugriffe auf den zu cachenden Speicher  Von-Neumann Flaschenhals Vorteil:  Durch Umgehung des Von-Neumann Flaschenhalses: Steigerung der Ausführungsund Verarbeitungsgeschwindigkeit von Programmen Nachteil:  Schwer vorhersehbar, welche Teile des Hauptspeichers von der CPU im nächsten Schritt benötigt werden  Cache-Misses  Teuer
  • CPU-Cache Grundidee des Caches: Häufig gebrauchte Speicherworte / Daten sollten im Cache stehen, um das Problem des von-Neumann-Flaschenhalses zu mindern. Funktionsprinzip des Cache:  Die CPU fordert ein gesuchtes Datum oder eine gesuchte Instruktion im Cache an.  Bei einem Cache-Hit befindet sich das Datum/Instruktion im Cache.  Bei einem Cache-Miss (die gewünschte Information befindet sich nicht im Cache) wird ein bestimmter Bereich, der das gesuchte Datum bzw. die gesuchte Instruktion enthält, aus dem Hauptspeicher in den Cache geladen (in der Hoffnung, dass folgende Zugriffe sich auf diesen aktualisierten Bereich beziehen!).
  • Cache Hierarchie Cache-Speicher ist sehr schnell, aber auch sehr teuer, darum Verwendung mehrerer Caches in einer Cache-Hierarchie:  Durchnummerierung vom Cache mit der niedrigsten Zugriffszeit (L1) bis zum langsamsten Cache (Ln), z.B. L1 Cache, L2 Cache, etc. Arbeitsweise:  Zunächst wird der schnellste Cache durchsucht; enthält der L1 Cache die benötigten Daten nicht, wird der nächste (zumeist langsamere und größere) Cache durchsucht.
  • Cache als allgemeines Prinzip Cache Speicher ist keine Idee, die allein der CPU vorbehalten ist  allgemeines Prinzip Beispiele im Alltag:  Buffering: Video-Dateien aus dem Web (z.B. bei youtube) werden gepuffert und anschließend wiedergegeben, um die – im Vergleich zur Festplatte - niedrige Übertragungsrate des Internets auszugleichen  Stichw. „Von-NeumannFlaschenhals“  Cache kann überall da sinnvoll eingesetzt werden, wo Speichermedien unterschiedlicher Geschwindigkeit miteinander kommunizieren. Auch wenn sich in den kommenden Jahren die aktuelle Technik völlig verändert, wird es immer Speicher geben, der schneller ist als anderer.
  • Speicherhierarchie    Faktum I: Die Zugriffszeit vergrößert sich, je weiter wir nach unten gehen. Faktum II: Die Speicherkapazität vergrößert sich, je weiter wir nach unten gehen. Faktum III: Die Anzahl der „Bits pro Dollar“ vergrößert sich, je weiter wir nach unten gehen, i.e.: Die Preise für die Speichermedien sinken, je weiter wir uns nach unten bewegen.
  • Inhalte der heutigen Sitzung Kurzer Überblick: Rechner-/Computerentwicklung     Moore Leibniz Babbage Turing  Exkurs: Turingtest  Weizenbaum  von Neumann      Exkurs: Spieltheorie Die von Neumann Rechnerarchitektur Konzept: Universalrechner Cache als Hardwareelement Caching als Grundmechanismus Zeitgemäße Rechnerhardware  Motherboard, etc.
  • /
  • Hausaufgaben Aufgabe 1 (1 Punkt) Was macht den Von-Neumann Rechner zu einem Universalrechner? Aufgabe 2 (1 Punkt) Aus welchen Komponenten setzt sich ein von Neumann-Rechner zusammen? Welche Aufgaben haben die einzelnen Komponenten? Aufgabe 3 (1 Punkt) Welche Problematik wird als der von Neumann-Flaschenhals bezeichnet? Aufgabe 4 (1 Punkt) Was ist Cache-Speicher? Erörtern Sie bitte  „Cache“ als Bestandteil der CPU UND (!)  „Cache“ / „Caching“ als allgemeines Prinzip.
  • Hausaufgaben Aufgabe 5 (3 Punkte) In seiner 1950 publizierten Arbeit „Computing Machinery and Intelligence“, wie sie sich unter http://www.csee.umbc.edu/courses/471/papers/turing.pdf findet, beschreibt Alan Turing ein Gedankenexperiment, das als „Turingtest“ bezeichnet wird.  Lesen Sie bitte die ersten beiden Kapitel des Aufsatzes („The Imitation Game“ und „Critique of the New Problem“) und geben sie das Gedankenexemperiment nach Turing wieder.  Erläutern Sie bitte im Kontext des Turingtests, welche Antworten sich auf die Fragen des Fragestellers als (menschlich) „intelligent“ bezeichnen lassen.  Nähern Sie den Begriff der Intelligenz an: Wodurch ist menschliche Intelligenz charakterisiert? Sind Sie / bist Du der Meinung, dass es möglich ist, ein Computersystem zu implementieren, das den Turingtest besteht – ein Computersystem also, das sich als „intelligent“ bezeichnen ließe?