Kapitel 11: Historische Entwicklung und Mikroprozessoren Technische Grundlagen der Informatik 2 SS 2009 R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt
Historie 11 2 1832 Babagge, Difference Engine 1937 Zuse, Z-1, mechanisch 1943 Zuse Z-3, Relais 1943 ENIAC, Elektronenröhre 1957 Transistorrechner 1958-1966 Integrierte Schaltungen deutsches Patent von Jacobi 1949 1971 Mikroprozessor Intel 4004
Difference Engine 11 3 http://bwrc.eecs.berkeley.edu/classes/icdesign/ee141_f03/lectures/lecture1-intro.pdf Charles Babbage Mechanical special-purpose computer designed to tabulate polynomial functions. Die Entwicklung von Babbages Rechenmaschinen ist untrennbar verbunden mit der Leistung seiner engen Mitarbeiterin Ada Lovelace, die die Programmierung der Maschine zumindest theoretisch beschrieb und damit auch die erste Software schuf.
Zuse Z1 1937, mechanisch Speicher für 64 Gleitkommazahlen, je 22 Bit. Das Rechenwerk beherrschte die Operationen Addition, Subtraktion, Multiplikation, Division, Quadratwurzel, Dezimal-Dual- sowie Dual- Dezimal-Umwandlung. Konrad Zuse entwickelte eine abstrakte Beschreibung des Rechenwerks, die sowohl auf Maschinen mit mechanischen Schaltgliedern als auch auf relaisbasierte Rechner anwendbar ist. 11 4 http://irb.cs.tu-berlin.de/~zuse/konrad_zuse/de/rechner_z1.html
Z1 11 5 Z1 in der elterlichen Wohnung in Berlin 1936
1941 Zuse Z3 Erster voll funktionsfähiger programmierbarer Rechner Erstmals Verwendung des Dualsystems 3000 Relais Enthält sehr viele Merkmale moderner Rechner: Gleitkommazahlenberechnung Ein- und Ausgabeeinheiten Möglichkeit der Benutzerinteraktion während des Rechenvorgangs "Mikroprogramme" Pipelining von Instruktionsfolgen Numerische Sonderwerte Parallele Ausführung von Operationen soweit wie möglich 11 6
Z3 11 7 Die Z3 ist eine getaktete Maschine. Die Taktung wird von einem Elektromotor übernommen, der eine sogenannte Taktwalze antreibt. Diese ist eine Trommel, welche sich ca. 5,3 mal pro Sekunde dreht und während einer Drehung die Steuerung der einzelnen Relaisgruppen übernimmt. Die Z3 verfügt über folgende Maschinenbefehle: Pr z - Speicherzelle z in Register R1/R2 laden: 1 Zyklus LOAD Ps z - R1 in Speicherzelle z schreiben: 0-1 Zyklus STORE Ls1 - Addition R1 := R1 + R2: 3 Zyklen Ls2 - Subtraktion R1 := R1 - R2: 4 5 Zyklen Lm - Multiplikation R1 := R1 * R2: 16 Zyklen Li - Division R1 := R1 / R2: 18 Zyklen Lw - Quadratwurzel R1 := SQRT(R1): 20 Zyklen Lu - Dezimalzahl einlesen in R1 / R2: 9-41 Zyklen Ld - R1 als Binärzahl ausgeben: 9-41 Zyklen Die Eingabe numerischer Daten muss über die Tastatur erfolgen, d. h. Zahlen können nicht auf dem Lochstreifen kodiert werden. Über die Tastatur können alle Operationen außer den Speicherzugriffen (Pr und Pz) direkt ausgeführt werden. Der Lochstreifen kann nur Befehle enthalten. Jeder Befehl auf dem Lochstreifen wird mit 8 Bit kodiert. Die Z3 kennt keine Sprungbefehle, ist jedoch Turingmächtig, wie Raúl Rojas 1998 zeigte.
Plankalkül von Zuse Der Plankalkül gilt als die erste Programmiersprache der Welt (1945). Konrad Zuse schrieb das ca. 300-seitige Werk 1945 in Hinterstein im Allgäu. Wußten Sie, daß das Ergibtzeichen bei einer Zuweisungsoperation von Konrad Zuse stammt? Er schrieb: a + b => c. Heute schreiben wir c = a + b. Konrad Zuse hat im Jahr 1945 auch die WHILE- Schleife im Plankalkül konzipiert. Ganze sieben Schleifenarten (Wiederholungsschleifen) dachte er sich aus. Und, in der Literatur wird angenommen, daß die ersten Schachprogramme von Shannon entworfen wurden. Weit gefehlt. Konrad Zuse hat 1945 auf 60 Seiten Schachprogramme konzipiert. Weiterhin: bedingte Anweisungen Arrays und Datentypen Assertions Ausnahmebehandlung 11 8 http://www.horst-zuse.homepage.t-online.de/kzmms2.html#simulationen
Der erste elektronische Computer John Vincent Atanasoff entwarf und implementierte den ersten elektronischen, digitalen Rechner, den Atanasoff-Berry- Computer (ABC) 1937-1942. Ames Lab. Iowa Binärarithmektik, gleichzeitige Lösung von bis zu 29 linearen Gleichungen. ca. 270 Röhren, erster kapazitiver Speicher mit Refreshing 11 9
ENIAC - The second electronic computer (1946) 11 10 Der ENIAC (kurz für Electronic Numerical Integrator and Computer) war der zweite elekronische digitale Universalrechner und einer der ersten Computer überhaupt. Im Auftrag der US-Armee wurde er ab 1942 von J. Presper Eckert und John W. Mauchly an der Universität von Pennsylvania entwickelt und am 16. Februar 1946 offiziell in Dienst gestellt. Bis zu seiner Abschaltung im Jahr 1955 diente er der US-Armee zur Berechnung ballistischer Tabellen. 17.468 Röhren 20 Akkumulatoren Dezimalzahlen mit Vorzeichen, 10 Stellen Operationen: +, -, *, sqrt, div Funktionstabellen-ROM Programmierung durch umsteckbare Verbindungen, kein Programmspeicher
SSEM Baby University of Manchester (1948) Small Scale Experimental Machine (Kilburn, Williams) 11 11 Erster berechnungsuniverseller von-neumann-rechner, auf dem ein Programm lief (21.06.1948) CRT= Cathode Ray Tube (Elektronenstrahlröhre) Vollelektronischer CRT Speicher (Williams-Kilburn-Tube) 32 Worte zu 32 Bits Wahlfreier, sofortiger Zugriff Refresh Serielle Arithmetik daraus entwickelt: Manchester/Ferranti Mark I
EDSAC University of Cambridge (1949) 11 12 Electronic Delay Storage Automatic Calculator (M. Wilkes, D. Wheeler) Erster praktisch benutzbarer von- Neumann-Rechner Hauptspeicher: 512 (1024) Worte zu 17 Bits (35 Bit doppelte Genauigkeit) Quecksilber- Verzögerungsleitung 3000 Elektronenröhren für Logik, 500 khz Takt, 650 ips, 4.5 ms Multiplikation, 200 ms Division in SW, 12 kw Leistungsaufnahme, 20 m² Stellfläche Initial Orders 31 (41) Befehle über Schalter gesetzt Systemsoftware zum Laden, relozieren und Ausführen von Programmen Bibliothek mit 87 Unterprogrammen, hauptsächlich mathematisch Quecksilber-Verzögerungsleitung (Ursprung: Radartechnik) 32 Tanks (1,5 m lang) für 32 Zahlen zu 17 Bits 2 Tanks gekoppelt ergeben 35 Bits Nachteile Warten, bis Bit verfügbar Konstante Temperatur erforderlich (Ofen, 42 Grad C) Aber: Relativ zuverlässig
EDSAC 11 13
Manchester/Ferranti Mark I (1951), U.K. 11 14 CRT-Speicher organisiert in 20- Bit grosse, adressierbare "Line"s; eine Line pro Befehl und zwei aufeinanderfolgende Lines pro Zahl (siehe Abbildung) Serielle 40-Bit Arithmetik mit HW Addition, Subtraktion und Multiplikation (Akkumulator mit doppelter Länge) sowie Logikoperationen, 50 Befehle 8 Index-Register (B-Lines), um in Befehlen gespeicherte Immediate- Adressen zu modifizieren; einfache B-Line Arithmetik (Adressrechnung) und Tests 8 Seiten CRT-Hauptspeicher (1 CRT pro 64*20-Bit Seite) 512 Seiten Magnettrommelspeicher, 2 Seiten pro Spur, 30 ms pro Umdrehung
Manchester/Ferranti Mark I 11 15 1.2 ms pro Befehl, Multiplikation 2.16 ms Peripheriebefehle Lese oder stanze eine Zeile von/in 5-Loch Papierband Übertrage eine Seite (oder Spur) von/nach Trommel nach/von CRT (oder Doppelseite) Programmierung sehr kompliziert 5 Bit -> 32 Zeichen des Fernschreibercodes, von 0-31: /E@A:SIU½DRJNFCKTZLWHYPQOBG"MXV Lösung: Mark I Autocode (1954) Erste implementierte Programmiersprache Mischung aus Assembler und Hochsprache Skalarprodukt aus zwei Vektoren: real int vi = v[i] n1, n2 n1 = 201 n2 = 301 v99 = 0 7: v98 = vn1 x vn2 v99 = v99+v98 n1 = n1+1 n2 = n2+1 j7, 280 >= n1
UNIVAC I Remington Rand, Eckert/Mauchly (1951) UNIVersal Automatic Computer I 11 16 Erster massenproduzieter Rechner, 46 Installationen, Preis $159.000-$1.5 Mio 5200 Röhren, 13 t, 125 kw, 35.5 m² 2,25 MHz, 1905 ips, 525 us Add, 2150 us Mult Metallbandlaufwerk statt Lochkarte 1000 Worte zu 12 Characters BCD XS3 Arithmetik, 11 Digits+Sign 6 Bits pro Digit + 1 Paritätsbit, Codes vom alphanumerischen Zeichensatz Subtraktion mit 9er-Komplement Addition erfordert +3/-3
Mercury Delay Line (UNIVAC I) 11 17
IBM 701/704 (1952-54) 11 18 IBM 701, IBM's erster wissenschaftlicher Rechner 18/36 Bit Wortlänge, 2048 Worte in 72 Williams-Tubes, 30 us Zugriffszeit Add 60 us, Mult und Div 456 us, Fixpunktarithmetik Befehle: 1 Bit Vorzeichen, 5 Bit OPC, 12 Bit Address Nur 2 Register: Akkumulator 38 Bit, 2 Bit Overflow, Multiplier/Quotient 36 Bit Neu bei IBM 704 (inkompatibel) Floating Point Arithmetik (8 Bit Exponent, 29 Bit Mantisse) 3 Indexregister Programmiersprachen FORTRAN und LISP Kernspeicher, 18 us Zugriffszeit
The First Integrated Circuits 1966 11 19
Intel 4004, First Microprocessor 11 20 1971 2250 Transistoren 10 µm 10,8 µs instruction cycle 1 MHZ clock 4-Bit-Arithmetik 16-Pin package 15 V Versorgungsspannung
Intel 4004 11 21
Teil des Schaltplans, (c) Intel 11 22
Intel386 (1985) 11 23 First 32-bit chip 275,000 transistors 16 MHz 33 MHz 1 micron Multi-tasking Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg477
Pentium III(1999) 9.5 million transistors 0.25-micron technology Internet Streaming SIMD extensions 11 24 SIMD = Single Instruction Multiple Data (Vektorbefehle)
Intel Pentium (IV) Microprocessor 11 25
IBM Power PC 970 (130nm) 2003 11 26 1.8 Ghz 58 Mio Transistoren 118 mm2 Apple Power G5, the fastest PC in 2003, has dual PPC 970 CPU
2 Cores 2007: IBM Power6 65nm SOI process with 10 layers of metal 340 mm 2 die 18,4 mm x 18,4 mm 700 Mio Transistoren 2 Mio Trans pro mm 2 ein Transistor: 0,5 x 1µm x 1µm Core-Spannung 0,8 V 11 27 SOI = Silicon on Insulator http://www.realworldtech.com/page.cfm?articleid=rwt101606194731
Moore s Law 11 28 In 1965, Gordon Moore noted that the number of transistors on a chip doubled every 18 to 24 months. He made a prediction that semiconductor technology will double its effectiveness every 18 months
Transistors (MT) Technische Grundlagen der Informatik 2, SS 09, R. Hoffmann, TUD Moore s Law in Microprocessors 11 29 Transistors on lead microprocessors double every 2 years # 1000 100 2X growth in 1.96 years! 10 1 0.1 0.01 0.001 8085 8086 8080 4004 8008 386 286 486 P6 Pentium proc 1970 1980 1990 2000 2010 Year Courtesy, Intel
Transistoren auf dem Chip 11 30
Frequency (Mhz) Technische Grundlagen der Informatik 2, SS 09, R. Hoffmann, TUD Clock Frequency 11 31 Lead microprocessors frequency doubles every 2 years # 10000 1000 2X every 2 years 100 10 8085 8086 286 386 486 P6 Pentium proc 1 0.1 8008 4004 8080 1970 1980 1990 2000 2010 Year Courtesy, Intel
Power (Watts) Technische Grundlagen der Informatik 2, SS 09, R. Hoffmann, TUD Power Dissipation 11 32 Lead Microprocessors power continues to increase 100 P6 Pentium proc 10 1 8085 8080 8008 4004 8086 286 386 486 0.1 1971 1974 1978 1985 1992 2000 Year Power delivery and dissipation will be prohibitive # Courtesy, Intel
Power Density (W/cm2) Technische Grundlagen der Informatik 2, SS 09, R. Hoffmann, TUD Power Density 11 33 10000 1000 100 Rocket Nozzle Nuclear Reactor 10 1 4004 8008 8080 8086 Hot Plate 8085 286 386 486 P6 Pentium proc 1970 1980 1990 2000 2010 Year Power density too high to keep junctions at low temp # Courtesy, Intel
Arten von Mikroprozessoren 11 34 Universal-Mikroprozessoren Desktop Notebook Server Cluster Mikrocontroller Embedded Systems Digitale Signalprozessoren Digitale Signalverarbeitung, z. B. Fast Fourier Transformation
Embedded System 11 35 Ein Eingebettetes System (Embedded System) ist ein Elektronik-System, das in einem größeren Gesamtsystem integriert ist und das als solches nicht isoliert in Erscheinung tritt. Es unterstützt dedizierte Funktionen innerhalb eines Gesamtsystems und wird meist dafür gezielt entworfen. Eingebettete Systeme können sowohl Standard- Mikroprozessoren und -Mikrocontroller, als auch an die jeweilige Anwendung angepaßte spezielle Hardund Software enthalten.
Beispiele für Embedded Systems 11 36 In Gesamtsystemen, wie Automobil Haushaltsgeräte Drucker Unterhaltungselektronik Spielzeuge Handy Flugzeug
Mikrocontroller für Embedded Systems Möglichst viele Funktionen werden auf dem Chip integriert, so daß der Zusatz-Hardwareaufwand minimal wird. 11 37 SoC = System on a Chip Ausstattungsvarianten 4, 8, 16, 32 Datenwegbreite mit Speicher RAM, ROM, EEPROM serielles Interface, paralleles Interface, Timer, A/D- Wandler, spezielle Interfaces
Analog Devices: Blackfin Embedded Processor 11 38
Mikrocontroller im Kraftfahrzeug 11 39 Verarbeitungsbreite
Aktive Federung Für besonders hohe Fahrdynamik und mehr Sportlichkeit ist die Mercedes CL- Klasse serienmäßig mit dem neuen Active Body Control ABC ausgestattet. Das aktive Federungssystem bügelt Straßenunebenheiten einfach aus: dank einer aktiven Stahlfederung, die per Elektrohydraulik gesteuert wird. 11 40 Beim Aktive Body Control (ABC) von Mercedes handelt es sich um ein aktives elektro-hydraulisches Federungssystem, das den Aufbau (Body) in allen Fahrsituationen auf gleichem Niveau halten soll. Mit diesem Fahrwerkssystem werden sowohl die Federung und die Schwingungsdämpfung verändert als auch die Niveauregelung ermöglicht Aktive Fahrwerkssysteme (AFS) wie das ABC verbessern das Fahrverhalten, in dem sie den Bewegungen des Fahrzeugs um die Hochachse (Schleudern) Längsachse (Wanken) und die Querachse (Nicken) entgegenwirken. Zum Erfassen dieser Bewegungen sind Sensoren erforderlich: Drehzahlfühler des ABS (Raddrehzahlen, Fahrgeschwindigkeit) Lenkwinkelsensor (Lenkwinkel und Lenkgeschwindigkeit) Giermomentsensor (Drehung des Fahrzeugs um die Hochachse) Längs- und Querbeschleunigungssensoren ( Beschleunigungs-, Brems- und Kurvenkräfte) Niveausensoren (Höhe des Fahrzeugaufbaus) Zum Regelung sind in jedem Federbein vertikal verstellbare Hydraulikzylinder (Plunger) angeordnet. Je mehr Öl in den Hydraulikzylinder gepumpt wird, um so stärker wird die Feder vorgespannt und um so größer wird die Federkraft. Die Ölpumpe arbeitet mit Drücken bis zu 200 bar. Zur Erfassung der Kolbenstangenstellung und Rückmeldung an das Steuergerät ist jeweils ein Wegsensor am Hydraulikzylinder angebracht.
Reaktion auf Kontext Darstellung paßt sich an den Betrachter an, nimmt mit ihm elektronischen Kontakt auf RFID = "Radio Frequency Identification" 11 41 Quelle: David Carr, Kunst des Malens: Der Akt, Könemann Verlag, Köln 1996