Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der...

63
Grundlagen der Rechnerarchitektur Einführung

Transcript of Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der...

Page 1: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Grundlagen der Rechnerarchitektur

Einführung

Page 2: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Grundlagen der Rechnerarchitektur ‐ Einführung 2

Unsere erste Amtshandlung:Wir schrauben einen Rechner auf

Page 3: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Vorlesungsinhalte• Binäre Arithmetik• MIPS Assembler• ARM, x86 und ISA‐Prinzipien• Querschnittsthemen• Prozessor• Speicher• Ein‐Ausgabe• Parallelität

Grundlagen der Rechnerarchitektur ‐ Einführung 3

Page 4: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Übersicht dieses Vorlesungsabschnitts• Grundbegriffe• Performance• Meilensteine der Rechnerarchitektur• Trends

Grundlagen der Rechnerarchitektur ‐ Einführung 4

Page 5: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Grundbegriffe

Grundlagen der Rechnerarchitektur ‐ Einführung 5

Page 6: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Rechnertypen• Personal Mobile Device (PMD)

– Mobiltelefon, Tablet‐Computer– Schwerpunkte sind Energie‐Effizienz und Echtzeit

• Desktop‐Computing– Schwerpunkt Preis‐Performance

• Server– Schwerpunkt Verfügbarkeit, Skalierbarkeit, Durchsatz

• Cluster/Warehouse‐Scale‐Computer– Verwendung für “Software as a Service (SaaS)”– Schwerpunkt Preis‐Performance– Subklasse: Supercomputer, Schwerpunkt:  Floating‐Point‐Performance 

schnelle interne Netze; abarbeiten von Batch‐Jobs• Embedded‐Computer

– Schwerpunkt : Preis

Grundlagen der Rechnerarchitektur ‐ Einführung 6

Page 7: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Standard‐Organisation eines Rechners

Grundlagen der Rechnerarchitektur ‐ Einführung 7Bildquelle: David A. Patterson und John L. Hennessy. “Computer Organization And Design”. 3rd Edition

Verarbeitet Daten

Speichert Daten Eingabe von Daten

Ausgabe von Daten

Page 8: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Computer‐Schichtenmodell

Geometrie

Transistoren

Logikschaltungen

Mikroarchitektur(Register‐Transfer Ebene)

Instruktionssatz‐Architektur

Betriebssystem

Assemblersprache

Höhere Programmiersprachen 

Software

HardwareGrundlagen der Digitaltechnik

Grundlagen derRechnerarchitektur

Grundlagen der Rechnerarchitektur ‐ EinführungBildquelle: Vorlesung „Grundlagen der Rechnernetze“, Prof. Platzner, (Version 10.09.10)

8

Page 9: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

GrundbegriffeDarstellen und Speichern von Daten

Grundlagen der Rechnerarchitektur ‐ Einführung 9

Page 10: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Binäre Zahlendarstellung

Grundlagen der Rechnerarchitektur ‐ Logik und Arithmetik 10

Darstellung einer Zahl zu einer beliebigen Basis b:

Dezimalwert dieser Zahl zur Basis b:

Binärzahlen‐Beispiel: 1101two. Was ist der Dezimalwert?

Was ist die Binärzahl zu 11ten?

Page 11: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

N‐Bit‐Binärzahlen

Grundlagen der Rechnerarchitektur ‐ Logik und Arithmetik 11

N‐Bit‐Binärzahlen, Beispiel 16‐Bit:

Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0

Least‐Significant‐Bit (LSB) und Most‐Significant‐Bit (MSB)

Nibble (4‐Bit):1010Byte (8‐Bit):1001 1000Halfword (16‐Bit):1111 1100 1001 1100Word (32‐Bit):0110 1101 0010 1010 1111 1100 1001 1100

Page 12: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Hexadezimaldarstellung

Grundlagen der Rechnerarchitektur ‐ Logik und Arithmetik 12

Hex Bin Hex Bin Hex Bin Hex Bin0 0000 4 0100 8 1000 c 11001 0001 5 0101 9 1001 d 11012 0010 6 0110 a 1010 e 11103 0011 7 0111 b 1011 f 1111

1100 1001 0001 1111Binär nachHexadezimal

Hexadezimalnach Binär

AFFEhex

Page 13: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Physikalischer Speicher

Grundlagen der Rechnerarchitektur ‐ Assembler 13

Adresse Inhalt 0x00000000 : 100110010x00000001 : 010101110x00000002 : 001100110x00000003 : 101101000x00000004 : 101011110x00000005 : 100010000x00000006 : 111110000x00000007 : 10001101.........0xfffffffd : 101011110xfffffffe : 101110110xffffffff : 11111000

Wie viele Bytes können hier insgesamt adressiert werden?

Page 14: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Speichergrößen

Grundlagen der Rechnerarchitektur ‐ Einführung 14

