Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)

Die Seite wird erstellt Kjell Eberhardt
 
WEITER LESEN
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
Modul EPI (Einführung in die Praktische Informatik)
Vorlesung:
Grundlagen der Programmierung (GPR)

V01 Computer – Algorithmus – Programm (1)

Prof. Dr. Detlef Krömker
Professur für Graphische Datenverarbeitung
Institut für Informatik
Fachbereich Informatik und Mathematik (12)
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
Rückblick
Organisation
   1. Sie sollten sich in drei Moodle-Kursen (GPR, EPR und
      STO/EIS) angemeldet haben!
    2. Sie sollten sich zu den Übungsgruppen GPR und EPR und einer
       Mentorengruppe (STO/EIS) angemeldet haben und eingeteilt
       worden sein!
    3. Sie sollten ihre eigene Arbeitsumgebung für Python anlegen.
    4. Sie sollten Zweierteams (x2 = 4 ➔ Lerngruppe) bilden!
    5. Sie sollten das Quiz Q00 „Testkurs“ gemacht haben.

     Vorlesung VG01
     Computer                    Prof. Dr. Detlef Krömker
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
FAQs (die kleinen Trostpflästerchen)
‣   Wenn ich den Anmelde-Termin verpasst habe, was dann?
‣   Wenn ich die Übungsgruppe wechseln will - egal warum?
‣   In Moodle Änderungswünsche annoncieren und Tauschpartner suchen!
    Wenn erfolgreich, gleich zu 2.(unten) gehen.
‣   Nachrücker/Wechsler können sich noch anmelden!
     ‣ 1. Moodle schauen, wo noch Platz ist
     ‣ 2. Direkt zur Tutor*in gehen und sie/ihn fragen, ob er/sie noch
       jemanden aufnimmt.
       Dieser gibt uns dann ggf. die Änderung bekannt.

‣   Fragen?

      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
Unser heutiges Lernziel
Zentrale Grundbegriffe kennen lernen:
    ‣ Computer
    Als Zwischenruf: Digitale Daten – Bits und Bytes
    ‣ Algorithmus und erste Beschreibungsmöglichkeiten
    ‣ Programm (und Programmiersprachen:
      kommt beides nächste Woche: Genealogie und Paradigmen)
Begriffsbestimmung/-klärung ist unser Ziel – nicht strenge Definition!
Und „informatische Bildung“ für Sie!

Grundsätzlich geht es in GPR um das WARUM? Dazu gehört
   manchmal ein bisschen Geschichte.
     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. Das Konzept des von-Neumann-Rechners
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
Was ist ein Computer? - Begriffsbestimmung
Eine Maschine (heute i.d.R. eine digital-elektronische) zur Speicherung
   und automatischen Verarbeitung von Daten resp. Informationen (z.B. für
   mathematische Berechnungen oder allgemeiner Zeichenersetzungen)
   durch Angabe einer programmierbaren (Rechen-)vorschrift.
Die programmierbare, d.h. veränderbare (Rechen-)vorschrift, nennen
   wir Programm oder Software
   ➔ Hardware (die Elektronik + Gehäuse), das „unveränderbare“,
   ➔ Software (das Programm), das „veränderbare“.
Aus der Begriffsbestimmung ergibt sich u.a.:
   Was war der erste Computer? – Wer war der Erfinder des Computers?

     Vorlesung VG01
     Computer                      Prof. Dr. Detlef Krömker
Modul EPI (Einführung in die Praktische Informatik) Vorlesung: Grundlagen der Programmierung (GPR)
Der Begriff „Computer“
‣   Computer = Rechner oder Rechenanlage lässt sich aus dem
    lateinischen computare (zählen, rechnen) herleiten.

‣   Entstammt im modernen Deutsch eher dem Englischen computer.
    Abgeleitet vom Verb to compute (rechnen).

‣   Ursprünglich im Englischen: „computer“ war ein Beruf: bezeichnete
    Menschen, die im Mittelalter für Astronomen die quälend langwierigen
    Berechnungen vornahmen.
                                                                  Thomas J.
‣   Zunächst wurden die „Arbeiter“, die Rechenmaschinen bedienten,
                                                             Watsonals
                                                                    (CEO)
    Computer bezeichnet,                                      Erste IBM-
                                                                Computer Ende
    später ging der Begriff auf „diese“ Maschinen über.         40er nannte er
                                                                 „Calculator“

      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Zwischenruf:
Was ist das - "digital-elektronische Maschine"?
‣     elektronisch? Elektronik ist ein Teilgebiet der Elektrotechnik und
      wird durch die benutzen Bauelemente gekennzeichnet:
      (Elektronenröhre, Transistor, Mikroelektronik = miniaturisierte
      elektronischen Schaltungen, integrierte Schaltungen, IC)
‣     Beispiele für elektronische Bauelemente

    Röhren (bis ca. 1960)                                           Prozessorchip (2017)
                            Diskrete Elemente (bis 1980)            Youtube, Mr1996steffen: AMD
    Quelle Wikipedia        Quelle Wikipedia                        Ryzen CPU …installieren
         Vorlesung VG01
         Computer                        Prof. Dr. Detlef Krömker
Zwischenruf:
Was ist das - "digital-elektronische Maschine"?
elektronisch? Elektronik ist ein Teilgebiet der Elektrotechnik und wird
durch die benutzen Bauelemente gekennzeichnet: (Elektronenröhre,
Transistor, Mikroelektronik = miniaturisierte elektronischen Schaltungen,
integrierte Schaltungen, Integrated Circuit (IC)).
Für Informatiker ist das die Hardware. Zu unterscheiden sind:
                                       Analogrechner: Signale sind wert-
                                       und zeitkontinuierlich.
                                       Digitalrechner: Signale sind wert-
                                       und zeitdiskret. Vorgang der
                                       Wandlung nennt man
                                       Digitalisierung: zeitlich: Abtastung
                                       wertmäßig: Quantisierung
     Vorlesung VG01
     Computer                        Prof. Dr. Detlef Krömker
Zusammenfassung: Digitalrechner
Ein Digitalrechner (von lat. digitus = Finger; mit Fingern wird gezählt und
gerechnet) kennt nur
     ‣ diskrete (quantisierte) Werte und
     ‣ in der zeitlichen Abfolge, Werte nur zu bestimmten diskreten
       Zeitpunkten, den Abtastzeitpunkten
‣   Die in der Praxis bedeutenste Form stellt die binäre Digitaltechnik
    dar, die nur zwei gültige diskrete Signalzustände kennt. Diese
    werden üblicherweise als Bit mit den Werten (logisch) Null (0) und als
    (logisch) Eins (1) bezeichnet.
