Grundbegriffe
Verarbeiten von Daten
Maschinensprache
Dasselbe Programm in Assembler
Assembler
Instruction‐Set‐Architecture (ISA)
• Schnittstelle zwischen Hardware und Software
• ISA bestimmt
– Art der Speicherzugriffe
– Verfügbare arithmetische und logische Operationen – Typ und Größe der Operanden der Berechnungen – Arten von Programmsprüngen
– Die Art wie ISA‐Instruktionen in Maschinensprache codiert werden
• Wesentliche Klassifikation
– CISC (Complex‐Instruction‐Set‐Computer) – RISC (Reduced‐Instruction‐Set‐Computer)
• Moderne Prozessoren sind RISC (selbst x86 intern)
Grundbegriffe
Integrierte Schaltungen
Technologien zum Bau von Prozessor und Speicher
Chip‐Integrationsdichten
• Integrationsdichte gekoppelt an Strukturbreite
• Strukturbreite gegeben durch Breite der Strompfade
• Limitierender Faktor: Wellenlänge des Lichts bei lithografischer Belichtung
sichtbarer Bereich 380 nm und 780 nm Entwicklung:
• 70er Jahre : z.B. 10 µm bei Intel 4004, oder 3 µm bei Intel 8086
• 80er Jahre: unter 1 µm
• 90er Jahre: Größenordnung der Lichtwellenlänge erreicht und dann?
• Wechsel zu UV‐Licht und anschließend
• Wechsel zu extremem UV‐Licht (EUV)
• Damit Strukturbreiten von 45 nm, 22 nm und 10 nm
• (7nm 2018, 5 nm ~2020, 3 nm ~2022)
[siehe z.B.: https://www.itwissen.info/Integrationsdichte‐integration‐density.html]
Beispiel eines Mikroprozessors
AMD Barcelona
Der Chip‐Herstellungsprozess
Beispiel: 300mm AMD Opteron Wafer
Der Chip‐Herstellungsprozess
Performance
Definition von Performance
Response‐Time (oder Execution‐Time) – Gesamtzeit zur Abarbeitung einer Aufgabe Throughput(oder Bandwidth) – Anzahl Aufgaben pro Zeiteinheit
Performance p eines Computers mit Execution‐Time x:
Performance‐Ratio n zwischen zwei Computern mit Performance p1 und p2 bzw. Execution‐
Times x1 und x2:
Beispiel: Computer A braucht 10 Sekunden und Computer B braucht 15 Sekunden. Die Performance‐Ratio nAB zwischen A und B ist:
Messen von Zeit und Frequenz
CPU‐Execution‐Time (oder CPU‐Time) – Zeit die die CPU für die Aufgabe beansprucht wird
System‐Performance – Performance auf der Basis von Execution‐Time CPU‐Performance– Performance auf der Basis von CPU‐Time
Bezeichnung Anzeil einer Sekunde Millisekunde (ms) 10‐3Sekunden
Mikrosekunde (µs) 10‐6Sekunden Nanosekunde (ns) 10‐9Sekunden Pikosekunden 10‐12 Sekunden
Zeit Frequenz
Bezeichnung 1/Sekunde
Hz 1
KHz 10^3
MHz 10^6
GHz 10^9
Maschinentakt zur Zeitmessung
Clock‐Cycle Zeit
Clock‐Rate [Hz] bei Clock‐Periode [s]: Beispiel Clock‐Rate bei bei 250 ps Clock‐
Periode?
Zusammenhang zwischen CPU‐Time, Clock‐Cycles für ein Programm und Clock‐Periode bzw. Clock‐Rate:
Instruktionsperformance
Instruktion 1 Instruktion 2 Inst 3 Instruktion 4
…
Zeit Clock Cycles per Instruction (CPI) – Mittlere Anzahl Cycles pro Instruktion für ein gegebenes Programm oder Programmfragment.Instruction‐Count – Anzahl benötigter Instruktionen für ein gegebenes Programm oder Programmfragment.
Zusammenhang zwischen CPU‐Time, CPI, Instruction‐Count und Clock‐Periode bzw. Clock‐
Rate:
Zeitmessung zusammengefasst
Hardware‐ oder Software‐Komponente Beeinflusst bzw. kann beeinflussen
Algorithmus Instruction‐Count, CPI
Programmiersprache Instruction‐Count, CPI
Compiler Instruction‐Count, CPI
Instruction‐Set‐Architektur Instruction‐Count, Clock‐Rate, CPI Grundlegende Messgrößen
Performance‐Messung mittels MIPS?
MIPS – Millionen Instruktionen pro Sekunde
Also für ein Programm mit gegebener Execution‐Time und Instruction‐Count:
MIPS ist abhängig vom CPI‐Wert:
SPEC CPU Benchmark
Was ist das Geometrische Mittel g von x , …, x ?
Beispiel: SPEC CINT 2006 Benchmarks auf einem 2.66 GHz Intel Core i7 920.
Geometrisches Mittel bei Performance‐Vergleich
SPEC Power Benchmark
Zum Abschluss: Amdahls Gesetz
F
F'
ohne Verbesserung mit Verbesserung
Texe
Verbesserungsfaktor g von F nach F‘?
Ist g gleich dem Speedup für das gesamte Programm?
Sei 0 ≤ f≤ 1 der Anteil von F an Texe, also f = F/Texe. Was ist der Speedup S?
Beispiel: Parallel ausführbare Programmkomponente
g
Meilensteine der Rechnerarchitektur
Generation 0: Mechanische Computer (1642‐1945)
Jahr Name Gebaut von Kommentar
1642 Blaise Pascal Addition und Subtraktion mit mechanischen Elementen.
1673 Gottfried Wilhelm von Leibniz
Zusätzlich Multiplikation und Division mit mechanischen Elementen.
1834 Analytical Engine
Charles Babbage, University of Cambridge
Erster Versuch (mechanische Bauteile waren zu der Zeit noch nicht präzise genug) eines mechanischen Computers mit Speicher,
Recheneinheit und Punch‐Card I/O. Erster Computer‐Programmierer Ada Augusta Lovelace.
Generation 0: Mechanische Computer (1642‐1945)
Jahr Name Gebaut von Kommentar
1936 Z1 Konrad Zuse Erster funktionierender automatischer Rechner auf Basis von Relais. Z1 wurde 1944 durch Alliierten Bombardierung auf Berlin zerstört.
1937 John Atanasoff, Iowa State College
Erster Versuch (Idee konnte nach Stand der Technik nicht vollständig umgesetzt werden) eines automatischen Rechners auf Basis von binären Zahlen und Speicher auf Basis von Kondensatoren (DRAM funktioniert noch heute nach dem gleichen Prinzip).
1940 George Stibbitz, Bell Labs
Weiterer funktionierender automatischer Rechner auf Basis von Relais.
Replik der Z1 im Deutschen Technikmuseum Berlin
Generation 0: Mechanische Computer (1642‐1945)
Jahr Name Gebaut von Kommentar 1944 Mark I Howard Aiken,
Harvard
Erster funktionierender auf Relais basierender mechanischer Computer nach der Idee von Babbage. (72 Worte a 23 Dezimalstellen,
Instruktionszeit 6 sek.)
1947 Mark II Howard Aiken, Harvard
Nachfolger von Mark I, der aber durch Beginn des elektronischen Zeitalters obsolet wurde.
Ausschnitt des Harvard‐IBM Mark I Computer, Cabot Science Building, Harvard University, Cambridge, Massachusetts.
Generation 1: Elektronenröhre (1945‐1955)
Jahr Name Gebaut von Kommentar 1943 COLOSSUS Britische
Regierung
Der weltweit erste elektronische Computer.
Geheimprojekt der Britischen Regierung, um während des zweiten Weltkrieges Codes der
Verschlüsselungsmaschine ENIGMA zu knacken. Alan Turing war mit an der Konstruktion des Computers beteiligt.
Generation 1: Elektronenröhre (1945‐1955)
Jahr Name Gebaut von Kommentar 1946 ENIAC John
Mauchley und J. Presper
Eckert,
University of Pennsylvania
Seit 1943 vom amerikanischen Militär gefördertes
Projekt für den Bau eines elektronischen Computer zur Berechnung von Reichweitentabellen von schwerer Artillerie. (18.000 Röhren, 1.500 Relais, 30 Tonnen, 140 kW Verbrauch) Programmierung über Schalter und
Jumper‐Kabel. Vorstellung des ENIAC war Inspiration für viele nachfolgende Computer‐Projekte.
Generation 1: Elektronenröhre (1945‐1955)
Jahr Name Gebaut von Kommentar
1949 EDSAC Maurice Wilkes,
University of Cambridge
Zum ersten mal Programm gespeichert.
1951 EDVAC John Mauchley und J.
Presper Eckert, Eckert‐
Mauchley Corporation
Nachfolgeprojekt des ENIAC
1951 Whirlwind I MIT Erstmals Verwendung von kurzen Wortlängen a 16 Bit.
1951 UNIVAC John Mauchley und J.
Presper Eckert, Eckert‐
Mauchley Corporation
Der erste in den USA hergestellte kommerzielle Computer.
1952 ILLIAC University of Illinois Weitere Beispiele von Röhrenrechnern seinerzeit. Viele andere wurden auch gebaut
1952 MANIAC Weitzmann Institue Israel 1953 JOHNIAC Rand Coropration
Generation 1: Elektronenröhre (1945‐1955)
Jahr Name Gebaut von Kommentar
1952 IAS John von
Neumann und Herman Goldstine Princeton‘s Institute of Advanced Studies
Als ehemaliger Beteiligter des ENIAC‐Projektes baut John von Neumann am Princeton‘s Institute of Advanced
Studies seine Eigene Version des ENIAC. Der Computer verwendet binäre Arithmetik und speichert das
Programm zusammen mit den Daten in einem Speicher.
Dieses Konzept, bezeichnet als von Neumann Maschine, wurde von John von Neumann erstmals beschrieben. Es fand auch schon im EDSAC Verwendung. Es ist Basis heutiger Computer.
Speicher
Arithmetic Input
Die original von Neumann Maschine
Generation 1: Elektronenröhre (1945‐1955)
Jahr Name Gebaut von Kommentar
1953 701 IBM IBM im Computer‐Sektor bisher mit Herstellung von Lochkarten und mechanischen Kartensortiermaschinen tätig. Erster Computer in einer Serie von
wissenschaftlichen IBM‐Rechnern, welche die Industrie innerhalb eines Jahrzehnts dominierten.
Generation 1: Elektronenröhre (1945‐1955)
Jahr Name Gebaut von Kommentar
1956 704 IBM Nachfolge des 701 mit mehr Speicher (4096 36‐Bit‐Wörter anstatt 2048) und erstmals mit Fließkomma‐Hardware.
1958 709 IBM Verbesserter 704 und auch letzter von IBM produzierte Reihe von Röhren‐Computern.
Generation 2: Transistoren (1955‐1965)
Jahr Name Gebaut von Kommentar 1955 TX‐0 MIT Lincoln
Laboratory
Erster Transistor‐basierter Computer (16‐Bit‐Maschine).
Nachfolger des Whirlwind I.
1958 TX‐2 MIT Lincoln Laboratory
Nachfolger des TX‐0 (64K 36‐bit Speicher). Rechner auf dem Ivan Sutherland sein revolutionäres Programm SketchPad realisierte.
TX‐0
https://commons.wikimedia.org/
wiki/File:SketchpadDissertation‐
Fig1‐2.tif
https://commons.wikimedia.org /wiki/File:SketchpadDissertation
‐Fig4‐1.tif
Generation 2: Transistoren (1955‐1965)
Jahr Name Gebaut von Kommentar
1959 7090 IBM Transistor‐Version des IBM 709. Anwendung
wissenschaftliches Rechnen. Preis mehrere Millionen.
1959 1401 IBM Kleine geschäftsorientierte Computer. Deutlich günstiger als der 7090.
z.B. Einsatz des IBM 7090 im Mercury Projekt, das erste bemannte
Raumfahrtprogramm der Vereinigten Staaten (1958 – 1963)
Generation 2: Transistoren (1955‐1965)
Jahr Name Gebaut von Kommentar
1961 PDP‐1 DEC Ehemaliger TX‐0/TX‐2 Mitarbeiter Kenneth Olsen gründetet DEC, die mit dem PDP‐1 den ersten kommerziellen
Minicomputer ähnlich dem TX‐0 mit einem innovativen 512x512 Display herstellte. (50 Stück verkauft; 4096 18‐Bit Worte; 200.000 Instruktionen/Sek, d.h. halb so schnell wie der seinerzeit schnellste Computer IBM 7090; Kosten
$120.000; Kosten eines IBM 7090 betrug Millionen).
Studenten des MIT implementierten mit Spacewar das erste Video‐Spiel auf einem PDP‐1.
Generation 2: Transistoren (1955‐1965)
Jahr Name Gebaut von Kommentar
1962 7094 IBM Nachfolger des IBM 7090. Cycle‐Time von 2
Mikrosekunden. 32.536 Wörter mit 36‐Bit‐Länge.
1963 B5000 Burroughs Erste Maschine, mit der auch die Unterstützung von High‐
Level‐Sprachen (Algol‐60, Vorgänger von C und Java) berücksichtigt wurde.
1964 6600 CDC Erster wissenschaftlicher Supercomputer. Fast 10 mal Schneller als der IBM 7094. Designer des 6600 war
Seymour Cray. Geschwindigkeit wurde durch hoch parallel arbeitende CPU und parallele Abarbeitung von I/O etc.
erreicht. Viele Ideen des 6600 finden sich in modernen Computern wieder.
1965 PDP‐8 DEC 12‐Bit Maschine. Nachfolger des PDP‐1 aber wesentlich billiger (Kosten $16.000). Erster Massenmarkt‐Computer.
Innovation: Single‐Bus.
Console Paper
Generation 3: Integrierte Schaltungen (1965‐1970)
Jahr Name Gebaut von Kommentar
1964 360 IBM Erste Computer‐Produktlinie (z.B. Model 30, 40, 50, 65) von IBM die beides wissenschaftliches (bisher 7094) und
kommerzielles (bisher 1401) Rechnen vereinte. Produktlinie basiert auf ICs. Innovationen: eine Assembler‐Sprache für alle Geräte der Produktlinie, Multiprogramming, Emulation von 1401 und 7094.
1970 PDP‐11 DEC DECs IC‐basierter 16‐Bit‐Nachfolger des PDP‐8.
Dominierender Minicomputer in den 1970ern.
PDP‐11/40 im Tech‐
nischen Museum Wien
https://commons.wikimedia.org/wiki/File:KL_DEC_J11.jpg
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von Kommentar
1971 Intel 4004 Intel Erster in Serie produzierter Ein‐Chip‐
Mikroprozessor.(4‐Bit‐Mikroprozessor) 1971 TMS 1000 Gary Boone und
Michael Cochran, Texas Instruments
Erster Mikrocontroller (bestehend aus ROM, RAM, Prozessor, Clock). Einsatzgebiet:
Eingebettete Systeme.
1974 8080 Intel Erste Personal‐Computer werden als Bastel‐Kits bestehend aus loser Platine, Kabeln, Netzteil, ggf.
Floppy und ICs verkauft. Ein Standard‐IC ist der Intel 8080. Software gab es keine. Später wurde das CP/M Betriebssystem von Gary Kindall auf 8080ern populär.
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von Kommentar
1974 CRAY‐1 Cray Erster Vektor‐Supercomputer. Die Architektur wurde vom Team um Seymour Cray entwickelt. Die erste Cray‐1
wurde 1976 am Los Alamos National Laboratory in
Betrieb genommen und kostete 8,8 Millionen US‐Dollar.
Vgl. erster wissenschaftlicher Supercomputer
https://commons.wikimedia.org/wiki/File:CDC_6600.jc.jpg https://commons.wikimedia.org/wiki/File:Cray‐1‐
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von
Kommentar 1976 Apple I Steve
Jobs und Steve Wozniak, Apple
Einer der ersten Personal‐Computer.
Wurde als fertig bestückte Platine verkauft.
1977 Apple II Steve Jobs und Steve Wozniak, Apple
Einer der ersten höchst erfolgreichen massengefertigte Mikrocomputer.
1978 VAX DEC Erster 32‐Bit Super‐Minicomputer
1977 8084 Intel Als Antwort auf den Texas Instruments TMS 1000 Mikrocontroller entwickelt Intel
ebenfalls ein Computer‐System auf einem
https://commons.wikimedia.org/
wiki/File:Apple_IIe.jpg
https://commons.wikimedia .org/wiki/File:VAX_11‐
780_intero.jpg
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von Kommentar 1981 IBM PC IBM, Philip
Estridge
Erster IBM Personal Computer, gefertigt aus
kommerziellen Komponenten. Intel 8088 als CPU. Der Computer wurde ein Best‐Seller. Beginn der modernen Personal‐Computer‐Ära. Ausgestattet mit MS‐DOS von Microsoft.
1981 Osborne‐1 Osborne Erster tragbarer Personal‐Computer mit etwa 11 kg Gewicht.
https://commons.wikimedia.org/wiki/
File:KL_Intel_TD8088.jpg (Konstantin Lanzet)
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von Kommentar
1982 C64 Commodore Personal‐Computer auf Basis des 6510er 8‐Bit
Mikroprozessors. Mit 12.5 bis 17 Millionen verkauften Einheiten einer der erfolgreichsten Personal‐Computer‐
Modelle aller Zeiten.
1983 Lisa Apple Erster Personal Computer mit Maus und Betriebssystem mit grafischer Benutzeroberfläche (GUI). Verkaufte sich wegen des hohen Preises von rund 10.000 US‐Dollar schlecht. Produktion wurde 1984 wieder eingestellt.
1984 Macintosh Apple Deutlich preisgünstiger, aber dem Apple Lisa technisch ähnlich. Der Mac wurde zum großen Erfolg.
C64 Macintosh
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von Kommentar
1985 386 Intel Mit dem 8088‐Erfolg produzierte Intel größere und bessere Versionen. Der 32‐Bit Prozessor 386 ist der Vorgänger des Pentium.
1985 MIPS MIPS Erste Kommerzielle RISC‐Maschine
https://commons.wikimedia.org/wiki/
File:Intel386sx_a_50_Kc.jpg https://commons.wikimedia.org/wiki/
386 Pentium 4
Generation 4: Very Large Scale Integration (ab 1970)
Jahr Name Gebaut von Kommentar
1985 Atari ST Atari Personal‐Computer auf Basis des Motorola 68000er.
Einer der ersten Computer mit einer Color GUI. (Version des Digital Research's GEM)
1987 SPARC Sun Erste SPARC‐Prozessor‐basierte Workstation von Sun 1987 Amiga500 Amiga Personal‐Computer auf Basis des Motorola 68000er.
Einer der besten Multimedia Home‐Computer seiner Zeit.
1990 RS6000 IBM Erstesuperskalare Maschine.
1992 Alpha DEC Erster 64‐Bit Personal Computer.
Atari ST Amiga 500
VS
Jahr Name Gebaut von Kommentar
1993 PIC Microchip
Technology
Erster Mikrocontroller auf Basis von EEPROMs. Diese erlauben das „Flashen“
ohne zusätzliche Hardware. Bemerkung: Mikrocontroller gibt es schon seit 1971. Mikrocontroller finden sich mittlerweile in sehr vielen
Alltagsgegenständen.
1993 Newton Apple Erster Palmtop‐Computer. Vorgänger der PDAs.
1993 Simon IBM Erstes Smart‐Phone welches neben Telefonieren mit einfachen Programmen aufwartet. (Kalender, Email etc.)
Generation 5: „Invisible‐Computers“ (ab 1993)
https://de.wikipedia.org/wiki/PICmicro#/media/Datei:Microchip https://commons.wikimedia.org/wiki/File:Apple_Newton_a nd_iPhone.jpg (Author Blake Patterson)
PIC Newton Simon Personal Communicator
in Ladestation
https://commons.wikimedia.org/wi
Jahr Name Gebaut von Kommentar
1996 Nokia 9000 Nokia Kombination aus PDA von HP und Nokias zu der Zeit best‐verkauften Mobiltelefon. (unter anderem Email und textbasiertes Browsen)
1997 GS88 Ericsson Der Begriff Smartphone wird erstmals von Ericsson mit Einführung des GS88 geprägt.
2001 Kyocera 6035 Palm Erstes in den USA weitverbreitetes Smartphone. Limitierte Unterstützung von Web‐Browsing.
2002 Palm OS Treo Handspring Web‐Browsing, Email, etc. und Mobile Drittanbieter‐Applikationen.
2002 BlackBerry RIM Etwa 32 Millionen Kunden December 2009.
Generation 5: „Invisible‐Computers“ (ab 1993)
https://commons.wikimedia.org/
wiki/File:Nokia‐9110‐2.jpg
Nokia 9110 Kyocera 6035 Treo 300
https://commons.wikimedia.org/wiki/
BlackBerry
Jahr Name Gebaut von Kommentar
2007 iPhone Apple Erstes Smartphone mit einem Multi‐Touch Interface.
2008 HTC Dream HTC Erstes Smartphone auf Basis des Android OS.
2010 Nexus One Google Google bringt das Nexus One Smartphone für Android OS heraus.
2010 Wave S8500 Samsung Bada‐OS‐basiertes Smartphone mit einer Million verkaufter Exemplare in den ersten vier Wochen auf dem Markt.
Generation 5: „Invisible‐Computers“ (ab 1993)
…
iPhone 1stGen
https://commons.wikimedia.org/wiki/File:Nex us_One.png (Author Zach Vega)
Nexus One Samsung Wave S8500
https://commons.wikimedia.org/wiki/File:
Samsung_Wave_Bada.jpg (Author Cheon Fong Liew)