Quad-Core-CPUs
Quad Core und darüber hinaus

KomponentenWorkspace

Prozessoren mit vier Kernen

Quad-Core-CPUs

Der Königsweg der Prozessorarchitekten heißt heute Parallelisierung: Nachdem sich der Weg zu immer höheren Taktfrequenzen wegen der überproportional wachsenden Leistungsaufnahme der CPUs als Sackgasse erwiesen hat, sollen nun immer mehr Recheneinheiten auf einer CPU dafür sorgen, dass PC-Prozessoren weiterhin in gewohntem Tempo schneller werden.

Die ersten x86-CPUs mit vier Prozessorkernen hat Intel auf den Markt gebracht: zuerst den Core 2 Extreme QX6700 für Desktop-Rechner, dann die Xeon-Prozessoren der 5300er-Serie, die für Server und Workstations mit bis zu zwei Prozessoren bestimmt sind.

Bei AMD werden die ersten Prozessoren mit vier Kernen erst Mitte des Jahres erhältlich sein. Dass die eigenen Quad-Core-CPUs aber bereits jetzt prinzipiell funktionieren, zeigte AMD Ende November 2006 auf einer Konferenz. Dort liefen in einem Server gleich vier der unter dem Codenamen Barcelona entwickelten CPUs parallel.

Modular oder monolithisch

Einer der Gründe für Intels Zeitvorsprung bei den Quad-Core-Prozessoren liegt in deren modularer Architektur: Sie bestehen aus zwei Core-2-Duo-Chips, die Intel einfach zusammen in einem Prozessorgehäuse verbaut. Daher war der Entwicklungsaufwand im Vergleich zu einem Quad-Core-Design in einem Chip minimal. Zudem kann Intel nach Bedarf entweder Dual- oder Quad-Core-CPUs mit denselben Chips herstellen.

Der Nachteil des Intel-Konzepts liegt darin, dass die Verbindung zwischen den beiden Dual-Core-Chips über den Frontside-Bus und die Northbridge des Chipsatzes läuft, was eine höhere Latenzzeit mit sich bringt. Die höher getakteten Xeon-Prozessoren mit vier Kernen arbeiten daher mit einem schnelleren FSB1333-Bus, um diesen unerwünschten Effekt zu minimieren.

AMD setzt auf eine monolithische Architektur und musste daher wesentliche Teile der kommenden Quad-Core-Prozessoren neu entwickeln: Die vier Kerne sind intern über eine Crossbar verbunden und greifen gemeinsam auf den Speichercontroller zu, der ebenfalls auf der CPU sitzt. Ein Level-3-Cache auf dem Prozessor soll die mit 512 KByte vergleichsweise kleinen Level-2-Caches der einzelnen Kerne unterstützen und zeitraubende Zugriffe auf den Hauptspeicher minimieren. Zunächst ist der L3-Cache 2 MByte groß, spätere Versionen des AMD-Prozessors werden aber auch mit einem größeren Cache auf den Markt kommen.

AMD: Cleveres Power-Management

Quad-Core-CPUs

Eine Neuerung des Barcelona-Chips von AMD ist, dass der Prozessor die Lastverteilung auf die einzelnen Kerne kontrollieren kann. So können bei insgesamt niedriger Prozessorlast einzelne Kerne in den Leerlauf gehen, was die Leistungsaufnahme des AMD-Prozessors bei Applikationen, die nicht alle Kerne nutzen, drastisch verringert.

Multitasking und Multithreading

Vorteile bringen Prozessoren mit mehreren Kernen nur, wenn die Software die zusätzlichen Recheneinheiten auch nutzt. Prinzipiell gibt es dafür zwei Möglichkeiten: Beim Multitasking werden mehrere Prozesse gleichzeitig ausgeführt, etwa wenn ein E-Mail-Client Mails herunterlädt und gleichzeitig der Virenscanner nach Schädlingen in den Dateianhängen sucht. Bei Prozessoren mit einem Kern schaltet das Betriebssystem so schnell zwischen den Tasks um, dass der Eindruck entsteht, sie liefen parallel. Bei Multi-Core-Prozessoren verteilt das Betriebssystem die Prozesse auf verschiedene Kerne, die Performance steigt.