‣   Eigentlich müssten unsere Computer "Binärrechner" heißen, aber das
    sagt niemand.
‣   Größere Wertebereiche deckt man durch geeignete Binär-Codes ab.
      Vorlesung VG01
      Computer                        Prof. Dr. Detlef Krömker
Zusammenfassung: Warum darf man fast alles auf einem Digitalrechner
berechnen, obwohl fast alle Größen in der Physik kontinuierlich (analog) sind?

1. Die Präzision der Berechnungen auf einem Digitalrechner kann man
   beliebig hoch treiben. Aber natürlich muss man mögliche
   Rechenungenauigkeiten (Rundungsfehler) geeignet überwachen.
   [Das betrachten wir noch genauer bei Floating-Point Zahlen, siehe dort.]
2. Es gibt das Shannonsche Abtasttheorem: d.h. man kann die Abtastraten
   so wählen (wenn es auch manchmal in der Praxis schwer ist), dass das
   Signal exakt rekonstruiert werden kann, d.h. gar kein Unterschied
   mehr zwischen dem analogen Signal und dem aus dem digitalen
   rekonstruierten Signal bestehtHierzu muss man „nur“ die maximale
   Änderungsrate (genauer die Grenzfrequenz) eines Signals bestimmen
   und mit mehr als doppelt so viel abtasten. Echt spannend.
3. Gelegentlich kann man die Einhaltung des Theorems nicht sicher-
   stellen, dann entstehen allerdings unvermeidbar Fehler.
      Vorlesung VG01
      Computer                             Prof. Dr. Detlef Krömker
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. Das Konzept des von-Neumann-Rechners
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Zwischenruf
Was ist ein Bit?
‣   Ein Bit lässt zwei mögliche Antworten (Werte) auf eine Frage zu, z.B.
     ‣ Ja oder Nein,
     ‣ Rechts oder Links,
     ‣ Wahr oder Falsch.
‣   Ist elementar (nicht weiter teilbar).
‣   Oft werden in diesem Zusammenhang die beiden Werte 0 und 1
    benutzt, früher auch 0 und L.
‣   Bit ist eine Wortkreuzung aus binary digit, englisch für Binärziffer.
    vorgeschlagen von John W. Tukey (1943) 1946.
‣   In der Fachliteratur 1948 zum ersten Mal von Claude Shannons in
    seiner berühmten Arbeit „A Mathematical Theory of Communication“
    erwähnt.
      Vorlesung VG01
      Computer                          Prof. Dr. Detlef Krömker
Bitfolgen (Bitvektor) als Code genutzt

Daten Zahl             Richtung
(Code)
000           0        Nord
001           1        Nordost
010           2        Ost
011           3        Südost
100           4        Süd
101           5        Südwest
110           6        West
111           7        Nordwest

      Vorlesung VG01
      Computer                    Prof. Dr. Detlef Krömker
Technische Realisierungen für ein Bit
‣   Das Vorhandensein einer Spannung, die größer oder kleiner als ein
    vorgegebener Wert ist, z.B. [0..0,8V] = 0 und [2,4..5V] = 1 (Werte im
    Bereich (0,8...2,4V) sind undefinierte fehlerhafte Zustände.

‣   Die Stellung eines Kippschalters mit zwei Zuständen, zum Beispiel mit
    den Stellungen EIN oder AUS.

‣   Der Schaltzustand eines Transistors, "geringer Widerstand" oder
    "hoher Widerstand".

‣   Magnetisierung (auf einer Festplatte)

‣   Loch oder Vertiefung in einer CD (Compact Disk)
‣
      Vorlesung VG01
      Computer                        Prof. Dr. Detlef Krömker
Bedeutungen und Schreibweisen in Deutsch
„Bit oder bit“
‣   als Element in einer Folge von Binärwerten (einem Vektor, einem Wort)
    meist Bit, z.B. Bit 3
‣   als Speicherzelle, meist Bit.
‣   als Stelle in einem nach dem Stellenwertsystem codierten Binärwort
    meist Bit (von z. B. 32 Bit).
‣   als Einheit des Datentyps Boole, der True (Wahr) oder False (Falsch)
    sein kann, meist Bit.
‣   als Einheit für eine Datenmenge, meist bit.
‣   als Einheit für den Informationsgehalt (siehe Shannon, später), meist
    bit.
Aber, die Schreibweisen werden leider uneinheitlich genutzt.
      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Präfixe
 SI Internationales Einheitensystem       Abweich                        Binär-Einheiten
               ISO/IEC                      ung                        IEC 60027-2 2000-11
Name                                                       Name
                   Symbol    Vielfaches                                     Symbol     Vielfaches
(Vorsilbe)                                               (Vorsilbe)
Kilo                     k      103       + 2,4%         Kibi                  Ki      210 = 1024
Mega                     M      106       + 4,9%         Mebi                  Mi            220
Giga                     G      109       + 7,4%         Gibi                  Gi            230
Tera                     T     1012       +10,0%         Tebi                  Ti            240
Peta                     P     1015       +12,6%         Pebi                  Pi            250
Exa                      E     1018       +15,3%         Exbi                  Ei            260
Zetta                    Z     1021       +18,1%         Zebi                  Zi            270
Yotta                    Y     1024       +20,9%         Yobi                  Yi            280
        Vorlesung VG01
        Computer                            Prof. Dr. Detlef Krömker
Anmerkungen zu Präfixe
Die angegebenen Präfixe für Binäreinheiten sind die strenge (und
   korrekte) Version nach IEC 60027-2.

Man muss jedoch feststellen, dass sich die IEC Norm auch im Fachjargon
  allgemein nicht durchgesetzt hat.

Also wird man anstelle von gibibit (Gibit) = 230 bit = (210)3 bit sehr häufig
   „einfach“ gigabit (Gbit) hören oder lesen.

      Vorlesung VG01
      Computer                         Prof. Dr. Detlef Krömker
Noch eine übliche Einheit: „Byte“
‣   (fach-)umgangssprachlich die eines Tupels von 8 Bit, deren formale
    ISO-konforme Bezeichnung Oktett wäre. (1 Byte = 8 Bit)
‣   eine adressierbare Speichereinheit in einem Rechensystem
‣   einen Datentyp in einigen Programmiersprachen für eine 8 Bit breite
    Einheit, die 256 mögliche Zustände annehmen kann
‣   eine Maßeinheit für 8 Bit bei Größenangaben für Datenmengen
    (Kapazitäten) 1 Byte = 23 Bit = 8 Bit)
