Mehrkernprozessor

Mehrkernprozessor

Der Begriff Mehrkernprozessor (auch Multicore-Prozessor oder Multikernprozessor) bezeichnet einen Mikroprozessor mit mehr als einem vollständigen Hauptprozessor auf einem einzigen Chip. Sämtliche Ressourcen mit Ausnahme des Bus und eventuell einiger Caches sind mehrfach vorhanden. Es handelt sich also um mehrere vollständige, weitgehend voneinander unabhängige Prozessoren inklusive eigener arithmetisch-logischer Einheit (ALU), Registersätze und, sofern überhaupt vorhanden, Floating Point Unit (FPU).

Als Doppelkernprozessor (auch Dual-Core-Prozessor) bezeichnet man einen Mehrkernprozessor mit zwei Hauptprozessoren. Mikroprozessoren mit einem Hauptprozessor bezeichnet man zur Abgrenzung als Einzelkernprozessor (auch Single-Core-Prozessor). Mikroprozessoren mit drei Hauptprozessoren werden Triple-Core-Prozessoren oder Dreikernprozessoren genannt. Diese Terminologie lässt sich entsprechend fortsetzen. So spricht man bei vier Kernen von einem Vierkernprozessor (auch Quad-Core-Prozessor), wobei ein Vierkernprozessor nicht notwendigerweise aus zwei Doppelkernprozessoren bestehen muss, sondern auch aus vier diskreten Kernen bestehen kann.

Multi-Threaded-CPUs sind mehrfädige (engl. multithreading) Prozessorkerne mit mehreren Programmzählern und Registersätzen, die sich gegenüber dem System aber als mehrere Kerne melden. Diese Technik kann je nach Aufwand im Prozessordesign unterschiedlich effizient umgesetzt sein. Intel nennt sie in einigen Prozessorlinien Hyper-Threading, IBM SMT (symmetrisches Multi-Threading). Der IBM Power5-Prozessor ist z. B. ein Doppelkernprozessor mit zwei Threads pro Kern, der Sun UltraSPARC T1-Prozessor ein Achtkern-Prozessor mit vier Threads pro Kern.

Inhaltsverzeichnis

Einführung

Bis zum Jahre 2005 dominierten die Einzelkernprozessoren den PC-Bereich. In den Jahren zuvor versuchte man in wenigen Fällen, durch den Einsatz von zwei oder mehr Einzelprozessoren die Leistungsfähigkeit zu erhöhen. Die gängige Variante zur Erhöhung der Leistungsfähigkeit war neben neuen Befehlssätzen wie MMX und mehr Transistoren jedoch die Erhöhung der Taktfrequenz. Doch dies ging bei Frequenzen um 4 GHz mit einer nicht mehr sinnvoll handhabbaren Abwärme einher. Eine Möglichkeit der Fortentwicklung war die Einführung von Mehrkernprozessoren. So wurde schon in der zweiten Hälfte des Jahres 2006 das Angebot in der oberen Hälfte des Leistungsspektrums von PC-Prozessoren von der Doppelkernvariante dominiert. Somit ist dieses Jahr als eine Abkehr von einem Prinzip festzuhalten, das seit der Geburtsstunde der Prozessoren Gültigkeit hatte. Heutzutage werden nur noch in wenigen Fällen Single-Cores verbaut, da die entsprechenden Dual-Cores oft nur noch wenig Geld kosten und aktuell schon für unter 30 Euro erhältlich sind. Auch sind die Preise der Quad-Core-Prozessoren seit April 2007 drastisch gefallen, sodass günstige Modelle unter 100 Euro gelistet sind und auch AMDs Triple-Cores deuten auf den Trend zu immer mehr Prozessorkernen. In der ersten Jahreshälfte 2010 hat Intel mit dem Core i7 980X den ersten Sechskernprozessor für den Desktop-Bereich eingeführt.

Sinn und Zweck

Mehrkernprozessoren wurden entwickelt, weil die Kosten für den Einsatz eines einzelnen Chips mit mehreren Ressourcen häufig geringer sind als bei mehreren einzelnen Chips. Anders betrachtet kann mit der gleichen Anzahl an Chip-Sockeln und Chips theoretisch eine vervielfachte Rechenleistung erzielt werden (das n-fache bei n Kernen). In der Realität kann diese Steigerung jedoch fast nie erreicht werden, die Leistungssteigerung schwankt, je nachdem, wie gut die Software parallelisiert ist.

