• Keine Ergebnisse gefunden

Grundlagen der Rechnerarchitektur

N/A
N/A
Protected

Academic year: 2022

Aktie "Grundlagen der Rechnerarchitektur"

Copied!
63
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen der Rechnerarchitektur

Einführung

Einführung

(2)

U t A t h dl

Unsere erste Amtshandlung:

Wir schrauben einen Rechner auf

Grundlagen der Rechnerarchitektur ‐Einführung 2

(3)

Vorlesungsinhalte

• Binäre Arithmetik

• MIPS Assembler MIPS Assembler

• ARM, x86 und ISA‐Prinzipien

• Querschnittsthemen

• Prozessor

• Prozessor

• Speicher

• Ein‐Ausgabe

• Parallelität

• Parallelität

Grundlagen der Rechnerarchitektur ‐Einführung 3

(4)

Übersicht dieses Vorlesungsabschnitts

• Grundbegriffe

• Performance Performance

• Meilensteine der Rechnerarchitektur

• Trends

Grundlagen der Rechnerarchitektur ‐Einführung 4

(5)

Grundbegriffe

Grundlagen der Rechnerarchitektur ‐Einführung 5

(6)

Rechnertypen

• Personal Mobile Device (PMD)

Mobiltelefon, Tablet‐Computer

Schwerpunkte sind Energie‐Effizienz und Echtzeit Schwerpunkte sind Energie Effizienz und Echtzeit

• Desktop‐Computing

Schwerpunkt Preis‐Performance

• Server

Schwerpunkt Verfügbarkeit, Skalierbarkeit, Durchsatz

l / h l

• Cluster/Warehouse‐Scale‐Computer

Verwendung für “Software as a Service (SaaS)”

Schwerpunkt Preis‐Performance Schwerpunkt Preis Performance

Subklasse: Supercomputer, Schwerpunkt:  Floating‐Point‐Performance  schnelle interne Netze; abarbeiten von Batch‐Jobs

E b dd d C t

• Embedded‐Computer

Schwerpunkt : Preis

Grundlagen der Rechnerarchitektur ‐Einführung 6

(7)

Standard‐Organisation eines Rechners

Speichert Daten Eingabe von Daten

Ausgabe von Daten

Grundlagen der Rechnerarchitektur ‐Einführung 7

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

Verarbeitet Daten

(8)

Computer‐Schichtenmodell

Höhere Programmiersprachen 

Betriebssystem Assemblersprache

Software

Grundlagen der R h hit kt Instruktionssatz‐Architektur

et ebssyste

Rechnerarchitektur

Mikroarchitektur (Register‐Transfer Ebene)

Logikschaltungen

Hardware Grundlagen der Digitaltechnik

Geometrie Transistoren

Geometrie

Grundlagen der Rechnerarchitektur ‐Einführung

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

8

(9)

Grundbegriffe

D t ll d S i h D t

Darstellen und Speichern von Daten

Grundlagen der Rechnerarchitektur ‐Einführung 9

(10)

Binäre Zahlendarstellung

ll i hl i b li bi i b

Darstellung einer Zahl zu einer beliebigen Basis b:

Dezimalwert dieser Zahl zur Basis b:

Binärzahlen‐Beispiel

1101

two

. Was ist der Dezimalwert?

i di i hl ?

Was ist die Binärzahl zu 11

ten

?

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 10

(11)

N‐Bit‐Binärzahlen

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

Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binä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)

Nibble (4‐Bit):

1010

Byte (8‐Bit):

Byte (8‐Bit):

1001 1000

Halfword (16‐Bit):

Halfword (16 Bit):

1111 1100 1001 1100 Word (32‐Bit):

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 11

0110 1101 0010 1010 1111 1100 1001 1100

(12)

Hexadezimaldarstellung

Hex Bin Hex Bin Hex Bin Hex Bin

0 0000 4 0100 8 1000 c 1100

1 0001 5 0101 9 1001 d 1101

2 0010 6 0110 a 1010 e 1110

3 0011 7 0111 b 1011 f 1111

1100 1001 0001 1111

Binär nach Hexadezimal

AFFE

hex

Hexadezimal nach Binär

AFFE