‣   eine Datenmenge von zwei Nibbles (1 Nibble = 4 Bit = 1/2 Byte)
    (selten genutzt!
‣   gleiche Präfixe wie Bit

      Vorlesung VG01
      Computer                      Prof. Dr. Detlef Krömker
Zur Info
Wortherkunft von „Byte“
‣   Kunstwort abgeleitet vom englischen „bit“ (deutsch: bisschen) und
    „bite“ (deutsch: Happen).
‣   Speichermenge oder Datenmenge, die ausreicht, um ein alphanu-
    merisches Zeichen (Buchstaben, Zahlen, Sonderzeichen) darzustellen.
‣   1956 von Werner Buchholz geprägt in einer frühen Designphase eines
    IBM-Computers. (Im Original beschrieb Bite eine Breite von 6 Bit und
    stellte die kleinste direkt adressierbare Speichereinheit dieses
    Computers dar)
‣   Bereits Ende 1956 erfolgte aber der Übergang zu 8 Bit. Die
    Schreibweise Bite wurde zu Byte geändert, um versehentliche
    Verwechslungen mit Bit zu vermeiden.
‣   Byte wird auch als Abkürzung für „binary term“ erklärt – dabei handelt
    es sich aber um ein Backronym.
‣   Weitere Erklärung: als Kurzform "by eight", frei übersetzt "achtfach".

      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Zusammenfassung des Zwischenrufs
‣   Bit und Byte die Mengeneinheiten für Daten.

‣   1 Bit repräsentiert genau 2 mögliche Zustände.

‣   1 Byte sind (heute) 8 Bit.

‣   Mit Präfixen kennzeichnet man größere Datenmengen:
     ‣ kilobyte, Megabyte, Gigabyte, Terabyte,

‣   Die genormten Präfixe (Vielfache von 1024), z.B. Mebibyte, werden in
    der Regel nicht benutzt!

      Vorlesung VG01
      Computer                      Prof. Dr. Detlef Krömker
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. Das Konzept des von-Neumann-Rechners
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Heute haben fast alle Digitalrechner eine
von-Neumann-Architekur (1)
benannt nach John von Neumann ist ein Schaltungskonzept (eine
   Architektur) zur Realisierung universeller Rechner (von-Neumann-
   Rechner) welches folgende Komponenten enthält:
‣   Rechenwerk (führt Rechenoperationen und logische Verknüpfungen
    aus)
‣   Speicher (speichert sowohl Programme als auch Daten
‣   Steuerwerk (interpretiert die Anweisungen eines Programms und
    steuert die Ausführung dieser Befehle)
‣   Eingabe-/Ausgabewerke (steuert die Ein- und Ausgabe von Daten)
‣   (Verbindungssystem)
Das Rechen- und Steuerwerk (wird zusammen manchmal auch Leitwerk
  genannt) bilden die so genannte Zentraleinheit, den Prozessor (CPU).

      Vorlesung VG01
      Computer                    Prof. Dr. Detlef Krömker
von Neumann Architekur (2)
Dieses Konzept wurde 1945 in dem Papier “First Draft of a Report on the
   EDVAC” im Rahmen des Baus der EDVAC beschrieben
war zur Zeit seiner Entwicklung „revolutionär“ (oder auch nicht:
   Konrad Zuse hatte schon 1938 seinen Z3 (Relaisrechner) realisiert).
Anderer Rechner jener Zeit hatten ein festes Programm, das z.B. durch
   Schaltdrähte „programmiert“ wurde oder waren nicht programmierbar.
In einer Von-Neumann-Architektur war es nun möglich, Änderungen an
    Programmen sehr schnell durchzuführen oder in kurzer Folge ganz
    verschiedene Programme ablaufen zu lassen, ohne Veränderungen an
    der Hardware vornehmen zu müssen
Die „von Neumann-Architektur“ setzte sich sehr schnell durch.

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Die „Original“ von Neumann-Architektur
                                                                                                             Dies Schema hat
      R
                        I                          A very high speed automatic digital computing system       nur historische
    outside
   recording      input: organs
                                                                    M                                         Bedeutung …
                    to transfer
    medium
        ...         numerical         conciderable memory for at least the four following phases              muss man sich
                                         a) intermediate (partial) results must be remembered
   a stack of        (or other)
                   information           b) the instructions which govern the complicated problems           NICHT merken.
  punch-cards,                           c) specific functions, usually in form of a table
    a teletype     from R to M
                                         d) ... h) diverse other data
   tape, etc.:                        ... tempting to treat the entire memory as one organ
  information
     can be                                       instructions                     (numerical) data
   produced
                        O
   directly by    output: organs
 human action        to transfer                                                                         C
  and sensed         numerical
   directly by      information                CC                                      CA
 human organs      from M to R         proper sequencing of                               +
                                    the machines operations                  ICA          −
                                                                                          x        OCA
                                   ... a general / central organ                          ÷
                                               functions:                    JCA          
                                      (1) receive orders from M
                                           (2) interpret them
                                                                           perform the elementary
                                        (3) carry them out or
                                                                           operations of aritmetic:
                                       stimulate other organs
                                           to carry them out                        +, −, x, ÷ 

Extrahiert aus dem Text „First Draft of Report on the EDVAC“ mit Datum 30.6.1945 [DK]
           Vorlesung VG01
           Computer                                              Prof. Dr. Detlef Krömker
von-Neumann-Architektur modern dargestellt (3)
                                                                       Das muss
                                                                       man sich
                                                                        merken!
                    Daten
                            Adressen

                                                     CPU       CPU
                                 Befehle                       Central Processing
  Bedingungen                                                  Unit, Zentraleinheit
       Events
                                                               = Prozessor

   Vorlesung VG01
   Computer                         Prof. Dr. Detlef Krömker
Das EVA-Prinzip (als Entwurfsmuster) entspricht
der von-Neumann-Architektur
                          Verabeitungseinheiten
                             Prozessor, CPU                                       Alle Einheiten und
                                Controller
                                                                                  Geräte bestehen heute
                                                                                  aus Software und
 Eingabe                     Verarbeitung                   Ausgabe               Hardware!
                                                                                  Schlüsselfragen:
Eingabegeräte                                              Ausgabegeräte          •   Was ist die Eingabe und
   Tastatur                                                Monitor /Display           womit soll sie erfolgen?
    Maus                                                    Lautsprecher
  Touchpad                                                   Kopfhörer
   Joystick                    Speicher                       Beamer              •   Was ist die Ausgabe und
   Scanner                                                    Drucker                 womit soll sie erfolgen?
Barcode-Leser                                                  Plotter
     …                  Speichermedien und -geräte               …                •   Was ist die Verarbeitung
                     Hauptspeicher / Arbeitsspeicher                                  und wie soll sie erfolgen?
                    RAM / ROM, SD-Karten USB-Sticks
                               Festplatte                                         •   Was muss zwischen-
                           CD / DVD-laufwerk
                                   …                                                  gespeichert werden?
       Vorlesung VG01
       Computer                                        Prof. Dr. Detlef Krömker