Aber auch im Alltag ist mit Mehrkernprozessoren ein deutlich flüssigeres Arbeiten möglich, da ein weiterer Kern für neue Aufgaben bereitsteht und das System dann nicht erst warten muss, bis Ressourcen verfügbar sind. Da alle führenden Prozessorhersteller Mehrkernprozessoren auf den Markt gebracht haben, ist damit zu rechnen, dass immer mehr Programme für Mehrkernprozessoren optimiert werden.

AMDs Opteron-Doppelkernprozessoren produzieren nur unwesentlich mehr Abwärme als ein AMD Opteron mit nur einem Prozessorkern. Damit wurde z. B. die Prozessor-Abwärmeleistung für ein Mehrprozessorsystem halbiert. Dies ist für HPC-Cluster (high performance computing), aber vor allem für die Blade-Center wesentlich, da hier auf engstem Raum eine Vielzahl von Prozessoreinheiten (Blades) verbaut sind und somit ein 19-Zoll-Industrieschrank eine Abwärmeleistung von über 20 kW produzieren kann. Diese ist in der Regel durch konvektive Kühlung nicht mehr abführbar.

Mehrkernprozessoren stellen neben einer Erhöhung der Taktfrequenz und dem Pipelining eine von vielen Möglichkeiten dar, die Leistung von Mikroprozessoren zu erhöhen. Die rein theoretische Leistungssteigerung ist vergleichsweise effizient und beträgt maximal 100 % (gegenüber einem einzelnen Kern) pro zusätzlichem Kern. In der Praxis hängt die Leistungssteigerung aber stark von dem Parallelisierungsgrad des ausgeführten Programms und des verwendeten Betriebssystems ab. Unix, der SMP-Linux-Kernel und Microsoft Windows ab XP unterstützen Mehrkernprozessoren (Windows NT und 2000 erkennen einen Mehrkernprozessor als mehrere Einzelkernprozessoren; dadurch sind zwar auch alle Kerne nutzbar, spezielle Mehrkernprozessoroptimierungen können aber nicht greifen). Dabei verteilt das Betriebssystem Prozesse und Anwendungen auf die einzelnen Prozessoren, die diese dann unabhängig parallel ausführen. Wird hingegen nur eine Anwendung ausgeführt, so muss diese für die mehreren Prozessoren parallelisiert werden. Das bedeutet, die Anwendung wird so modifiziert, dass sie komplett oder auch nur Fragmente davon gleichzeitig auf mehreren Prozessoren als Threads ausgeführt werden. Dazu gibt es grundsätzlich zwei Parallelisierungsstrategien: SMP (Shared-Memory-Programmierung) und MPI (Message-Passing-Interface-Programmierung).

So unterscheiden sich verschiedene Architekturen. Während manche Architekturen leistungssteigernde Komponenten wie z. B. einen Shared Cache auf dem Chip unterbringen (z. B. IBMs POWER4 und folgende, Sun UltraSPARC IV+ und T1), setzen andere Architekturen lediglich mehrere Einzelkerne mit eigenem Cache auf einen Chip. Prozessorbasiert lizenzierende Softwareunternehmen haben verschiedene Konzepte entwickelt, um auf diese Entwicklungen zu reagieren. So zählt z. B. Oracle bei Mehrkernprozessoren jeden Prozessorkern auf einem Chip mit 0,25 (Sun UltraSPARC T1), 0,5 (Intel und AMD CPUs) oder 0,75 (HP, IBM und Sun RISC CPUs). Microsoft hat angekündigt, nicht mehr die Kerne, sondern die Chips als Basis für die Lizenzierung heranzuziehen, womit auf einen Mehrkernprozessor nur noch eine Lizenz fällt.

Shared-Memory-Programmierung

In der Shared-Memory-Programmierung erfolgt die Parallelisierung, beispielsweise bei OpenMP, entweder automatisch durch Compiler-Optionen oder direkt mit Parallelisierungs-Direktiven bzw. mit Verwendung von parallelen mathematischen Bibliotheken in der Anwendung. OpenMP-Programme haben in der Regel eine wesentlich bessere parallele Effizienz als mit Message Passing Interface (MPI) parallelisierte Programme, da die Prozessor-Kommunikation direkt über einen schnellen breitbandigen Datenbus geht. Nachteil ist, dass große Shared-Memory-Parallelrechner relativ teuer sind und die Prozessoranzahl begrenzt ist. Ein klassisches SMP-System ist die SGI Origin von Silicon Graphics.

Message-Passing-Programmierung

