Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

16
Duo- und Quad Prozessor-Architektur Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010

Transcript of Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Page 1: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Duo- und Quad Prozessor-Architektur

Ein Vortrag von Roman Funk und Stefan Landsiedel

Rüsselsheim, 13. Januar 2010

Page 2: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Duo-Core-Prozessor Quad-Core Prozessor

Was sind Duo- bzw. Quad-Core-Prozessoren?

Page 3: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Gründe für die Multikern-Prozessor-Technologie

Leistungssteigerungen sind mit bloßer Taktfrequenzssteigerung nicht mehr realisierbar

Die Multikern-Prozessor-Technologie bietet den Vorteil von weniger Wärmeentwicklung bei niedrigerem Stromverbrauch

Mehrere Befehle können gleichzeitig abgearbeitet werden in einem realen Mehrkernprozessor im Gegensatz zum Hyper-Threading

„Es stehen mehrere Prozessoren zur Verfügung“

Page 4: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Sinn und Zweck

Kosten für den Einsatz eines einzelnen Chips mit mehreren Ressourcen häufig geringer als bei mehreren einzelnen Chips

Mit Mehrkernprozessoren deutlich flüssigeres Arbeiten möglich, da ein weiterer Kern für neue Aufgaben bereit steht und das System dann nicht erst warten muss, bis Ressourcen verfügbar sind.

Wärmeabgabe geringer als bei Zwei separaten Prozesskernen.

Page 5: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Wie ist ein Prozessor aufgebaut?Beispiel: Einfache logische Schaltungen

UND-Schaltung ODER-Schaltung

Durch Millionenfache Verknüpfung dieser und anderer logischer Schaltungen, Speichereinheiten, Bussen, Taktgebern, … erhält man einen Prozessor

Page 6: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

ALU

Page 7: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Schaltbild mit Prozessor-Komponenten

Bench-Performed UnitProgramm CacheData CacheAkkumulatorALUFPURegisterBus

Page 8: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

NetBurst ArchtitekturPrinzipiell: Hohe Taktrate und lange „Pipelines“

Pipelining:

Page 9: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Was ist ein Prozessorkern?

Ein Prozessorkern besteht aus: - ALU- Adress-Decoder- Instruction-Decoder- Akkumulator- Registern

- Bussen

Page 10: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Multikern-ProzessorenDie Duo-Core-Prozessoren bestehen aus eben zwei solcher Prozessorkerne

Die Quad-Core-Prozessoren bestehen aus vier solchen Prozessorkerne

Die einzelnen Prozessorkerne können dabei völlig unabhängig voneinander arbeiten so als ob in zwei bzw. vier echte Prozessoren eingebaut wären.

Page 11: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Voraussetzung für die Nutzung von Mehrkern-Prozessoren

Auf Multi-Core-Prozessoren laufen prinzipiell alle Software ProgrammeDoch um die Vorteile des Multi-Core auszunutzen müssen die Programmteile tatsächlich auf mehrere Prozessorkerne aufgeteilt werden. Andernfalls ist wie „früher“ eben nur ein Prozessorkern mit der Abarbeitung des Programms beschäftigt.

In der Zukunft wir die Software immer mehr an Multi-Core-Technologie angepasst sein, weil es diese Technik schon seit 2004 gibt.

Und natürlich muss auch die restliche Hardware darauf ausgerichtet sein.

Page 12: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Der Duo-Core-Prozessor

- Besteht aus zwei Kernen- Geringere Taktung = weniger

Stromverbrauch- Zwei Prozesse gleichzeitig- Schnellere Ausführung dank

Parallelisierung- Abschaltung von CPU Komponenten- 45 nm Fertigung- 291 Millionen Transistoren

Page 13: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Der Quad-Core-Prozessor

- Besteht aus vier Kernen- Geringere Taktung = weniger Stromverbrauch- Vier Prozesse gleichzeitig- Schnellere Ausführung dank

Parallelisierung- Abschaltung von CPU Komponenten- 45 nm Fertigung- 582 Millionen Transistoren

Page 14: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Shared-Memory Programmierung

Parallelisierung durch Compiler-Optionen oder direkt mit Parallelisierungs-Direktiven bzw. mit Verwendung von parallelen mathematischen Bibliotheken in der Anwendung.

Beispiel OpenMP-Standard definiert spezielle Compiler-Direktiven, die diesen dann anweisen z. B. die Abarbeitung einer for-Schleife auf mehrere Threads und/oder Prozessoren zu verteilen.

Vorteil: bessere parallele Effizienz durch schnellen breitbandigen Datenbus

Nachteil: große Shared-Memory-Parallelrechner relativ teuerProzessoranzahl begrenzt

Page 15: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Message-Passing ProgrammierungStandard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt. Festlegung einer Sammlung von Operationen und ihre Semantik, also eine Programmierschnittstelle, aber kein konkretes Protokoll und keine Implementierung.

Das Rechengebiet (Domain) wird zerlegt und auf alle Prozessoren verteilt (Domain-Decomposition)Jeder Prozessor rechnet lokal und kommuniziert über optimierte MPI-Funktionen mit den anderen Prozessoren.

Vorteil: Kostengünstige Hardware, theoretisch unendliche Prozessoranzahl

Nachteil: Geringere Effizienz, bei steigender Prozessoranzahl

Page 16: Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010.

Ausblick

Da derzeit die Multi-Core-Technologie die einzige Möglichkeit der Leistungssteigerung darstellt wird auch dahingehend entwickelt.

AMD hat 2008 die Lücke mit Dreikernprozessoren geschlossen

Heute gibt es schon Prozessoren mit bis zu 64 Kernen. Diese haben aber eine andere Busbreite und können daher nur von speziellen OS gesteuert werden.