hex

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 12

(13)

Physikalischer Speicher

Ad I h lt

Adresse Inhalt 0x00000000 : 10011001 0x00000001 : 01010111

Wie viele Bytes können hier  insgesamt adressiert werden?

0x00000001 : 01010111 0x00000002 : 00110011 0x00000003 : 10110100 0x00000004 : 10101111 0x00000005 : 10001000 0 00000006 11111000 0x00000006 : 11111000 0x00000007 : 10001101 ...

...

...

...

0xfffffffd : 10101111 0xfffffffe : 10111011 0 ffffffff 11111000

Grundlagen der Rechnerarchitektur ‐Assembler 13

0xffffffff : 11111000

(14)

Speichergrößen

Bezeichnung Anzahl Bytes Gelegentlich für  Sekundärspeicher 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.:

Grundlagen der Rechnerarchitektur ‐Einführung 14

(15)

Speichern von längeren Datenblöcken

• Beispiel: ein Word umfasst 4 Byte

• Wie legt man ein Word in den Speicher ab? Wie legt man ein Word in den Speicher ab?

Word:

345455 543453 453543 22325 345455 543453  453543 22325

byte4 byte3 byte2 byte1

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

Endian Big‐

Endian

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 15

(16)

ASCII‐Zeichen

Grundlagen der Rechnerarchitektur ‐Assembler 16

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

(17)

Unicode

Grundlagen der Rechnerarchitektur ‐Assembler 17

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

(18)

Zeichenketten (Strings)

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

Speicher

Niedrigere Adresse Höhere Adresse

p

Wann ist der Text zu Ende? Beispiele:

(1) Erste String‐Position speichert die String‐Länge (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)

Grundlagen der Rechnerarchitektur ‐Assembler 18

(19)

Grundbegriffe

V b it D t

Verarbeiten von Daten

Grundlagen der Rechnerarchitektur ‐Einführung 19

(20)

Maschinensprache

Grundlagen der Rechnerarchitektur ‐Einführung 20

Berechne 0^2 + 1^2 + 2^2 + 3^2 + ... + 100^2

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

(21)

Dasselbe Programm in Assembler

Assembler

Grundlagen der Rechnerarchitektur ‐Einführung 21

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

(22)

Instruction‐Set‐Architecture (ISA)

• Schnittstelle zwischen Hardware und Software

• ISA bestimmt

– Art der Speicherzugriffe

– Verfügbare arithmetische und logische Operationen  g g p – Typ und Größe der Operanden der Berechnungen – Arten von Programmsprüngen g p g

– Die Art wie ISA‐Instruktionen in Maschinensprache codiert  werden

• Wesentliche Klassifikaiton

– CISC (Complex‐Instruction‐Set‐Computer) ( p p ) – RISC (Reduced‐Instruction‐Set‐Computer)

• Moderne Prozessoren sind RISC (selbst x86 intern) Moderne Prozessoren sind RISC (selbst x86 intern)

Grundlagen der Rechnerarchitektur ‐Einführung 22

(23)

Grundbegriffe

I t i t S h lt

Integrierte Schaltungen

Grundlagen der Rechnerarchitektur ‐Einführung 23

(24)

Beispiel eines Mikroprozessors

AMD Barcelona

Grundlagen der Rechnerarchitektur ‐Einführung 24

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

(25)

Technologien zum Bau von Prozessor und Speicher

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

(26)

Der Chip‐Herstellungsprozess

Grundlagen der Rechnerarchitektur ‐Einführung 26

(27)

Beispiel: 300mm AMD Opteron Wafer

Grundlagen der Rechnerarchitektur ‐Einführung 27

(28)

Der Chip‐Herstellungsprozess

Grundlagen der Rechnerarchitektur ‐Einführung 28

(29)

Performance

Grundlagen der Rechnerarchitektur ‐Einführung 29

(30)

Definition von Performance

Response‐Time (oder Execution‐Time) – Gesamtzeit zur Abarbeitung einer Aufgabe  Throughput(oder Bandwidth) – Anzahl Aufgaben pro Zeiteinheit

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 Beispiel: Computer A braucht 10 Sekunden und Computer B braucht 15 Sekunden. Die  Performance‐Ratio nAB zwischen A und B ist:

