180 likes | 366 Views
Duo- und Quad Prozessor-Architektur. Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010. Was sind Duo- bzw. Quad -Core-Prozessoren?. Quad -Core Prozessor. Duo-Core-Prozessor. Gründe für die Multikern-Prozessor-Technologie.
E N D
Duo- und Quad Prozessor-Architektur Ein Vortrag von Roman Funk und Stefan Landsiedel Rüsselsheim, 13. Januar 2010
Was sind Duo- bzw. Quad-Core-Prozessoren? • Quad-Core Prozessor • Duo-Core-Prozessor
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“
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.
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
Schaltbild mit Prozessor-Komponenten Bench-Performed Unit Programm Cache Data Cache Akkumulator ALU FPU Register Bus
NetBurstArchtitektur Prinzipiell: Hohe Taktrate und lange „Pipelines“ Pipelining:
Was ist ein Prozessorkern? Ein Prozessorkern besteht aus: - ALU - Adress-Decoder - Instruction-Decoder - Akkumulator - Registern - Bussen
Multikern-Prozessoren Die 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.
Voraussetzung für die Nutzung von Mehrkern-Prozessoren Auf Multi-Core-Prozessoren laufen prinzipiell alle Software Programme Doch 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.
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
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
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 teuer Prozessoranzahl begrenzt
Message-Passing Programmierung Standard, 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
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.