Basis-Architektur des Hauptspeichers
                             …
                  0 1 0 1          1   0
                                             ‣      heute: 4-64 Gbyte,
                  1
                  2
                                                    meist Byteweise (=8 Bit) adressierbar

                                             ‣      n = 16 ➔ 216 = 65.536 Wörter (Bytes)
n Adressbits
                                                    Speicherkapazität

                                             ‣      n = 32 ➔ 232 = 4 Gbyte
R/W            2n-2                          ‣      Prinzip: Man legt eine Adresse an und
               2n-1   (Maschinen-)Wort               ‣ heraus kommt ein Maschinenwort
                                   Daten und Befehle oder
                                   8 Bit … 256 Bit … ‣ ein Wort wird in den Speicher
                                                        geschrieben,
                                                     Je nach Zustand des Signals R/W.
           Vorlesung VG01
           Computer                              Prof. Dr. Detlef Krömker
Das Speicher-Dilemma
Ein optimaler Speicher sollte
   ‣ möglichst schnell sein (so, dass der Prozessor nicht warten muss),
   ‣ die Daten persistent (d.h. auch ohne Stromzufuhr) dauerhaft
     speichern,
     … ist also nicht flüchtig.
   ‣ kapazitätsmäßig möglichst groß sein,
   ‣ physisch möglichst klein sein und wenig Strom verbrauchen,
   ‣ möglichst wenig kosten.
Dies ist mit einer einzigen Technologie (Realisierung) heute nicht machbar..
Ein Ausweg aus diesem Dilemma ist eine Speicherhierarchie.

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Die Speicherhierarchie: Register, Cache,
                     Hauptspeicher, Sekundärspeicher, Tertiärspeicher
                        Prozessor          Im Prozessor integriert findet sich ein Registersatz als
                                           superschneller Speicher (für Daten und ggf. auch Programm).
  i.d.R. flüchtig

                          Cache

                                           Hauptspeicher (Arbeitsspeicher, Primärspeicher, main memory,
                      Hauptspeicher        primary memory, RAM = Random Access Memory = Speicher mit
                                           wahlfreiem Zugriff) eines Computers ist die Bezeichnung für den
i.d.R. perssistent

                                           Speicher, der die gerade auszuführenden Programmteile und
                                           die dabei benötigten Daten enthält..
                     Sekundärspeicher
                                           Das (Maschinen-)Programm (die Software) bezieht sich auf
                                           die Adressen des Hauptspeichers. Dessen Leistungsfähigkeit
                                           und Größe, aktuell ca. (4 – 256 Gbyte), beeinflussen die
                                           Leistungsfähigkeit des Computers ganz wesentlich.
                      Tertiärspeicher
                                           Dieser Speicher ist typischwerweise flüchtig.
                          Vorlesung VG01
                          Computer                      Prof. Dr. Detlef Krömker
Die Speicherhierarchie: Cache, Hauptspeicher,
                     Sekundärspeicher, Tertiärspeicher
                        Prozessor          Problem: Der Hauptspeicher ist für moderne Prozessoren (mit n
                                           Kernen) viel zu langsam, beschränkt also die Geschwindigkeit ➔
  i.d.R. flüchtig

                                           Einführung von Caches (= schneller Puffer-Speicher)

                          Cache            Cache: Lehnwort aus dem Englischen von cache = Lager, Versteck,
                                           übernommen aus dem Französischen cacher.
                                           Der Begriff wurde für die schnellen Zwischenspeicher gewählt,
                                           da deren Verwendung transparent, also unsichtbar für den
                      Hauptspeicher        Programmierer geschieht, und somit "versteckt" ist.
                                           Heute(2020) meist auch noch einmal hierarchisiert: fast immer auf
i.d.R. perssistent

                                           dem CPU Chip lokalisiert, hält Ausschnitte des Hauptspeichers
                                           L1 Cache (First-Level-Cache) sehr schnell, 4 bis 256 KiBit/Kern,
                     Sekundärspeicher                oft getrennt für Befehle und Daten
                                           L2 Cache (Second-Level-Cache) 64 bis 512 KBit/Kern
                                           L3 Cache (Third-Level-Cache) 2 bis 32 MB gemeinsam für alle Kerne

                      Tertiärspeicher      Problem: Ersetzungsstrategien? … was passiert beim "Cache Miss"
                          Vorlesung VG01
                          Computer                      Prof. Dr. Detlef Krömker
Die Speicherhierarchie: Cache, Hauptspeicher,
                     Sekundärspeicher, Tertiärspeicher
                        Prozessor          Als Sekundärspeicher bezeichnet man den Speicher eines Computers,
                                           auf den nicht direkt vom Prozessor zugegriffen werden kann und der
                                           daher die Verwendung der Ein-/Ausgabekanäle des Computers erfordert.
  i.d.R. flüchtig

                                           Sekundärspeicher verwendet, um Daten zu speichern, die nicht im
                          Cache            aktiven Gebrauch sind. Sind persistent (nicht flüchtig).
                                           Werden nach der zu Grunde liegenden Technik gegliedert:
                                                •   Magnetische Speicher, Festplatten,
                      Hauptspeicher             •   (Optische Speicher : CD, DVD, …)
                                                •   Elektronische Speicher: Flash-Speicher (USB-Sticks,
i.d.R. perssistent

                                                    Solid-State-Drives)
                                                •   Mechanische Speicher Lochstreifen, Lochkarten obsolet
                     Sekundärspeicher
                                           Sekundärspeicher werden i.d.R. mit einem Dateisystem formatiert,
                                           das als Abstraktionsschicht für die geordnete Ablage von Dateien und
                                           Verzeichnissen fungiert und die Speicherung von Metadaten
                      Tertiärspeicher      (Dateibesitzers, Dateiberechtigungen, Zugriffszeiten) unterstützt.

                          Vorlesung VG01
                          Computer                         Prof. Dr. Detlef Krömker
Die Speicherhierarchie: Cache, Hauptspeicher,
                     Sekundärspeicher, Tertiärspeicher
                        Prozessor
  i.d.R. flüchtig

                                           Tertiärspeicher (tertiary storage) sind Langzeitspeicher
                          Cache            für die Archivierung von Daten.

                                           Sie sind in der Speicherhierarchie die Speicher mit den größten
                                           Speicherkapazitäten, aber auch längsten Zugriffzeiten.
                      Hauptspeicher
                                           Technisch werden Tertiärspeicher durch Bandlaufwerke und