Bezeichnung Anzahl Bytes Gelegentlich für Sekundärspeicher

Kilobyte (KB) 210 Bytes

Megabyte (MB) 220 Bytes 106 Bytes

Gigabyte (GB) 230 Bytes 109 Bytes

Terabyte (TB) 240 Bytes 1012 Bytes

Petabyte (PB) 250 Bytes 1015 Bytes

Exabyte (EB) 260 Bytes 1018 Bytes

Größenordnungen sind ab MB bis auf kleinen Fehler vergleichbar, z.B.:

Page 15: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Speichern von längeren Datenblöcken

• Beispiel: ein Word umfasst 4 Byte• Wie legt man ein Word in den Speicher ab?

Grundlagen der Rechnerarchitektur ‐ Logik und Arithmetik 15

Word:345455 543453  453543 22325byte4 byte3 byte2 byte1

base+0 base+1 base+2 base+3 Little‐EndianBig‐Endian

Page 16: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

ASCII‐Zeichen

Grundlagen der Rechnerarchitektur ‐ Assembler 16Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Page 17: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Unicode

Grundlagen der Rechnerarchitektur ‐ Assembler 17Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Page 18: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Zeichenketten (Strings)

Grundlagen der Rechnerarchitektur ‐ Assembler 18

H a l l o W e l t ! @ + ^ a ° % % | } } @ @ Speicher

Niedrigere Adresse Höhere Adresse

Wann ist der Text zu Ende? Beispiele:(1) Erste String‐Position speichert die String‐Länge(2) String‐Länge ist in einer separaten Variable gespeichert(3) String‐Ende wird mit einem speziellen Character markiert (z.B. \0)

Page 19: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

GrundbegriffeVerarbeiten von Daten

Grundlagen der Rechnerarchitektur ‐ Einführung 19

Page 20: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Maschinensprache

Grundlagen der Rechnerarchitektur ‐ Einführung 20

Berechne 0^2 + 1^2 + 2^2 + 3^2 + ... + 100^2Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Page 21: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Dasselbe Programm in Assembler

Grundlagen der Rechnerarchitektur ‐ Einführung 21Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Assembler

Page 22: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

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 Klassifikaiton– CISC (Complex‐Instruction‐Set‐Computer)– RISC (Reduced‐Instruction‐Set‐Computer)

• Moderne Prozessoren sind RISC (selbst x86 intern)

Grundlagen der Rechnerarchitektur ‐ Einführung 22

Page 23: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

GrundbegriffeIntegrierte Schaltungen

Grundlagen der Rechnerarchitektur ‐ Einführung 23

Page 24: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Beispiel eines Mikroprozessors

Grundlagen der Rechnerarchitektur ‐ Einführung 24

AMD Barcelona

Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Page 25: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Grundlagen der Rechnerarchitektur ‐ Einführung 25

Bildquellen: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012;de.wikipedia.org/wiki/Relais; de.wikipedia.org/wiki/Elektronenröhre; de.wikipedia.org/wiki/Transistor; 

de.wikipedia.org/wiki/Integrierte_Schaltung; upload.wikimedia.org/wikipedia/commons/9/94/VLSI_Chip.jp

Technologien zum Bau von Prozessor und Speicher

Page 26: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Der Chip‐Herstellungsprozess

Grundlagen der Rechnerarchitektur ‐ Einführung 26

Page 27: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Beispiel: 300mm AMD Opteron Wafer

Grundlagen der Rechnerarchitektur ‐ Einführung 27

Page 28: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Der Chip‐Herstellungsprozess

Grundlagen der Rechnerarchitektur ‐ Einführung 28

Page 29: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Performance

Grundlagen der Rechnerarchitektur ‐ Einführung 29

Page 30: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Definition von Performance

Grundlagen der Rechnerarchitektur ‐ Einführung 30

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:

Page 31: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Messen von Zeit und Frequenz

Grundlagen der Rechnerarchitektur ‐ Einführung 31

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‐3 Sekunden

Mikrosekunde (µs) 10‐6 Sekunden

Nanosekunde (ns) 10‐9 Sekunden

Pikosekunden 10‐12 Sekunden

Zeit Frequenz

Bezeichnung 1/Sekunde

Hz 1

KHz 10^3

MHz 10^6 

GHz 10^9

Page 32: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Maschinentakt zur Zeitmessung

Grundlagen der Rechnerarchitektur ‐ Einführung 32

ZeitClock‐Cycle

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:

Page 33: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Instruktionsperformance

Grundlagen der Rechnerarchitektur ‐ Einführung 33

ZeitInstruktion 1 Instruktion 2 Inst 3 Instruktion 4 …

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:

Page 34: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Zeitmessung zusammengefasst

Grundlagen der Rechnerarchitektur ‐ Einführung 34Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

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

