Einführung Einführung in die Technische Informatik Falko Dressler und Stefan Podlipnig Universität Innsbruck Überblick • • • • Motivation Komponenten eines Rechners Historische Entwicklung Technologische Grundlagen Einführung in die Technische Informatik - WS 11/12 Einführung 2 MOTIVATION Einführung in die Technische Informatik - WS 11/12 Einführung 3 Rechnerarchitektur • Rechnerarchitektur beschäftigt sich mit dem Aufbau von Rechnern, der Hardware/Software-Schnittstelle, der maschinennahen Programmierung und der Arbeitsweise von Rechnern, d.h. wie werden Maschinenprogramme abgearbeitet. • Kenntnisse in Rechnerarchitektur sind z.B. notwendig zum Entwurf neuer Rechner, zur Entscheidung, was bei der Entwicklung neuer IT Systeme in Hardware und was in Software zu realisieren ist, zur effizienten Programmierung moderner Systeme und zur Auswahl eines zur Problemlösung geeigneten Systems. Einführung in die Technische Informatik - WS 11/12 Einführung 4 Ebenen der Rechnerarchitektur SystemArchitektur • Beschreibt externen Systembus, Organisation des Arbeitsspeichers, Peripheriebus, ... Instruktionen, Registersatz und Adressierungsarten Instruktionssatz- • Legt fest. Architektur (ISA) • Stellt die Schnittstelle zwischen Hard- und Software dar. Mikroarchitektur • Beschreibt die Struktur eines Rechners mit Registern, ALU, Steuerwerk, interne Bussysteme, Ein(µA) /Ausgabeeinheit. Digitale Logik • Beschreibt Implementierung der Komponenten mit Gattern. Einführung in die Technische Informatik - WS 11/12 Einführung 5 Rechnerarchitektur - Rechnerorganisation • In der Literatur wird auch oft vereinfachend nur zwischen Rechnerarchitektur und Rechnerorganisation unterschieden: Einführung in die Technische Informatik - WS 11/12 Einführung 6 Beispiel Beispiel: C/C++ Programm: int a, b, summe; ... summe = a + b; ... Assemblerbefehle: … add r0, r1, r2; … Hardware: Einführung in die Technische Informatik - WS 11/12 Einführung 7 Klassen von Rechnersystemen • Heute gibt es im Wesentlichen nur noch drei Klassen von Rechnersystemen: 1. Desktop oder Arbeitsplatzrechner: − 500 bis 2500 Euro je System, 50 bis 500 Euro für CPU − Gutes Preis/Leistungsverhältnis, gute Grafikmöglichkeiten 2. Server: − 2000 bis 100000 Euro je System, 200 bis 10000 Euro für CPU − Hohe Zuverlässigkeit, hoher Durchsatz, gute Skalierbarkeit 3. Eingebettetes System: − 10 bis 10000 Euro je System, 0.1 bis 100 Euro für CPU − Geringe Stromaufnahme, ausreichende Leistung für Anwendung • Früher gab es weitere Klassen: Mainframe, Minicomputer, Workstation Einführung in die Technische Informatik - WS 11/12 Einführung 8 Welche Klasse hat den meisten Zuwachs? • Mobiltelefone (und andere eingebettete Systeme)! Anzahl hergestellter Produkte (in Millionen): Einführung in die Technische Informatik - WS 11/12 Einführung 9 KOMPONENTEN EINES RECHNERS Einführung in die Technische Informatik - WS 11/12 Einführung 10 Innenansicht eines modernen PCs Einführung in die Technische Informatik - WS 11/12 Einführung 11 Aktuelles Motherboard Stromanschluss RAM-Steckplätze PCI-Steckplatz Sockel für Prozessor Peripherie-Anschlüsse Einführung in die Technische Informatik - WS 11/12 Einführung 12 Beispiel - Macbook Pro 15 Einführung in die Technische Informatik - WS 11/12 Einführung 13 CPU • Hauptkomponente eines jeden Rechners ist die CPU (Central Processing Unit). • In jedem Befehlszyklus wird eine Instruktion aus dem Speicher geholt, im Steuerwerk dekodiert, und im Rechenwerk ausgeführt. • Als Operanden benötigte Daten werden ebenfalls aus dem Speicher geladen. Einführung in die Technische Informatik - WS 11/12 Einführung 14 CPU Beispiel (AMD Barcelona – 4 Cores) Einführung in die Technische Informatik - WS 11/12 Einführung 15 Intels neue "Sandy Bridge"-Generation Einführung in die Technische Informatik - WS 11/12 Einführung 16 HISTORISCHE ENTWICKLUNG Einführung in die Technische Informatik - WS 11/12 Einführung 17 Historische Entwicklung (1) • 8500 v. Chr.: Zählsysteme In vielen Kulturen benutzt Häufig 5 oder 10 als Basis • 3000 v. Chr.: Abakus Älteste mechanische Rechenhilfe Ursprung in Babylonien Noch heute in Asien benutzt 2 Zonen: „heaven“, „earth“ Einfache Algorithmen nötig • 1642: Pascaline Entwickelt von B. Pascal Auf Zahnrädern basierend Addition von zwei bis zu 8-stelligen Dezimalzahlen Automatischer Übertrag Subtraktion mittels Komplementzahlen Einführung in die Technische Informatik - WS 11/12 Einführung 18 Historische Entwicklung (2) • 1673: Stepped Reckoner Entwickelt von G.W. Leibniz Neuartige Staffelwalze für Multiplikation, Division • 1804: Lochkarte Entwickelt von Jacquard zur Steuerung eines Webstuhls Unterschiedliche Webmuster durch unterschiedlich gelochte Holzbrettchen Erster Nur-Lese-Speicher (ROM = ReadOnly Memory) Einführung in die Technische Informatik - WS 11/12 Einführung 19 Historische Entwicklung (3) • 1822: Difference Engine Entwickelt von C. Babbage Auf Dezimalsystem basierend Entworfen zur Tabellierung von Werten eines Polynoms: f(x) = an xn + an–1 xn–1 + ... + a1 x + a0 Idee: Berechnung nur mit Addition möglich (bei geeigneten Startwerten) Beispiel: f(x) = 2x2 + 3x + 1 x 1 2 3 4 5 f(x) diff1 diff2 6 15 9 28 13 4 45 17 4 66 21 4 Erster Rechner mit automatischer Mehrschrittoperation! Einführung in die Technische Informatik - WS 11/12 Einführung 20 Historische Entwicklung (4) • 1830: Analytical Engine Entwickelt von C. Babbage Leitwerk, programmierbar mit Lochkarten Rechenwerk („Mill “) Speicher („Store“) für 1000 Dezimalzahlen aus 50 Stellen Ein-/Ausgabe mit Lochkarten Verzweigungen möglich Lady Ada Augusta Lovelace als erste Programmiererin Erster universeller Rechenautomat Einführung in die Technische Informatik - WS 11/12 Einführung 21 Historische Entwicklung (5) • 1941: Z3 Entwickelt von K. Zuse 10 Hertz Taktfrequenz Basierend auf 2200 Relais − davon 600 für Rechenwerk, 1400 für Speicher 22-stellige Binärzahlen − Im Gleitkomma-Format! Dezimale Ein-/Ausgabe − Tasten oder Lochstreifen, Lampen Speicher mit 64 Worten Steuereinheit mit Sequenzer Addition in 3 Takten, Multiplikation in 16 Takten Einführung in die Technische Informatik - WS 11/12 Einführung 22 Historische Entwicklung (6) • 1945: Von-Neumann Architektur (John von Neumann) Speicherwerk enthält Programme und Daten Rechenwerk mit ALU und Registern Zentrales Steuerwerk mit „fetchdecode-execute“ Instruktionszyklus Ein-/Ausgabe-Werk mit Datenumwandlung Binäre Kodierung • Zentrale Eigenschaft ist der gemeinsame Speicher für Daten und Programme, Auch als Von-Neumann Flaschenhals bezeichnet. Einführung in die Technische Informatik - WS 11/12 Einführung 23 Historische Entwicklung (7) • 1946: ENIAC 18000 Röhren, 1500 Relais 130 m2, 30 Tonnen, 140 kW Dezimale Kodierung ca. 5000 Additionen je Sek. 20 Akkumulatoren, 1 Multiplizierer, 3 Funktionstabellen (0.2 ms für Addition, 2.8 ms für Multiplikation) Programmiert durch KabelVerbindungen E/A mittels Lochkarten Gebaut für ballistische Berechnungen Einführung in die Technische Informatik - WS 11/12 Einführung 24 Historische Entwicklung (8) • 1961: PDP-1 Gebaut von DEC Transistortechnik Magnetischer Kernspeicher für 4096 18-Bit Worte 200 kHz Taktfrequenz CRT, 512 x 512 Pixel Grafik Erster Minicomputer • Es folgten: PDP-8 mit Omnibus (erstes Bussystem, 1965), PDP-11 (erster 16-Bit Rechner, 1970) Einführung in die Technische Informatik - WS 11/12 Einführung 25 Historische Entwicklung (9) • 1965: IBM System/360 Erste Rechnerfamilie mit gleichem Instruktionssatz Mehrprogrammbetrieb Mikroprogammierung Verwendung von integrierten Schaltkreisen (ICs) 32-Bit Worte 16 Mbyte Adressraum Typischer Großrechner − Auch als „Mainframe“ bezeichnet Einführung in die Technische Informatik - WS 11/12 Einführung 26 Generationen seit 1950 Generation Zeitspanne Charakterisierung 1 1950 - 1960 Elektronenröhren als Schaltelemente Speicher von wenigen hundert Maschinenwörtern 2 1960 - 1970 Transistorschaltkreise Ferritkern–, Band–, Trommel– und Plattenspeicher 3 1965 - 1970 Teilweise integrierte Schaltkreise 4 1970 - 1980 Überwiegend hochintegrierte Schaltkreise Ein Prozessor auf einem Chip 8-Bit-Architektur 5 Ab 1980 Hochintegrierte Schaltkreise Mehrerer Prozessoren mit vielen Millionen Transistoren auf einem Chip Arbeitsspeicher mit Millionen von Speicherplätzen 16 Bit- und 32-Bit-Architekturen 6 Ab 1990 RISC-Architekturen 64-Bit-Architekturen Einführung in die Technische Informatik - WS 11/12 Einführung 27 Historische Entwicklung (10) • Weitere Meilensteine der Computer-Hardware: 1971 : Intel 4004 (erster Mikroprozessor) 1976: Cray-1 (erster Vektorrechner) 1978: Intel 8086 (x86-Architektur) 1985: MIPS (erster RISC-Mikroprozessor) 1987: Connection Machine (erster massiv paralleler Rechner mit 65536 Prozessoren) 1992: DEC Alpha 21064 (erster RISC-Mikroprozessor mit 64-Bit CPU) 1997: Supercomputer ASCI Red liefert eine Rechenleistung von mehr als 1 TFlops 2000: erster Mikroprozessor mit 1 GHz Taktfrequenz Einführung in die Technische Informatik - WS 11/12 Einführung 28 TECHNOLOGISCHE GRUNDLAGEN Einführung in die Technische Informatik - WS 11/12 Einführung 29 Technologische Grundlagen (1) • Maß für die technologische Entwicklung ist die technologische Strukturgröße (Feature Size). Kann vereinfachend als Kantenlänge eines Transistors angesehen werden. • Strukturgröße konnte in den letzten Jahrzenten von 10 µm (Intel 4004, 1971) auf 32 nm (Intel Core I7, 2009) reduziert werden! • Jährliche Wachstumsraten: Transistordichte ~ 35% Chipfläche: ~ 15% Anzahl Transistoren je Chip ~ 55% CPU Taktrate: ~ 30% Einführung in die Technische Informatik - WS 11/12 Einführung 30 Technologische Grundlagen (2) • Das Gesetz von Moore (1965) besagt, dass sich die Anzahl der Transistoren je Chip alle 18 Monate verdoppelt: Einführung in die Technische Informatik - WS 11/12 Einführung 31 Technologische Grundlagen (3) [Shacham 2010] Einführung in die Technische Informatik - WS 11/12 Einführung 32 Technologische Grundlagen (4) • Speicherentwicklung (DRAM-Chips) Einführung in die Technische Informatik - WS 11/12 Einführung 33 LITERATUR Einführung in die Technische Informatik - WS 11/12 Einführung 34 Literatur • [Shacham 2010] O. Shacham et al., Rethinking Digital Design: Why Design Must Change, IEEE Micro, Nov/Dec 2010 Einführung in die Technische Informatik - WS 11/12 Einführung 35