i.d.R. perssistent

                                           Magnetbänder, Automated Tape Libraries (ATL),
                                           oder große magnetische oder optische Plattenspeicher realisiert.
                     Sekundärspeicher
                                           Ggf. auch Wechselsysteme (Juke-Box, Band-Roboter)

                                           Die Speicherkapazitäten liegen im Bereich von
                      Tertiärspeicher      Petabytes (1015) und Exabytes (1018).
                          Vorlesung VG01
                          Computer                      Prof. Dr. Detlef Krömker
Zurück zur von-Neumann-Architektur
                                                                       Das muss
                                                                       man sich
                                                                        merken!
                    Daten
                            Adressen

                                                     CPU       CPU
                                 Befehle                       Central Processing
  Bedingungen                                                  Unit, Zentraleinheit
       Events
                                                               = Prozessor

   Vorlesung VG01
   Computer                         Prof. Dr. Detlef Krömker
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. a) Das Konzept des von-Neumann-Rechners und die Speicherhierarchie
   b) Ein von-Neumann Maschinenwort (Befehl oder Daten)
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Zurück zur von-Neumann-Architektur
Die drei Kernideen
1. Ein Computer besteht aus 4/5 Funktionseinheiten: Speicher, Steuerwerk
    (oder Leitwerk), Rechenwerk, Eingabe, Ausgabe (Steuerwerk und
    Rechenwerk bilden zusammen den Prozessor, die CPU)
2. Im Speicher sind sowohl die zu bearbeitenden Daten als auch das
    Programm abgelegt.
3. Ein Befehls-Ausführungszyklus besteht aus der Folge:
     1. Befehl aus dem Speicher holen             FETCH
          (von der Adresse im Befehlszähler)
     2. Befehl im Steuerwerk interpretieren       DECODE
     3. Operand(en) holen                         FETCH OPERAND(S)
     4. Befehl ausführen                          EXECUTE
     (5. Erhöhen des Befehlszählers               UPDATE IC)

     Vorlesung VG01
     Computer                      Prof. Dr. Detlef Krömker
Wie funktioniert ein Computer?
     Ein typisches von-Neumann-Maschinenbefehlswort

(Maschinen-)Befehl einer Registermaschine
Mit fester Einteilung in:
                                                                          Daten
                                                                                     Befehle

                                                               Bedin-
                                                               gungen
Op-Code kodiert         Operandenfeld: kodiert die
die auszuführen-        zugehörigen Operanden
de Operation

Die Maschinenbefehle beziehen sich auf die
Hardware (Rechenwerk, Hauptspeicher,
                                                                       Register = superschnelle Speicher
Eingabe und Ausgabewerk) genau dieser
                                                                                  im Prozessortakt
Maschine.

             Vorlesung VG01
             Computer                                Prof. Dr. Detlef Krömker
Beispiele
16 Bit-Befehl: „Lade den Inhalt der Speicherzelle Nr. 108 ins Register Nr. 5“

                           Binär        0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0

                                      Op-Code           Zieloperand
Zusammenfassung 3:
von-Neumann-Architektur: Kernideen
‣   Das ist die Basis aller heutigen Rechner, auch wenn es heute viele
    Varianten gibt.
‣   Die Verarbeitungseinheiten eines von Neuman Rechners sind:
     ‣     Steuerwerk
     ‣     Rechenwerk
     ‣     Speicher
     ‣     Ein-/Ausgabewerk

‣   Daten und Programm (Befehle) stehen alle in einem (Haupt-)Speicher.
‣   Die Mikrozyklen einer Befehlsausführung sind:
     ‣     FETCH (Instruction)
     ‣     DECODE
     ‣     FETCH OPERAND(S)
     ‣     EXECUTE
     ‣     UPDATE IC (instruction counter)

         Vorlesung VG01
         Computer                            Prof. Dr. Detlef Krömker
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. Das Konzept des von-Neumann-Rechners
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
voll erfüllt
Noch etwas mehr Geschichte                                    teilweise erfüllt
Wie war es davor? (1)                                           nicht erfüllt

Was heißt hier Turing-vollständig?
Ein Berechnungsmodell ist Turing-vollständig, wenn es alle Turing-Maschinen
simulieren kann, d.h. es ist mindestens so leistungsfähig wie Turing-Maschinen.
Ein Modell zur Präzisierung des Begriffs „berechenbar“.
Alle von-Neumann-Rechner sind Turing-vollständig (Beweis durch Hans Hermes)
Die Church-Turing-These trifft Aussagen über die Fähigkeiten einer Rechen-
maschine. Sie lautet: „Die Klasse der „Turing-berechenbaren Funktionen“ stimmt
mit der Klasse der intuitiv berechenbaren Funktionen überein.“
… ist leider nicht beweisbar!                                siehe Theorie
     Vorlesung VG01
     Computer                      Prof. Dr. Detlef Krömker
Architektur der „Analytical Engine“ (1833 – 1842)

                                                                                                                            Auch dieses
                                           Ingress Axis 2

                                                                       Mill
                                    2                                                                                      nicht lernen …

                                                                                    Exgress Axis
                                                                +
                                                                -
                                                                                                                            Nur zur Info!
                                                                x
                                           Ingress Axis 1

  Store                                                         ÷
                                    1

                                                                                 Exgress Axis
                from store
                                                                                   Primed
                                        Ingress Axis 1
                                           Primed

                                                            Run-Up
                                                             Lever                                          Sollte mit einer Dampfmaschine
                                                                                                            angetrieben werden!
 Number Cards      Variable Cards                             Operations Cards

         Vorlesung VG01
         Computer                                                                           Prof. Dr. Detlef Krömker
voll erfüllt
                                                                                            teilweise erfüllt
Wie war es davor? (1)                                                                         nicht erfüllt

     Name           Haupt-         Fertigstel-          Techno-               Program-         Turing-
                  entwickler         lung                logie                mierbar?       vollständig
Analytical        Charles          (1833 -1842)      Mechanik                Lochstreifen    Ja
Engine (nicht     Babbage          100
realisiert)                        Jahre
ABC               John V.          1941              Elektronen-             Nein            Nein
Computer          Atanasoff                          röhren
                  Clifford Berry
Z3                Konrad Zuse      1941              Relais                  Lochstreifen    (Ja)

      Vorlesung VG01
      Computer                                    Prof. Dr. Detlef Krömker
voll erfüllt
                                                                                            teilweise erfüllt
Wie war es davor? (1)                                                                         nicht erfüllt

     Name           Haupt-         Fertigstel-          Techno-               Program-         Turing-
                  entwickler         lung                logie                mierbar?       vollständig