Einflussfaktoren

Page 35: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Performance‐Messung mittels MIPS?

Grundlagen der Rechnerarchitektur ‐ Einführung 35

MIPS – Millionen Instruktionen pro Sekunde

Also für ein Programm mit gegebener Execution‐Time und Instruction‐Count:

MIPS ist abhängig vom CPI‐Wert:

Page 36: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

SPEC CPU Benchmark

Grundlagen der Rechnerarchitektur ‐ Einführung 36

Was ist das Geometrische Mittel g von x1, …, xn?

Beispiel: SPEC CINT 2006 Benchmarks für einen AMD Opteron X4 Model 2356 (Barcelona)

Page 37: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

SPEC Power Benchmark

Grundlagen der Rechnerarchitektur ‐ Einführung 37

Beispiel: SPECpower_ssj2008 mit 2.3GHz AMD Opteron X4 2356 (Barcelona)und 16GB DDR2‐667 und 500GB Disk

Page 38: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Zum Abschluss: Amdahls Gesetz

Grundlagen der Rechnerarchitektur ‐ Einführung 38

FF'

ohne Verbesserung mit Verbesserung

Texe

Bildquelle: Vorlesung „Grundlagen der Rechnernetze“, Prof. Platzner, (Version 10.09.10)

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?

Page 39: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Beispiel: Parallel ausführbare Programmkomponente

Grundlagen der Rechnerarchitektur ‐ Einführung 39Bildquelle: http://en.wikipedia.org/wiki/Amdahl‘s_law

Page 40: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Meilensteine der Rechnerarchitektur

Grundlagen der Rechnerarchitektur ‐ Einführung 40

Page 41: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 0: Mechanische Computer (1642‐1945)

Grundlagen der Rechnerarchitektur ‐ Einführung 41

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 AnalyticalEngine

Charles Babbage, University ofCambridge

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.

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.

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.

Page 42: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 1: Elektronenröhre (1945‐1955)

Grundlagen der Rechnerarchitektur ‐ Einführung 42

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.

1946 ENIAC John Mauchley und J. PresperEckert, University ofPennsylvania

Seit 1943 vom amerikanischen Militär gefördertes Projekt für den Bau eines elektronischen Computer zur Berechnung von Reichweitentabellen von schwererArtillerie. (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.

Page 43: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 1: Elektronenröhre (1945‐1955)

Grundlagen der Rechnerarchitektur ‐ Einführung 43

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

Page 44: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 1: Elektronenröhre (1945‐1955)

Grundlagen der Rechnerarchitektur ‐ Einführung 44

Jahr Name Gebaut von Kommentar

1952 IAS John von Neumannund Herman GoldstinePrinceton‘sInstitute ofAdvancedStudies

Als ehemaliger Beteiligter des ENIAC‐Projektes baut John von Neumann am Princeton‘s Institute of AdvancedStudies 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

ControlUnit

ArithmeticLogic Unit

Accumulator

Input

Output

Die original von Neumann Maschine

Page 45: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 1: Elektronenröhre (1945‐1955)

Grundlagen der Rechnerarchitektur ‐ Einführung 45

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.

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.

Page 46: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 2: Transistoren (1955‐1965)

Grundlagen der Rechnerarchitektur ‐ Einführung 46

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.

1959 7090 IBM Transistor‐Version des IBM 709. Anwendungwissenschaftliches Rechnen. Preis mehrere Millionen.

1959 1401 IBM Kleine geschäftsorientierte Computer. Deutlich günstiger als der 7090.

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.

Page 47: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 2: Transistoren (1955‐1965)

Grundlagen der Rechnerarchitektur ‐ Einführung 47

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.

CPU Speicher ConsoleTerminal

Paper Tape I/O Other I/O Der PDP‐8

Omnibus

Page 48: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 3: Integrierte Schaltungen (1965‐1970)

Grundlagen der Rechnerarchitektur ‐ Einführung 48

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.

Page 49: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 4: Very Large Scale Integration (ab 1970)

Grundlagen der Rechnerarchitektur ‐ Einführung 49

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

ErsterMikrocontroller  (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.

Page 50: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 4: Very Large Scale Integration (ab 1970)

Grundlagen der Rechnerarchitektur ‐ Einführung 50

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.

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 Chip. Einsatzgebiet beispielsweise in Milliarden von Keyboards.

Page 51: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 4: Very Large Scale Integration (ab 1970)

Grundlagen der Rechnerarchitektur ‐ Einführung 51

Jahr Name Gebaut von Kommentar

1981 IBM PC IBM, PhilipEstridge

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.

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‐Dollarschlecht. Produktion wurde 1984 wieder eingestellt. 

1984 Macintosh Apple Deutlich preisgünstiger, aber dem Apple Lisa technisch ähnlich. Der Mac wurde zum großen Erfolg.

Page 52: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Generation 4: Very Large Scale Integration (ab 1970)

Grundlagen der Rechnerarchitektur ‐ Einführung 52

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

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 Erste superskalare Maschine.

1992 Alpha DEC Erster 64‐Bit Personal Computer.

Page 53: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Grundlagen der Rechnerarchitektur ‐ Einführung 53

Jahr Name Gebaut von Kommentar

1993 PIC MicrochipTechnology

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.)

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 Ericson Der Begriff Smartphone wird erstmals von Ericson mit Einführung des GS88geprä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.

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)