Grundlagen der Rechnerarchitektur ‐Einführung 30

(31)

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

Bezeichnung 1/Sekunde

Hz 1

Mikrosekunde (µs) 10‐6 Sekunden Nanosekunde (ns) 10‐9 Sekunden Pikosekunden 10‐12 Sekunden

KHz 10^3

MHz 10^6 

GHz 10^9

Pikosekunden 10 12 Sekunden

Zeit Frequenz

GHz 10^9

Grundlagen der Rechnerarchitektur ‐Einführung 31

(32)

Maschinentakt zur Zeitmessung

Cl k C l Zeit Clock‐Cycle

Clock‐Rate [Hz] bei Clock‐Periode [s]: Beispiel Clock‐Rate bei bei 250 ps Clock‐

Periode?

Periode?

Zusammenhang zwischen CPU‐Time, Clock‐Cycles für ein Programm und Clock‐Periode g , y g bzw. Clock‐Rate:

Grundlagen der Rechnerarchitektur ‐Einführung 32

(33)

Instruktionsperformance

Instruktion 1 Instruktion 2 Inst 3 Instruktion 4

Zeit Instruktion 1 Instruktion 2 Inst 3 Instruktion 4

Clock Cycles per Instruction (CPI) – Mittlere Anzahl Cycles pro Instruktion für ein 

b P d P f t

gegebenes Programm oder Programmfragment.

Instruction‐Count – Anzahl benötigter Instruktionen für ein gegebenes Programm oder  Programmfragment

Programmfragment.

Zusammenhang zwischen CPU‐Time, CPI, Instruction‐Count und Clock‐Periode bzw. Clock‐

Rate:

Grundlagen der Rechnerarchitektur ‐Einführung 33

(34)

Zeitmessung zusammengefasst

G dl d M öß

Hardware‐ oder Software‐Komponente Beeinflusst bzw. kann beeinflussen Grundlegende Messgrößen

Algorithmus Instruction‐Count, CPI

Programmiersprache Instruction‐Count, CPI

Compiler Instruction Count CPI

Compiler Instruction‐Count, CPI

Instruction‐Set‐Architektur Instruction‐Count, Clock‐Rate, CPI Einflussfaktoren

Grundlagen der Rechnerarchitektur ‐Einführung 34

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

(35)

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:

Grundlagen der Rechnerarchitektur ‐Einführung 35

(36)

SPEC CPU Benchmark

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

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

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

Grundlagen der Rechnerarchitektur ‐Einführung 36

(37)

SPEC Power Benchmark

Beispiel: SPECpower_ssj2008 mit 2.3GHz AMD Opteron X4 2356 (Barcelona)

Grundlagen der Rechnerarchitektur ‐Einführung 37

p p _ j p ( )

und 16GB DDR2‐667 und 500GB Disk

(38)

Zum Abschluss: Amdahls Gesetz

ohne Verbesserung mit Verbesserung

Verbesserungsfaktor g von F nach  F‘?

F' Texe 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?

Grundlagen der Rechnerarchitektur ‐Einführung 38

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

(39)

Beispiel: Parallel ausführbare Programmkomponente

Grundlagen der Rechnerarchitektur ‐Einführung 39

Bildquelle: http://en.wikipedia.org/wiki/Amdahl‘s_law

(40)

Meilensteine der Rechnerarchitektur

Grundlagen der Rechnerarchitektur ‐Einführung 40

(41)

Generation 0: Mechanische Computer (1642‐1945)

Jahr Name Gebaut von Kommentar

1642 Blaise Pascal Addition und Subtraktion mit Mechanischen Elementen.

1673 Gottfried Wilhelm Zusätzlich Multiplikation und Division mit mechanischen Elementen

1673 Gottfried Wilhelm  von Leibniz

Zusätzlich Multiplikation und Division mit mechanischen Elementen.

1834 Analytical Engine

Charles Babbage,  University of

Erster Versuch (mechanische Bauteile waren zu der Zeit noch nicht  präzise genug) eines mechanischen Computers mit Speicher, 

Engine University of

Cambridge 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

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 Nachfolger von Mark I der aber durch Beginn des elektronischen