Das Rechengebiet (Domain) wird bei der Message-Passing-Programmierung zerlegt und auf alle Prozessoren verteilt (Domain-Decomposition). Jeder Prozessor rechnet lokal und kommuniziert über optimierte MPI-Funktionen mit den anderen Prozessoren. Programmbibliotheken sind beispielsweise MPI, PVM (Parallele Virtuelle Maschine) oder SHMEM.[1] Vorteil ist die extrem kostengünstige Hardware. Das bedeutet, dass solche Rechner aus Standard-PC-Komponenten gebaut werden können, wie sie bei jedem PC-Händler zu finden sind. Sie sind theoretisch unendlich skalierbar, d.h. es können beliebig viele Prozessoren zusammengeschlossen werden. Diese kommunizieren dann in der Regel über IP (Ethernet, Fast Ethernet, Gigabit Ethernet, Myrinet-2000, InfiniBand, Quadrics). In der Regel fällt aber die Effizienz mit der Anzahl der Prozessoren, da die Interprozessorkommunikation zu stark zunimmt. Es gibt aber auch Anwendungen die umgekehrt skalieren, da hier Effekte des Domain-Decomposition einen effizienteren Umgang mit dem Speicher ermöglichen.

Varianten

Symmetrische Mehrkernprozessoren

In symmetrischen Mehrkernprozessoren sind die einzelnen Kerne gleich. Ein für diesen Prozessor übersetztes Programm kann auf jedem beliebigen seiner Kerne ausgeführt werden. Bei dieser Art von Mehrkernprozessoren handelt es sich um SMP-Systeme. Da es sich bei Mehrkernprozessoren um eine Variante des SMP handelt, ist der Sinn und Zweck eines Mehrkernprozessors der, SMP Platz sparend umzusetzen. Ein Beispiel für so ein 8-fach-SMP-System auf einem Chip ist der Sun UltraSPARC T1-Prozessor.

Asymmetrische Mehrkernprozessoren

Bei asymmetrischen Mehrkernprozessoren gibt es verschiedene Kerne, die unterschiedlich gesteuert werden und eine unterschiedliche Maschinensprache verstehen. Ein Programm kann nur auf einem seiner Übersetzung entsprechenden Kern ausgeführt werden. Bei dieser Art von Mehrkernprozessoren arbeiten einige der Kerne wie klassische Hauptprozessoren, andere wie asynchrone Coprozessoren. Ein Beispiel für solch ein System ist der Cell-Prozessor von IBM.

Liste einiger Mehrkernprozessoren

Doppelkernprozessoren (Dual-Core)

Derzeit werden folgende Doppelkernprozessoren gefertigt oder sind geplant:

AM2 Sockel für Athlon 64 X2

AMD:

ARM:

Freescale:

Hewlett-Packard:

  • PA-RISC PA-8800
  • PA-8900: seit 2005

IBM:

Intel:

Sun Microsystems:

Sonstige:

Dreikernprozessoren (Tri-Core)

Derzeit werden folgende Dreikernprozessoren gefertigt oder sind geplant:

AMD:

IBM:

  • Xenon: seit November 2005 erhältlich

Vierkernprozessoren (Quad-Core)

Derzeit werden folgende Vierkernprozessoren gefertigt oder sind geplant:

AMD:

IBM:

Intel:

Sun Microsystems:

ARM:

  • Nvidia Tegra Tegra 3 (Kal-El) ARM Cortex-A9 MPCore: November 2011

Sonstige:

Sechskernprozessoren (Hexa-Core)

Derzeit werden folgende Sechskernprozessoren gefertigt oder sind geplant:

Intel

AMD

Mehrkernprozessoren mit mehr als sechs Prozessorkernen

Derzeit werden folgende Mehrkernprozessoren mit mehr als sechs Kernen gefertigt oder sind geplant:

  • IBM / Sony / Toshiba Cell: 64-Bit-PowerPC-Kern mit acht spezifizierten Synergistic Processor Elements (SPEs) - erhältlich in Sonys PlayStation 3 (Ausführung mit nur sieben SPEs) seit November 2006
  • IBM POWER7: 64-Bit-Prozessor mit bis zu acht Kernen mit je vier Threads - erhältlich seit Anfang 2010
  • Intel Xeon 6500/7500 (Nehalem-EX): vier, sechs oder acht Kerne – erhältlich seit Anfang 2010
  • Intel Xeon E7 (Westmere-EX): vier, sechs, acht oder zehn Kerne, in zwei, vier oder acht Sockel Versionen – erhältlich seit Mitte 2011
  • Sun UltraSPARC T1 (Niagara): vier, sechs oder acht UltraSPARC-Kerne mit je vier Threads – erhältlich seit Dezember 2005
  • Sun UltraSPARC T2 (Niagara 2): acht UltraSPARC-Kerne für jeweils acht parallele Threads – erhältlich seit Oktober 2007
  • Sun UltraSPARC T2+: SMP-fähige Version des UltraSPARC T2, kann seine acht UltraSPARC-Kerne also mit denen weiterer Prozessoren verbinden – erhältlich seit April 2008
  • AMD Magny-Cours: 8 (Octo-Core) oder 12 (Dodeca-Core) Kerne – erhältlich seit Januar 2010[7][8]
  • Fujitsu SPARC64 VIII: 8-Kern-Prozessor (2009)
  • Parallax Propeller: 8-Kern-Microprozessor (2006) symmetrisch, 8 * 20 Mips
  • AMD Bulldozer: (Zambezi) FX-8150: 8-Kern-CPU (Oct2011) - (Valencia) bis zu 8-Kern-Server-CPU (Ende 2011)

