Technische Informatik 1 1 Einleitung Lothar Thiele Computer Engineering and Networks Laboratory
Technische Informatik 1 2
Was ist Technische Informatik? A. Ralston, E.D. Reilly: Encyclopedia of Computer Science. Chapman & Hall. 1 3
Anwendungen der Technischen Informatik Desktop Computer/Laptop/Tablet Server Allgemeine Verwendung; vielfältige Software; üblicherweise mit Tastatur, Maus, Graphikbildschirm (Desktop) oder nur mit berührungsempfindlichem Bildschirm (Tablet) Wesentliche Entwurfskriterien: Kosten vs. Performanz und Energieverbrauch Varianten: Supercomputer für wissenschaftliche Anwendungen, vernetze Computersysteme, «Data Center» Gleichzeitige Bedienung mehrerer Nutzer. Hohe Rechenleistung und Speicherkapazität Eingebettete Systeme Verborgen als Teil eines Gesamtsystems. Zugeschnitten auf den jeweiligen Anwendungsbereich. 1 4
Prozessormarkt 1 5
Eingebettete Systeme Eingebettetes System: Informationsverarbeitung ist Teil eines übergeordneten technischen Systems. ABS gear box entertainment motor control climate control 1 6
Eingebettete Systeme Einige Eigenschaften eingebetteter Systeme Echtzeitfähig: Sie werden oft in zeitkritischen Anwendungen eingesetzt, bei denen die Antwort innerhalb bestimmter Zeitschranken erforderlich ist. Spezialisiert: Eingebettete Systeme sind auf den jeweiligen Anwendungsbereich zugeschnitten und optimiert. Sie sind üblicherweise nicht vom Benutzer programmierbar. Zuverlässig: Sie müssen oft hohen Anforderungen an die Verfügbarkeit genügen, z.b. Luftfahrt, Auto, Medizintechnik. Effizient: Eingebettete Systeme müssen oft in verschiedener Hinsicht effizient sein, z.b. Grösse, Gewicht, Leistungs und Energieverbrauch, Speicherverbrauch, Rechenleistung. 1 7
Komponenten eines Rechnersystems Prozessor Datenpfad (führt Operationen auf Daten aus) Steuerung (Bestimmt die Reihenfolge der Operationen, Speicherzugriffe) Speicher Cache (schneller, kleiner Speicher für sofortigen Datenzugriff) Hauptspeicher Festplatte, CD/DVD, Flash Speicher Ein Ausgabe Netzwerkzugriff Maus, Bildschirm, 1 8
Hardware 1 9
Wir schrauben auf. Hauptspeicher Festplatte Prozessor 1 10
Speicher Volatil (nicht permanent) Hauptspeicher, DRAM (dynamic random access memory) Cache, SRAM (static random access memory) Permanent Flash Speicher (nicht volatiler Halbleiterspeicher) Optische Platten (CDROM, DVD) Festplatte (magnetic disk) 1 11
ipad 1 12
ipad Prozessor A5 4 Graphik Prozessoren (GPU) 2 Prozessorkerne 1 13
Technologie Prozessoren 1 14
Technologieentwicklung 2015 Intel i7-5775r (3.8 GHz) 2 65 300.000.000.000 instructions/s 6MB $1000 150.000.000.000 $1000 1.150.000.000.000 mit Vorsicht zu interpretieren 1 15
Preis 1 16
Integrationsdichte Intel 62 Core Xeon Phi 2015 1 17
Vergleich Intel Xeon Phi (5 Milliarden Transistoren, 22nm Technologie, 350mm 2 Fläche) Frankreich + Niederlande Schweiz Auflösung: 22 nm 1m Fläche: 16 mm x 22 mm 727km x 1000km = 727.000 km 2 1 18
Performanz Steigerung SPECint benchmarks multi core RISC Beschränkt durch Leistungsverbrauch, Parallelität auf Instruktionsebene, Speicherlatenz 1 19
Taktrate und Leistungsverbrauch Der Pentium 4 brachte einen starken Anstieg in Taktrate und Leistungsverbrauch. Die thermischen Probleme führten zu einer neuen Strategie: niedrigerere Taktrate mehrere Prozessorkerne. Taktrate und Leistungsverbrauch für Intel x86 Prozessoren 1 20
Taktfrequenz Intel 80386 verbrauchte ~ 2 W 3.3 GHz Intel Core i7 verbraucht ~ 100 W Hitze muss von einem 1.5 x 1.5 cm Chip abgeleitet werden. Dies ist in etwa die Grenze für Luftkühlung. 1 21
No comment 1 22
Energieverbrauch Senkung des Energieverbauchs von Rechnerarchitekturenist eines der wichtigsten Entwurfsziele: Wesentliches Merkmal tragbarer Geräte ist ein niedriger Energieverbrauch. Möglichkeiten auf allen Ebenen einer Rechnerarchitektur: Technologie Schaltungstechnik Rechnerarchitektur Speicherorganisation Betriebssystem In den vergangenen Jahren wurden in Bezug auf die Energieeffizienz erhebliche Fortschritte erzielt. 1 23
Leistungsverbrauch CMOS Technologie: Leistung Lastkapazität x Spannung 2 x Taktrate hängt ab von der Zahl der schaltenden Transistoren und der Technologie 5V 1V, kann nicht viel weiter reduziert werden Wärme kann nicht schneller abgeführt werden Rechenleistung (Performanz) Taktrate Wie kann man auf andere Weise die Performanz erhöhen? neue Rechnerarchitekturen bei gleicher Rechnerarchitektur 1 24
Strategieänderung Zu hoher Leistungsverbrauch hat zu neuen Rechnerarchitekturen geführt: Geringere Taktraten, mehrere Prozessorkerne auf einer Schaltung, Multicore Mikroprozessoren Planung: Verdoppelung der Prozessorkerne alle 2 Jahre Intel i7 Intel Xeon Intel Phi Intel Itanium Oracle SPARC 4 cores 18 cores 61 cores 8 cores 16 cores 3.5 GHz 2.8 GHz 1.2 GHz 2.5 GHz 3 GHZ 65W 150W 300W 170W Probleme: Parallele Programmierung, geringe Parallelität in Anwendungsprogrammen, Lastverteilung Kommunikation zwischen den Prozessoren, Synchronisation 1 25
Prozessor AMD Barcelona microprocessor 1 26
Prozessor Intel Xeon Phi (5 Milliarden Transistoren, 22nm Technologie, 350mm 2 Fläche) Oracle Sparc T5 1 27
System on Chip Samsung Galaxy S6 Exynos 7420 System on a Chip (SoC) 8 ARM Cortex processing cores (4 x A57, 4 x A53) 30 nanometer: transistor gate width Exynos 5422 1 28
Technologie Speicher 1 29
Speicherkapazität Speicherdichte steigt etwa 45% pro Jahr Zugriffszeit sinkt mit etwa 6% pro Jahr Speicherkapazität für dynamische Speicher (DRAM) 1 30
Prozessor Speicher Lücke Milderung durch komplexe hierarchische Speicherarchitekturen 1 31
Typische DRAM Speicherarchitektur Beispiel einer DRAM (dynamic random access memory) Architektur Üblicherweise enthält ein DRAM CHIP mehrere solcher Speicherbänke.. Zeilenadresse relativ langsames öffnen einer Zeile Speichermatrix relativ schneller Zugriff auf Spalten einer Zeile Spaltenadresse schneller statischer Zeilenspeicher 1 32
Einführung in C 1 33
Einführung in C Es folgt eine sehr kurze Einführung in C, die lediglich den Einstieg in die Übung erleichtern soll. Dieses Kapitel ist zum Selbststudium gedacht. Nur die minimal notwendigen Konzepte werden dargestellt. Literatur: Kerninghan, Richie: The C Programming Language 1 34
Einführung in C 1 35
Einführung in C 1 36
Einführung in C 1 37
Einführung in C 1 38
Einführung in C 1 39
Einführung in C 1 40
Einführung in C Funktionen: Parameter werden immer by value übergeben. Die Funktion arbeitet also immer mit einer Kopie der Parameter. Die Rückgabe von Ergebnissen kann also erfolgen als Ergebniswert der Funktion, oder indem direkt Daten der rufenden Funktion geändert werden. Hierzu ist der gerufenen Funktion der Zeiger auf diese Daten zu übergeben ( call by reference ). Arrays werden durch den Zeiger auf das erste Element übergeben. 1 41
Einführung in C 1 42
Einführung in C 1 43