Grundlagen der Rechnerarchitektur ‐Einführung 41

1947 Mark II Howard Aiken,  Harvard

Nachfolger von Mark I, der aber durch Beginn des elektronischen  Zeitalters obsolet wurde.

(42)

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 

g g p j g g,

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 

Seit 1943 vom amerikanischen Militär gefördertes 

Projekt für den Bau eines elektronischen Computer zur  auc ey u d

J. Presper Eckert, 

University of

oje t ü de au e es e e t o sc e Co pute u Berechnung von Reichweitentabellen von schwerer Artillerie. (18.000 Röhren, 1.500 Relais, 30 Tonnen, 140  kW Verbrauch) Programmierung über Schalter und  y

Pennsylvania

) g g

Jumper‐Kabel. Vorstellung des ENIAC war Inspiration für  viele nachfolgende Computer‐Projekte.

Grundlagen der Rechnerarchitektur ‐Einführung 42

(43)

Generation 1: Elektronenröhre (1945‐1955)

Jahr Name Gebaut von Kommentar

1949 EDSAC Maurice Wilkes,  Zum ersten mal Programm gespeichert.

University of Cambridge 1951 EDVAC John Mauchley und J. 

Presper Eckert, Eckert‐

Nachfolgeprojekt des ENIAC Mauchley Corporation

1951 Whirlwind I MIT Erstmals Verwendung von kurzen  Wortlängen a 16 Bit.

Wortlängen a 16 Bit. 

1951 UNIVAC John Mauchley und J. 

Presper Eckert, Eckert‐

Mauchley Corporation

Der erste in den USA hergestellte  kommerzielle Computer.

Mauchley Corporation

1952 ILLIAC University of Illinois Weitere Beispiele von Röhrenrechnern  seinerzeit. Viele andere wurden auch 

b t 1952 MANIAC Weitzmann Institue Israel

gebaut 1953 JOHNIAC Rand Coropration

Grundlagen der Rechnerarchitektur ‐Einführung 43

(44)

Generation 1: Elektronenröhre (1945‐1955)

Jahr Name Gebaut von Kommentar 1952 IAS John von 

Neumann

Als ehemaliger Beteiligter des ENIAC‐Projektes baut John  von Neumann am Princeton‘s Institute of Advanced

und Herman  Goldstine Princeton‘s

Studies seine Eigene Version des ENIAC. Der Computer  verwendet binäre Arithmetik und speichert das 

Programm zusammen mit den Daten in einem Speicher. 

Institute of Advanced Studies

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.

Di i i l

Speicher Die original von 

Neumann Maschine

Control Unit

Arithmetic Logic Unit

Input

Grundlagen der Rechnerarchitektur ‐Einführung 44

Unit Accumulator Output

(45)

Generation 1: Elektronenröhre (1945‐1955)

Jahr Name Gebaut von Kommentar

1953 701 IBM IBM im Computer‐Sektor bisher mit Herstellung von 

hk d h h h

Lochkarten und Mechanischem Kartensortiermaschinen  tätig.  Erster Computer in einer Serie von 

wissenschaftlichen IBM‐Rechnern, welche die Industrie  i h lb i J h h t d i i t

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.

Grundlagen der Rechnerarchitektur ‐Einführung 45

(46)

Generation 2: Transistoren (1955‐1965)

J h N G b K

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

wissenschaftliches Rechnen. Preis mehrere Millionen.

1959 1401 IBM Kl i häft i ti t C t D tli h ü ti

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 

k / k d h h lb h ll

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

St d t d MIT i l ti t it S d

Grundlagen der Rechnerarchitektur ‐Einführung 46

Studenten des MIT implementierten mit Spacewar das  erste Video‐Spiel auf einem PDP‐1.

(47)

Generation 2: Transistoren (1955‐1965)

Jahr Name Gebaut von Kommentar 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 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.p

1965 PDP‐8 DEC 12‐Bit Maschine. Nachfolger des PDP‐1 aber wesentlich  billiger (Kosten $16.000). Erster Massenmarkt‐Computer. 

Innovation: Single‐Bus Innovation: Single Bus.

CPU Speicher Console

Terminal

