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 die n-fache Rechenleistung erzielt werden (mit n = 2 bei Doppelkern). In der Realität kann diese Steigerung jedoch nie erreicht werden, die Leistungssteigerung schwankt, je nach Programm, zwischen nicht vorhanden (bei nicht auf Mehrkernprozessoren ausgelegter Software) und fast 100 % (bei stark optimierter Software).
Aber auch im Alltag ist mit Mehrkernprozessoren ein 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. Da alle führenden Prozessorhersteller Mehrkernprozessoren auf den Markt brachten, ist damit zu rechnen, dass immer mehr Programme für Mehrkernprozessoren optimiert werden.
Die AMD 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ätzlichen 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 Windows XP unterstützen Mehrkernprozessoren. 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.
QUELLE: WIKIPEDIA