Analytical        Charles          (1833 -1842)      Mechanik                Lochstreifen    Ja
Engine (nicht     Babbage          100
realisiert)                        Jahre
ABC               John V.          1941              Elektronen-             Nein            Nein
Computer          Atanasoff                          röhren                  Nur lineare
                  Clifford Berry                                             Gleichungen
Z3                Konrad Zuse      1941              Relais                  Lochstreifen    (Ja)

      Vorlesung VG01
      Computer                                    Prof. Dr. Detlef Krömker
voll erfüllt
                                                                                            teilweise erfüllt
Wie war es davor? (1)                                                                         nicht erfüllt

     Name           Haupt-         Fertigstel-          Techno-               Program-         Turing-
                  entwickler         lung                logie                mierbar?       vollständig
Analytical        Charles          (1833 -1842)      Mechanik                Lochstreifen    Ja
Engine (nicht     Babbage          100
realisiert)                        Jahre
ABC               John V.          1941              Elektronen-             Nein            Nein
Computer          Atanasoff                          röhren
                  Clifford Berry
Z3                Konrad Zuse      1941              Relais                  Lochstreifen    (Ja)

Colossus          M.H.             1944              Elektronen-             Datenband       Nein
                  Newman I.J.                        röhren                  und
                  Good                                                       Verkabelung

      Vorlesung VG01
      Computer                                    Prof. Dr. Detlef Krömker
Wie war es davor? (2)
   Name            Haupt-      Fertigstel-         Techno-               Program-        Turing-
                 entwickler      lung               logie                mierbar?      vollständig
Harvard          Howard H.     1944             Mechanik                Lochstreifen   Ja
Mark I           Aiken                          (und Relais)
(ASCC)           ➔ IBM
ENIAC            Mauchley      1946             Elektronen-             Verkabelung    Ja
                 und Eckert                     röhren

von Neumann Architektur (First Draft ... EDVAC „Electronic Discrete Variable Computer“
1945 datiert, veröffentlicht 1946 aus der Gruppe Eckert+Mauchly heraus, beide ENIAC)
Manchester       F. Williams   1948             Elektronen-             „stored        Ja
Mark I           U Man                          röhren                  program“
Prototyp
„Baby“

                                                  und fast alle nachfolgenden Computer!
     Vorlesung VG01
     Computer                                Prof. Dr. Detlef Krömker
Also, wer war der Erfinder des Computers?
Z3                         Konrad Zuse?
ENIAC                      John Mauchley, Presper Eckert?
Analytical Engine          Charles Babbage?

                           John von Neumann 30.6.1945?
                           …

... also: Es gibt nicht den “einen Erfinder”(!)

Der Computer ist eine “Gemeinschaftserfindung”!
   Mehrere Personen haben dazu beigetragen.
   (Auch wenn sich die Erfinder meist nicht persönlich kannten!)

     Vorlesung VG01
     Computer                        Prof. Dr. Detlef Krömker
Entwicklung ab 1950 – „Elektronengehirne“
In den USA vor allem

‣   mit „Starthilfe“ von Howard Aiken       ➔ (der Computerhersteller) IBM

‣   Eckert und Mauchly (eigene Firma) ➔ UNIVAC

‣   F. Williams ( U Manchester)              ➔ Ferranti

‣   Konrad Zuse                              ➔ Zuse KG (AG)

1960 in den USA: „IBM und die sieben Zwerge“ – gemeint waren
   UNIVAC 12 % Marktanteil , Burroughs 3 %, NCR 3 %, CDC, RCA,
   Honeywell, GE: IBM beherrschte 70% des US Marktes: „Big Blue“

      Vorlesung VG01
      Computer                          Prof. Dr. Detlef Krömker
Heute
Die allermeisten Computer haben heute eine (modifizierte) von-Neumann-
   Architektur. Sind Multiprozessoren, d.h. haben oft mehrere
   Prozessorkerne (Cores). Wir unterscheiden:
         CISC                RISC
Complex Instruction Set Computer Reduced Instruction Set Computer

                                                                        Viel mehr hierzu lernen
                                                                        Sie in den Veranstaltungen
                                                                        der Hardware Kollegen,
                                                                        namentlich in der Veranstaltung
                                                                        „Automaten und Rechner-
                                                                        architekturen“ (ARA).
       Vorlesung VG01
       Computer                                   Prof. Dr. Detlef Krömker
Zusammenfassung: Die Geschichte des Computers
‣   Heute haben fast alle Computer eine Variante der von-Neumann-
    Architektur.

‣   Diese erfüllt die Anforderungen an einen Computer: Eine Maschine
    (heute i.d.R. eine digital-elektronische) zur Speicherung und
    automatischen Verarbeitung von Daten resp. Informationen (z.B. für
    mathematische Berechnungen oder allgemeiner Zeichenersetzungen)
    durch Angabe einer programmierbaren (Rechen-)vorschrift.

‣   Außerdem ist ein solcher Rechner turing-vollständig, kann also alle
    denkbaren Algorithmen ausführen.

      Vorlesung VG01
      Computer                      Prof. Dr. Detlef Krömker
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. Das Konzept des von-Neumann-Rechners
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Digitalcomputer vs. Analogcomputer
Unsere Definition ist eingeschränkt auf Digitalrechner, also solche
  Rechner, die mit diskreten, endlichen Zahlenmengen oder
  Zeichenmengen arbeiten (informationstragenden Größen = Daten)
Historisch gibt es eine andere Art: die Analogcomputer oder
   Analogrechner:
Sie repräsentieren ihre Daten nicht als diskrete Werte, sondern als
   kontinuierliche (analoge) Größen, zum Beispiel in Form von
   geometrischen Längen oder Winkeln (mechanisch, z.B.
   Rechenschieber, Planimeter) oder elektrischen Spannungen oder
   Strömen.
Das Einhalten des Shannonschen Abtasttheorems sichert die
  Korrektheitt der digitalen Berechnungen.
     Vorlesung VG01
     Computer                      Prof. Dr. Detlef Krömker
Digitalcomputer                           Analogcomputer
Frage: "Was sind Bausteine des Programmierens?“

Elementare Operatoren               Elementare Operatoren:
‣   Addition, Subtraktion,          ‣     Summierer, Multiplizierer, Inverter
    Konkatenation, etc.                   Integratoren, Differentiatoren
‣   Zuweisung:                      ‣      Funktionsgeber (Sinus, Sprung,
        A = B, A:=B, AB                   Impuls, etc.),
‣   Verzweigung                     ‣      Verbinungen,
         if  then ...           Koeffizienteneinsteller
elementares Rechnen,                Löst gewöhnliche
   Vergleichen, Ersetzen              Differentialgleichungen

      Vorlesung VG01
      Computer                     Prof. Dr. Detlef Krömker