Paper 

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

Grundlagen der Rechnerarchitektur ‐Einführung 47

(48)

Generation 3: Integrierte Schaltungen (1965‐1970)

h b

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

Grundlagen der Rechnerarchitektur ‐Einführung 48

(49)

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,

Erster Mikrocontroller  (bestehend aus ROM,  RAM, Prozessor, Clock). Einsatzgebiet: 

, Texas Instruments

, , ) g

Eingebettete Systeme.

1974 8080 Intel Erste Personal‐Computer werden als Bastel‐Kits  bestehend aus loser Platine Kabeln Netzteil ggf 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 / y y 8080ern populär.

Grundlagen der Rechnerarchitektur ‐Einführung 49

(50)

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

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 A l I St J b Ei d t P l C t W d l f ti

1976 Apple I Steve Jobs  und Steve  Wozniak,  Apple

Einer der ersten Personal‐Computer. Wurde als fertig  bestückte Platine verkauft. 

Apple

1977 Apple II Steve Jobs  und Steve  W i k

Einer der ersten höchst erfolgreichen massengefertigte  Mikrocomputer.

Wozniak,  Apple

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 

Grundlagen der Rechnerarchitektur ‐Einführung 50

y p g p

Milliarden von Keyboards.

(51)

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 Estridge kommerziellen Komponenten. Intel 8088 als CPU. Der 

Computer wurde ein Best‐Seller. Beginn der modernen  Personal‐Computer‐Ära. Ausgestattet mit MS‐DOS von  Microsoft.

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‐

M d ll ll Z it 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 

Grundlagen der Rechnerarchitektur ‐Einführung 51

pp p g g pp

ähnlich. Der Mac wurde zum großen Erfolg.

(52)

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 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 Einer der besten Multimedia Home‐Computer seiner  Zeit.

1990 RS6000 IBM Erstesuperskalare Maschine.

1992 Alpha DEC Erster 64‐Bit Personal Computer.

Grundlagen der Rechnerarchitektur ‐Einführung 52

(53)

Jahr Name Gebaut von Kommentar

Generation 5: „Invisible‐Computers“ (ab 1993)

1993 PIC Microchip

Technology

Erster Mikrocontroller auf Basis von EEPROMs. Diese erlauben das „Flashen“ 

ohne zusätzliche Hardware und erlaubt damit auch In‐System‐

Programming. Bemerkung: Mikrocontroller gibt es schon seit 1971. 

Mikrocontroller finden sich mittlerweile sehr vielen Alltagsgegenständen Mikrocontroller finden sich mittlerweile 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 )

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 GS88

1997 GS88 Ericson Der Begriff Smartphone wird erstmals von Ericson 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.

2007 iPhone Apple Erstes Smartphone mit einem Multi‐Touch Interface.

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. 

Grundlagen der Rechnerarchitektur ‐Einführung 53

2010 Wave S8500 Samsung  Bada‐OS‐basiertes  Smartphone mit einer Million verkaufter Exemplare in  den ersten vier Wochen auf dem Markt.

(54)

Beispiel heutiger Mikrocontoller und Mikroprozessoren

Mikroprozessoren Mikrocontroller

Architektur Typ Ursprüngliche  S ifik i

Beispiel  i

Architektur Herteller Spezifikation

durch

weiterer  Hersteller x86  (beinhaltet 

Pentium und

CISC Intel AMD

MCS‐51 Intel

H8 Renesas

Technologies Pentium und 

co.)

PowerPC RISC Motorola,  IBM Apple

Z8 Zilog

PIC Microchip

Technology IBM, Apple

Sun SPARC RISC Sun Fujitsu, Texas  Instruments

MIPS RISC MIPS

68HC08 Freescale (ehemals  Motorola)

MIPS RISC MIPS 

Technologies Hitachi SuperH RISC Hitachi

AVR Atmel

MSP430 Texas 

Instruments

ARM RISC ARM  Limited

68k CISC Motorola 

TMS320 Texas 

Embedded

Grundlagen der Rechnerarchitektur ‐Einführung 54

Instruments 

(55)

Trends

Grundlagen der Rechnerarchitektur ‐Einführung 55

(56)