Page 54: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Beispiel heutiger Mikrocontoller und Mikroprozessoren

Grundlagen der Rechnerarchitektur ‐ Einführung 54

Mikroprozessoren Mikrocontroller

Architektur Typ Ursprüngliche Spezifikationdurch

Beispiel weiterer Hersteller

x86  (beinhaltet Pentium und co.)

CISC Intel AMD

PowerPC RISC Motorola, IBM, Apple

Sun SPARC RISC Sun Fujitsu, Texas Instruments

MIPS RISC MIPS Technologies

Hitachi SuperH RISC Hitachi

ARM RISC ARM  Limited

68k CISC Motorola 

TMS320 Texas Instruments 

Architektur Herteller

MCS‐51 Intel

H8 RenesasTechnologies

Z8 Zilog

PIC MicrochipTechnology

68HC08 Freescale(ehemals Motorola)

AVR Atmel

MSP430 Texas Instruments

Embedded

Page 55: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Trends

Grundlagen der Rechnerarchitektur ‐ Einführung 55

Page 56: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Moore‘s Law

Grundlagen der Rechnerarchitektur ‐ Einführung 56Bildquelle: en.wikipedia.org/wiki/Moores_law

Page 57: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Single‐Prozessor‐Performance

Grundlagen der Rechnerarchitektur ‐ Einführung 57

Move to multi-processor

Bildquelle: David A. Patterson und John L. Hennessy. “Computer Architecture”. 5th Edition, 2012

Page 58: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Die Power‐Wall

Grundlagen der Rechnerarchitektur ‐ Einführung 58

Leistungsverlust P in Abhängigkeit von Spannung U und Taktfrequenz f:

Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Page 59: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Alte Verkaufszahlen: Prozessoren

Grundlagen der Rechnerarchitektur ‐ Einführung 59

Anzahl verkaufter Prozessoren (embedded, ≥ 32 bit) bzw. Systeme (desktop, server)

Bildquelle: David A. Patterson und John L. Hennessy. “Computer Organization And Design”. 3rd Edition

Page 60: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Alte Verkaufszahlen: ISAs

Grundlagen der Rechnerarchitektur ‐ Einführung 60

ca. 80% davonfür Mobiltelefone

Anzahl verkaufter Prozessoren (≥ 32 bit)

Bildquelle: David A. Patterson und John L. Hennessy. “Computer Organization And Design”. 3rd Edition

Page 61: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Zusammenfassung und Literatur

Grundlagen der Rechnerarchitektur ‐ Einführung 61

Page 62: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Zusammenfassung• Computer‐Architektur beinhaltet

– Instruction‐Set‐Architektur– Rechnerorganisation/Mikroarchitektur– Hardware (und Firmware)

• ISA als Schnittstelle zwischen Hard‐ und Software• Performance ist abhängig vom Produkt der Einzelfaktoren:

– Instruction‐Count– CPI– Clock‐Cycles

• Leistungsverbrauch ist heute ein wesentlicher limitierender Faktor

• Ausblick: wesentliche Performanceverbesserungen durch– Parallelität– Caching

Grundlagen der Rechnerarchitektur ‐ Einführung 62

Page 63: Grundlagen der Rechnerarchitekturunikorn/lehre/gdra/ss... · 2015. 4. 21. · Grundlagen der Rechnerarchitektur ‐Einführung 22. Grundbegriffe Integrierte Schaltungen Grundlagen

Literatur[PattersonHennessy2012] David A. Patterson und John L. Hennessy, 

„Computer Organization and Design“, Fourth Edition, 20121.1 Introduction1.2 Below Your Program1.3 Under the Covers1.4 Performance1.5 The Power Wall1.7 Real Stuff: Manufacturing and Benchmarking the AMD Opteron X41.8 Fallacies and Pitfalls1.9 Concluding Remarks

[HennessyPatterson2012] John L. Hennessy und David A. Patterson, „Computer Architecture“, Fifth Edition, 20121.1 Introduction1.2 Classes of Computers

[Tanenbaum2006] Andrew S Tanenbaum, „Structured Computer Organization“, Fifth Edition, 20061.1.2 Contemporary Multilevel Machines1.2 Milestones in Computer Architecture

Grundlagen der Rechnerarchitektur ‐ Einführung 63