Programm und Ausgabe eines Analogrechners

   Vorlesung VG01
   Computer           Prof. Dr. Detlef Krömker
… und so sah ein Analogcomputer aus!

                                             Bildquelle:
                                             iee.et.tu-dresden.de

   Vorlesung VG01
   Computer            Prof. Dr. Detlef Krömker
Nachteile des Analogcomputers
Entscheidendes Problem analoger Rechner ist die Genauigkeit
   (Präzision), bedingt durch unvermeidliches Rauschen (Störsignale,
   die entstehen, sobald Strom fließt).
Wir können (auch heute) nur Messgeräte bauen, die einen maximalen
   Messbereich von 6–7 Zehnerpotenzen (= Stellen) aufweisen.
➔ das Gewicht eines Lkws gerade noch aufs Gramm genau angeben,
  aber z.B. nicht den Umsatz eines Großunternehmens in Cent genau
  oder die Berechnung einer Flugbahn zum Mars durchführen.
Nur bis in die 70er Jahre waren Analogrechner gebräuchlich. Die digitale
   Mikroelektronik war danach so leistungsfähig, dass man sie auch zur
   Integration, Differentiation, usw. nutzen konnte (➔ Numerik) – ohne die
   genannten Nachteile.
     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Herausforderungen (Nachteile)
mit Digitalcomputern
‣   Unsere reale Umwelt besteht meist aus kontinuierlichen Größen: Längen,
    Massen, Zeit, …
    (zumindest solang, wie die klassischen Naturgesetze (Ursache-Wirkung)
    gelten (also wir nicht in Bereichen der Planck-Einheiten agieren. Planck-
    Einheiten markieren minimale Grenzen, z. B.
    für die Länge: 1,616 255(18) · 10−35 m
    für die Zeit: 5,391 247(60) · 10−44 s.)     Geld ist aber diskret.
‣   Also müssen wir die kontinuierlichen Größen diskretisieren und
    quantisieren.
‣   Hier gibt es gehöriges Fehlerpotential. Die möglichen Fehler nennen wir
    bei der Abtastung und Rekonstruktion Aliasing. Wir müssen insbeson-
    dere dafür sorgen, dass das Abtasttheorem (C. Shannon) erfüllt ist!

      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Vielgestalt des heutigen Computers
‣   die meisten Computer sind als solche teilweise kaum erkennbar:
    ubiquitous (allgegenwärtig) als embedded System im Handy, im
    Auto, in der Waschmaschine, …
‣   smart watches, smart everything …
‣   PDA (Handy, Smartphone, Tablett): Personal Digital Assistant
‣   Laptop (= "Auf dem Schoß"), oder Notebook
‣   Arbeitsplatzrechner (Desktop Computer, Personalcomputer, PC):
‣   Server (Pendant zum Arbeitsplatzrechner, bietet zentrale Dienste)
‣   Host (mehrere Server)
‣   Mainframe (Großrechner ≈ Host: Server für max. Benutzer
    Transaktionen)
‣   Supercomputer (maximale Rechenleistung – TeraFlops – PetaFlops)
‣   Eingebettete Systeme
      Vorlesung VG01
      Computer                     Prof. Dr. Detlef Krömker
Supercomputer
sind Hoch-(Höchst-)leistungsrechner, die zum Zeitpunkt ihrer Einführung
   im obersten realisierbaren Leistungsbereich operieren, siehe
   http://www.top500.org (Halbjährlich wird die Liste der 500 schnellsten
   Supercomputer veröffentlicht) .

Typisches Merkmale eines heutigen Supercomputers sind seine
   große Anzahl an Prozessoren (einige Hundert bis einige
   Hunderttausend),

i.d.R. sehr großer Hauptspeicher.

Zum Vergleich: Sämtliche Berechnungen aller Computer weltweit
  aufaddiert, im Zeitraum on 1960 bis 1970 (in 10 Jahren) könnte ein
  heutiger Supercomputer in etwa 30 Sekunden durchführen.

     Vorlesung VG01
     Computer                        Prof. Dr. Detlef Krömker
… und so sahen sie 2019 aus:

                            Im Juni 2019:
                            Summit: DOE/SC/Oak Ridge National Laboratory
                            No. 1 since June 2018
                            Summit, an IBM-built supercomputer
                            Performance: 122.3 petaflops on
                               High Performance Linpack (HPL)
                            Summit has 4,356 nodes, each one equipped
                            with two 22-core Power9 CPUs,
                            and six NVIDIA Tesla V100 GPUs.

                            Quelle: https://www.top500.org/resources/top-
                            systems/summit-doescoak-ridge-national-laboratory/

   Vorlesung VG01
   Computer             Prof. Dr. Detlef Krömker