Moore‘s Law

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

(57)

Single‐Prozessor‐Performance

Move to multi-processor

RISC RISC

Grundlagen der Rechnerarchitektur ‐Einführung 57

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

(58)

Die Power‐Wall

Leistungsverlust P in Abhängigkeit von kapazitiver Last C, Spannung U und Taktfrequenz f:

Grundlagen der Rechnerarchitektur ‐Einführung 58

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

(59)

Alte Verkaufszahlen: Prozessoren

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

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

(60)

Alte Verkaufszahlen: ISAs

Anzahl verkaufter Prozessoren (≥ 32 bit)

ca. 80% davon für Mobiltelefone

Grundlagen der Rechnerarchitektur ‐Einführung 60

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

(61)

Zusammenfassung und Literatur

Grundlagen der Rechnerarchitektur ‐Einführung 61

(62)

Zusammenfassung

hi k b i h l

• Computer‐Architektur beinhaltet

– Instruction‐Set‐Architektur

Rechnerorganisation/Mikroarchitektur – Rechnerorganisation/Mikroarchitektur – Hardware

• ISA als Schnittstelle zwischen Hard‐ ISA als Schnittstelle zwischen Hard und Software und Software

• Performance ist abhängig vom Produkt der Einzelfaktoren:

– Instruction‐Count – CPI

– Clock‐Cycles

i b h i h i li h li i i d

• Leistungsverbrauch ist heute ein wesentlicher limitierender  Faktor

• Ausblick: wesentliche Performanceverbesserungen durch

• Ausblick: wesentliche Performanceverbesserungen durch

– Parallelität – Cachingg

Grundlagen der Rechnerarchitektur ‐Einführung 62

(63)

Literatur

[P H 2012] D id A P d J h L H

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

„Computer Organization and Design“, Fourth Edition, 2012

1.1 Introduction

1.2 Below Your Program 1.3 Under the Covers 1.4 Performance

1.5 The Power Wall

1.7 Real Stuff: Manufacturing and Benchmarking the AMD Opteron X4 1.8 Fallacies and Pitfalls

1.8 Fallacies and Pitfalls 1.9 Concluding Remarks

[HennessyPatterson2012] John L. Hennessy und David A. Patterson,  Computer Architecture“ Fifth Edition 2012

„Computer Architecture , Fifth Edition, 2012

1.1 Introduction

1.2 Classes of Computers

[T b 2006] A d S T b St t d C t

[Tanenbaum2006] Andrew S Tanenbaum, „Structured Computer  Organization“, Fifth Edition, 2006

1.1.2 Contemporary Multilevel Machines

l h

1.2 Milestones in Computer Architecture

Grundlagen der Rechnerarchitektur ‐Einführung 63

Referenzen

ÄHNLICHE DOKUMENTE

All interrupts are assigned individual enable bits which must be written logic one together with the Global Interrupt Enable bit in the Status Register in order to enable

(c) jede dieser einzelnen Listen wird dann zu einem Byte konvertiert, so dass wir insgesamt eine Liste von Bytes erhalten;.. (d) jedes dieser Bytes wird als Index in das

Definieren Sie eine geeignete Schnittstelle, die nur Zugriff auf die nachfolgend genannten Operationen zulässt ("Information hiding" – d.h. die interne Datenstruktur ist

Also in 2011, a Memorandum of Understanding was signed between the United Nations University Institute of Advanced Studies (UNU-IAS), Lusaka Agreement Task Force for

Prominente Persönlichkeiten aus Wissenschaft, Wirtschaft, Politik und öffentlichem Leben erlebten gemeinsam mit Studierenden und Angehörigen der Technik eine rauschende Ballnacht im

Zwar kann davon ausgegangen werden, dass diese Daten wie auch viele gedruckten wissenschaft- lichen Informationen einem starken Alterungs- prozess unterliegen, doch ist die

I beg you to not only think about the cyber- artists and curators who implement artistic or curatorial projects within the boundaries of a time limit, but also to award a

Welches Medium ist für eine solche Erhaltung am besten geeignet oder besitzt die größte Wahrscheinlichkeit, dass es auch in 500 Jahren noch verfügbar sein könnte und verstanden