Manycore-Prozessoren

Als Manycore-Prozessoren werden oftmals Prozessoren mit deutlich mehr Rechenkernen als üblich bezeichnet.

  • IBM / DARPA / UT-Austin TRIPS: zwei Kerne mit je 16 Executions-Tiles, vier Register- und Data-Tiles, fünf Instruktions-Tiles, ein Control- sowie mehreren Memory- und Network-Tiles
  • Intel Terascale: ein Kern mit 80 bis 100 Tiles, davon einige auf SoC-Aufgaben spezialisiert
  • Intel Many Integrated Core Architecture (MIC) mit über 50 Tiles[9][10]
  • AMD Bulldozer: (Interlagos) bis zu 16-Kern-Server-CPU (Ende 2011)

Siehe auch

Weblinks

Einzelnachweise

  1. shmem, eine Shared Memory Access-API unter IRIX
  2. a b golem.de Revolverduell ab März: AMD und Intel mit 6-Kern-CPUs
  3. golem.de Intels 6-Kerner Gulftown hat 1,17 Milliarden Transistoren
  4. golem.de Test: Core i7 980X - sechs Kerne, aber selten schneller
  5. golem.de Phenom II X6: AMD zeigt „Thuban“ erstmals in Betrieb
  6. heise.de Befreiungsschlag: AMDs neuer Sechskern-Prozessor
  7. blogs.amd.com “Magny-Cours” is Right on Schedule, and Shipping to Customers
  8. golem.de Opteron 6100: Erster x86-Prozessor mit zwölf Kernen startet
  9. Intel Many Integrated Core Architecture
  10. MIC-Architektur bei heise

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Intel-Modellnummern — Der Mikroprozessorhersteller Intel bezeichnet seine Desktop und Mobile Produkte seit April 2004 modellfamilienübergreifend mit Nummern, auch Model Rating genannt. Dieses System besagt, dass ein Prozessor umso besser ausgestattet ist, je höher… …   Deutsch Wikipedia

  • Modellnummern von Intel — Der Mikroprozessorhersteller Intel bezeichnet seine Desktop und Mobile Produkte seit April 2004 modellfamilienübergreifend mit Nummern, auch Model Rating genannt. Dieses System besagt, dass ein Prozessor umso besser ausgestattet ist, je höher… …   Deutsch Wikipedia

  • Intel Core 2 Duo (Mobil) — Intel Core 2 Duo Intel Core 2 Duo Emblem Produktion: seit 2006 Produzent: Intel Prozessortakt: 1,06 GHz …   Deutsch Wikipedia

  • AMD Phenom X3 — AMD Phenom Phenom Logo Produktion: seit 2007 Produzenten: AMD Globalfoundries Prozessortakt …   Deutsch Wikipedia

  • AMD Phenom X4 — AMD Phenom Phenom Logo Produktion: seit 2007 Produzenten: AMD Globalfoundries Prozessortakt …   Deutsch Wikipedia

  • Phemnon — AMD Phenom Phenom Logo Produktion: seit 2007 Produzenten: AMD Globalfoundries Prozessortakt …   Deutsch Wikipedia

  • Core 2 Quad — Intel Core 2 Duo Intel Core 2 Duo Emblem Produktion: seit 2006 Produzent: Intel Prozessortakt: 1,8 GHz b …   Deutsch Wikipedia

  • Intel Core 2 (Desktop) — Intel Core 2 Duo Intel Core 2 Duo Emblem Produktion: seit 2006 Produzent: Intel Prozessortakt: 1,8 GHz b …   Deutsch Wikipedia

  • Intel Core 2 Quad — Intel Core 2 Duo Intel Core 2 Duo Emblem Produktion: seit 2006 Produzent: Intel Prozessortakt: 1,8 GHz b …   Deutsch Wikipedia

  • Kentsfield — Intel Core 2 Duo Intel Core 2 Duo Emblem Produktion: seit 2006 Produzent: Intel Prozessortakt: 1,8 GHz b …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”