Performance von Supercomputern (Juni 2019)
                                                                        Entwicklung zeigt:
                                                                        Erhöhung um den Faktor 2
                                                                        jedes Jahr.

                                                                        Achtung: Die Ordinate ist eine
                                                                        Logarithmische Skala.

                                                                        Die Performance wird in FLOPS
                                                                        gemessen. Genutzt wird der
                                                                         LINPACK-benchmark
                                                                        (Lösung eines sehr großen
                                                                        Gleichungssystems mit dem
                                                                        Gaußalgorithmus als LR-Zerlegung.

2020: Fujitsu Fugado Rmax = 415.530 Tflops, Kobe Japan Aus: Author Morn
                                                       https://commons.wikimedia.org/wiki/File:
                                                       Supercomputing-rmax-graph2.svg
       Vorlesung VG01
       Computer                              Prof. Dr. Detlef Krömker
An der Goethe-Uni
‣   wird der Rechner selbst gebaut (➔ Prof. Lindenstruth),

‣   wird Systemsoftware entwickelt (➔ Prof. Kisel),

‣   gewinnt man Preise für Energie-effizientes Sortieren (➔ Prof. Meyer),

‣   Geht man auch echte Zukunftsthemen an: Quanten Computing
    (➔ Prof. Lippert)

‣   Eine weitere Professur ist ausgeschrieben „Green Computing“

‣   … und gibt es viele interessante Anwendungen: Physik, Chemie,
    Klimatologie, …, Bioinformatik

      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Eingebettete Systeme (1)
‣   Ein eingebettetes System (embedded system) ist ein Computersystem,
    das in ein umgebendes technisches System integriert/eingebunden ist
    und mit diesem in Wechselwirkung steht.
‣   Dabei übernimmt der Rechner meist Überwachungs-, Steuerungs-
    oder Regelfunktionen oder erfüllt Dienste zur Daten- bzw.
    Signalverarbeitung, z.B. zum Ver-/Entschlüsseln, Codieren/Decodieren
    oder Filtern. Auch die Realisierung eines geeigneten User Interfaces
    (einer Benutzungs-schnittstelle) gehört dazu.
‣   Heute sind mehr als 95% der produzierten Chips für eingebettete
    Systeme bestimmt.
‣   Es ist durchaus möglich, dass sehr bald mehr Objekte als Menschen
    mit dem Internet verbunden werden und interagieren
    ➔ Internet of Things.
      Vorlesung VG01
      Computer                      Prof. Dr. Detlef Krömker
Eingebettete Systeme (2)
‣   Eingebettete Systeme verrichten – weitestgehend unsichtbar für den
    Benutzer ihren Dienst – in einer Vielzahl von Anwendungsbereichen und
    Geräten. Beispiele sind:
     ‣     Haushaltsgeräte: Waschmaschinen, Kühlschränke, … (weiße Ware)
     ‣     Unterhaltungselektronik: Fernseher, DVD-Player, … (braune Ware)
     ‣     Flugzeuge,
     ‣     Kraftfahrzeugen (in der Oberklasse > 100 ECUs (Steuergeräte))
     ‣     Werkzeugmaschinen,
     ‣     Geräten der Medizintechnik,
     ‣     Mobiltelefone, usw. usw.
‣   Größere Gesamtsysteme betreiben oft ein Netzwerk mit einer Vielzahl
    von ansonsten autonomen, eingebetteten Systemen.

         Vorlesung VG01
         Computer                     Prof. Dr. Detlef Krömker
Zusammenfassung
‣   Die Anzahl der Computer in unserem Lebensumfeld ist enorm!

‣   Die meisten sind "embedded". Siehe die Professuren Uwe
    Brinkschulte, Lars Hedrich (Kopplung zur Analogwelt!)

‣   Die Goethe-Uni bietet ein tolles Umfeld fürs Kennenlernen von
    Höchstleistungsrechnen und eingebetteten Systemen und natürlich
    anderen Sachen: Künstliche Intelligenz.

‣   Die Leistungsfähigkeit der Rechner verdoppelt sich in etwa jedes Jahr!
    Die sogenannte Moore's Law sagte zwar Verdopplung alle 18 Monate,
    aber … tatsächlich sind wir etwas schneller.

      Vorlesung VG01
      Computer                       Prof. Dr. Detlef Krömker
Übersicht
0. Prolog
1. Was ist ein Computer?
2. Zwischenruf: Digitale Daten – Bits und Bytes
3. Das Konzept des von-Neumann-Rechners
4. Eine sehr kurze Geschichte des Digitalrechners
5. Die Vielgestaltigkeit heutiger Computer
6. Performance von Computern
7. Zusammenfassung + Ausblick

     Vorlesung VG01
     Computer                       Prof. Dr. Detlef Krömker
Übrigens: Rechenleistung (Performance)
‣   anfangs wurde sehr grob gemessen in
     ‣ MIPS (Millionen Instruktionen pro Sekunde) und/oder
     ‣ FLOPS (Floating Point Operationen pro Sekunde)
        = Gleitkommaoperationen (für rationale Zahlen)
          geringe Aussagekraft über Laufzeit einer Anwendung.

‣   Seit den frühen 80er-Jahren: Messung durch Dhrystones und
    Whetstones durch sogenannte Benchmarks (fest vereinbarte
    „künstliche“ Programme (zu keinem anderen Zweck), die typische
    Anweisungsfolgen aufweisen).

    = typischer Mix von Anweisungen, gibt Anzahl Operationen dieser
    Mischung an.

      Vorlesung VG01
      Computer                      Prof. Dr. Detlef Krömker
Performance (2)
Dhrystone (von Reinhold Weicker 1984 entwickelt)
  enthält nur Integer-Operationen (Ganze Zahlen)

   sein Name ist ein Wortspiel auf den damals sehr populären
   Gleitkomma-Benchmark Whetstone.

Whetstone (dt. Wetzstein) schon 1976 in den National Physical
  Laboratories in Großbritannien entwickelt
  Er verwendet dazu Fließkomma-Operationen, aber auch Integer-
  Arithmetik und Zugriffe auf Array-Elemente: [KWIPS oder MWIPS]

     Vorlesung VG01
     Computer                     Prof. Dr. Detlef Krömker
Performance-Messung heute (2020)
‣   Seit 1989 benutzt man Anwendungs-Benchmark-Tests

‣   Z.B. Standard Performance Evaluation Corporation (SPEC)

‣   Enthält neuronale Netze, finite Elemente, Videoenkodierung usw.,

‣   in Integer-bezogene (SpecInt) und Floatingpoint-bezogene (SpecFp)-
    Programme eingeteilt.

‣   heute: Neue Benchmarks für Anwendungen aus dem Bereich der
    Künstlichen Intelligenz (Artificial Intelligence) ➔ AI-HPC

      Vorlesung VG01
      Computer                      Prof. Dr. Detlef Krömker
Der State-of-the-Art für General Purpose CPUs

   Vorlesung VG01
   Computer             Prof. Dr. Detlef Krömker
Zusammenfassung
‣   Computer sind aus unserem Lebensumfeld nicht mehr wegzudenken.

‣   Die Leistungsfähigkeit steigt seit 50 Jahren in etwas gleich stark:
    Verdoppelung alle 18-24 Monate.

‣   Sie müssen die Grundfunktionen einer von-Neumann-Maschine
    verstehen, um den ganzen Software-Überbau erfassen zu können:
    Betriebssystem, Interpreter/Compiler, Anwendungssoftware, …

      Vorlesung VG01
      Computer                        Prof. Dr. Detlef Krömker
Durchatmen – wir haben den ersten Teil des Tripels

        Computer – Algorithmus – Programm
          ✓
geschafft.

In EPI ist das Thema „Computer“ nur „Nebenthema“
    (Viel) mehr dazu in Automaten und Rechnerarchitekturen (im SoSe)
  Nächste Woche geht es hier weiter mit echten Softwarethemen:
  den Kernbegriffen Algorithmus und Programm:

     Vorlesung VG01
     Computer                        Prof. Dr. Detlef Krömker
Ausblick
‣   Also, nicht vergessen:
     ‣ Aufgaben für GPR und EPR anschauen, um ggf. im nächsten
       Tutorium Fragen stellen zu können.

     ‣ Diese Aufgaben individuell lösen und abgeben (Moodle).

     ‣ Das Quizz "QG01-Computer" durchführen.

… und danke für Ihre Aufmerksamkeit
      Vorlesung VG01
      Computer                     Prof. Dr. Detlef Krömker
Sie können auch lesen