Wenn ein einzelnes Programm auf einem Prozessor mit mehreren Kernen schneller laufen soll, dann kommt Multithreading ins Spiel. Bei entsprechend programmierter Software sind die Prozesse selbst in weitere, kleinere Einheiten, die Threads, unterteilt.

Server-Software wie SQL-Server oder SAP-Programme profitieren auf jeden Fall von zusätzlichen Prozessorkernen, da sie schon von vornherein für Rechner mit mehreren Prozessoren geschrieben wurden und sich der gleichzeitige Zugriff vieler User auch gut auf mehrere Threads verteilen lässt.

Bei Software für Desktop-PCs lassen sich vor allem rechenintensive Programme gut in mehrere Threads aufteilen, die dann jeweils einen Teil der Datei bearbeiten. Beispiele dafür sind Media-Encoder, die umfangreiche Video-Dateien umwandeln, professionelle Videoschnittprogramme wie Adobe Premiere Pro und 3D-Renderer wie Cinema 4D oder 3D Studio Max. Da diese Software gut mit der Anzahl der CPU-Kerne skaliert, ergibt sich auch ein Leistungsgewinn beim Einsatz von Quad-Core-CPUs.

Bei Office-Applikationen fällt der Gewinn durch zusätzliche Prozessorkerne dürftig aus, da hier allenfalls Funktionen wie die Rechtschreibprüfung oder das Drucken im Hintergrund in eigenen Threads ablaufen.

Intel: Tools zur Software-Entwicklung

Intel hat natürlich großes Interesse daran, dass mehr Applikationen für Multi-Core-Prozessoren optimiert werden. Daher wurden für Programmierer zahlreiche Tools und Bibliotheken entwickelt, die das Schreiben optimierter Software erleichtern sollen.

Hilfreich sind dabei Programme wie der Thread Checker und der Thread Profiler. Das erste Tool identifiziert Fehler wie Deadlocks und Race-Conditions, also die gegenseitige Blockade zweier Threads oder die unerwünschte Ausführung eines Threads vor dem anderen. Der Thread Profiler analysiert den Quellcode der Applikation und hilft bei der Optimierung.

Virtualisierung und Multi-Core

Quad-Core-CPUs

Als weitere Möglichkeit zur effizienteren Nutzung mehrerer Prozessorkerne haben CPU-Hersteller die Virtualisierung erkannt. Bei Servern laufen bereits in vielen Rechenzentren mehrere virtuelle Rechner auf einer leistungsstarken Maschine. Zur Virtualisierung bei Client-PCs haben Intel und AMD unterschiedliche Konzepte. Für Intel-Rechner mit vPro-Logo sollen schon in diesem Jahr virtuelle Firewall-Appliances zur Verfügung stehen, die komplett isoliert vom Betriebssystem des Anwenders laufen. Damit können sie nicht von Trojanern beendet oder beeinflusst werden. In einem nächsten Schritt werden Virenscanner in solche virtuellen Geräte ausgelagert.

AMD entwickelt unter dem Namen Raiden eine Technologie, mit der die Rechenleistung der Arbeitsplatz-PCs auf virtualisierte Rechner ausgelagert wird, die entweder auf großen Opteron-Servern oder auf PC-Blades laufen. Diese zentralen Rechner sind mit Multi-Core-Prozessoren bestückt, um viele PCs gleichzeitig virtualisieren zu können. Auf dem Schreibtisch der Benutzer steht dann nur noch ein Thin Client.

Der Trend ist eindeutig: Multi-Core-Prozessoren gehört die Zukunft. Auch die Zahl der Prozessorkerne wird mit den immer kleineren Strukturbreiten zweifellos weiter zunehmen. Nun müssen nur noch die Software-Hersteller nachziehen und Programme schreiben, die von den zusätzlichen Recheneinheiten auch profitieren.

Lesen Sie auch :