Hardware
28.10.2011
CPU
1. Teil: „Alles über Multicore-Prozessoren“

Alles über Multicore-Prozessoren

Alles über Multicore-ProzessorenAlles über Multicore-ProzessorenAlles über Multicore-Prozessoren
Was sind Threads? Wofür werden Register benötigt? Und was sind eigentlich Flops? Dieser Artikel erklärt von ALU bis Quad-Core alles, was Sie über Mehrkernprozessoren wissen müssen.
AMD und Intel umgehen die Grenzen, die die Physik vorgibt: Statt die Taktraten eines Prozessors immer höher zu schrauben, kombinieren sie mehrere Prozessoren zu einem.
Aktuelle Prozessoren wie beispielsweise der Intel Core i7 bieten vier Prozessorkerne.
Noch mehr über Prozessoren erfahren Sie im Artikel „CPUs - 17 Fragen und Antworten“.
2. Teil: „Prozessor-Grundlagen“

Prozessor-Grundlagen

Was ist ein Kern, was bedeutet die Abkürzung ALU und wozu hat ein Computer einen Bus? Die folgenden Abschnitte erklären die wichtigsten Fachbegriffe rund um Prozessoren.

ALU

Die Abkürzung ALU steht für Arithmetic Logic Unit und bezeichnet das Rechenwerk eines Prozessors. Die ALU berechnet zwei Gruppen von Aufgaben. Zur ersten Gruppe gehören arithmetische Operationen, etwa Addition oder Multiplikation. Zur zweiten Gruppe gehören logische Operationen, die Zahlenwerte manipulieren oder miteinander vergleichen. So wird bei der logischen Negation ein Wert in seinen Gegenwert umgekehrt, also etwa der Status „an“ in „aus“ verändert. Bei logischen Vergleichen wird geprüft, ob ein Wert größer als ein anderer ist oder sich die beiden Werte gleichen.

Bus

Ein Bus ist in der Elektrotechnik ein System, in dem Daten zwischen mehreren Geräten ausgetauscht werden. Es handelt sich dabei aber nicht um eine exklusive Verbindung. Das heißt, alle Geräte, die über den Bus verbunden sind, nutzen diesen gleichzeitig. Wichtig ist, dass Geräte bei einem Bussystem in Reihe geschaltet sind.
  • Heatspreader: Eine Metallplatte schützt den empfindlichen Die und optimiert zudem die Wärmeabgabe an den Prozessorkühler
Die bekanntesten Bussysteme in einem Computer sind ATA, IDE und PCI. Sie verbinden die Festplatten, die Laufwerke sowie die Erweiterungskarten über das Mainboard mit dem Prozessor. Arbeitsspeicher und Prozessor kommunizieren miteinander ebenfalls über einen Bus. Auch die einzelnen Bestandteile einer CPU sind über einen Bus miteinander verbunden.

Cache

Ein Cache ist ein kleiner Zwischenspeicher, der an verschiedenen Stellen im PC zum Einsatz kommt. So puffern fast alle Festplatten Schreib- und Lesezugriffe in einem Cache. Oft angefragte Dateien werden etwa im Cache abgelegt. So sind die Dateien schneller abrufbar.
Bei Prozessoren kommen der L1-, L2- und L3-Cache vor. Der L1- oder First-Level-Cache ist mit maximal 256 KByte der kleinste. Er speichert die wichtigsten Daten und Befehle. Das entlastet den Arbeitsspeicher. Der L1-Cache arbeitet mit dem vollen Prozessortakt.
Der L2-Cache, auch Second-Level-Cache genannt, lag ursprünglich außerhalb der CPU und erweiterte dort den L1-Cache. Wenn viele Programme gleichzeitig ausgeführt werden, dann profitiert der Prozessor vom L2-Cache. Der Second-Level-Cache arbeitet nur mit halbem Prozessortakt. Er wird mittlerweile in den Prozessor-Chip integriert und ist bis zu 12 MByte groß.
  • AMD Turion: Der Prozessorkern sitzt auf dem Die. Das im Bild silbern schimmernde, aus Silizium bestehende Bauteil ist äußerst zerbrechlich
Seit Einführung der Mehrkernprozessoren wird der L3- oder Third-Level-Cache immer wichtiger. Er ist in den Prozessor-Chip integriert und unterstützt den Datenaustausch zwischen den Prozessorkernen. Auch der L3-Cache arbeitet mit vollem Prozessortakt.

Die

Der Prozessorkern ist auf dem Die — sprich: dei — untergebracht. Der Die vereint Steuer- und Rechenwerk, Caches und Register. Er ist aus Silizium und äußerst zerbrechlich. Daher wird er durch eine Metallplatte vor mechanischen Einflüssen geschützt. Diese Metallplatte heißt Heatspreader und sorgt für eine gleichmäßige Abgabe der Betriebshitze an den Prozessorkühler.
Bei älteren Athlon-Modellen hat AMD den Die ungeschützt gelassen. Dies führte bei der Montage des Prozessorlüfters häufig zu einem irreparablen Schaden am Prozessor. Wenn der Lüfter zum Beispiel beim Aufsetzen verkantet wurde, brachen die Ecken des Die ab.

Flops

Flops ist die Abkürzung für Floating Point Operations per Second — Fließkommaberechnungen pro Sekunde. Es handelt sich um eine Einheit, mit der die Rechenleistung eines Computers oder einer CPU angegeben wird.
Eine Maßeinheit wie Flops ist wichtig, weil die Taktfrequenz eines Prozessors nicht mit seiner Rechengeschwindigkeit gleichzusetzen ist. Stattdessen gibt die Taktfrequenz nur die Anzahl der Rechenschritte pro Sekunde wieder. Je nach Architektur des Prozessors und der Anzahl seiner Kerne variieren die pro Fließkommaberechnung benötigten Rechenschritte.
Um unterschiedliche Rechner zu vergleichen, wird ermittelt, wie viele Flops sie erreichen. Ein Intel Pentium 4 mit einem Kern und 3,2 GHz Takt schafft im Schnitt 3,1 Gigaflops. Ein Intel Core i7 mit 3,2 GHz Takt und vier Kernen erreicht 33 Gigaflops, also die 10-fache Rechenleistung.

FSB

  • Intel Core i7: Vorderseite und Rückseite eines i7-Prozessors mit vier Prozessorkernen. Der Die wird von einer Metallplatte geschützt
Der Front Side Bus, kurz FSB, verbindet auf älteren Computersystemen den Hauptprozessor mit der Northbridge. Die Northbridge steuert die AGP-Steckkarten und den Arbeitsspeicher an und — indirekt über die Southbridge — Laufwerke und USB-Geräte. Auf neueren Mainboards wird der FSB durch Hypertransport ersetzt.

Hyperthreading

Hyperthreading kommt nur in Intel-Prozessoren zum Einsatz, vor allem in neueren Pentium-4-Modellen sowie in Core-i7- und Atom-CPUs. Hyperthreading nutzt den Prozessor besser aus: Es verwendet Pausen, die bei der Bearbeitung einer Aufgabe entstehen, und zieht kurzzeitig eine andere Aufgabe vor. Dafür optimierte Programme arbeiten so bis zu 30 Prozent schneller.

Hypertransport

Hypertransport entstand aus einem Projekt von AMD und wird mittlerweile in den meisten aktuellen Computersystemen eingesetzt.
Die Geräte werden nicht wie bei einem Bus in Reihe geschaltet, sondern sind baumartig mit der CPU verbunden. Die Datenleitungen entsprechen dabei den Zweigen des Baumes und werden exklusiv einem der angeschlossen Geräte zur Verfügung gestellt.
Entscheidend ist, dass ein Gerät mit mehr als nur einer Datenleitung angebunden sein kann. Dadurch steigt die Kapazität, mit der CPU und Gerät Daten kommunizieren. Moderne 3D-Grafikkarten müssen zum Beispiel mehr Daten austauschen als eine Soundkarte. Die Grafikkarte wird also meist mit mehr Datenleitungen angebunden.

Kern

Der Kern eines Prozessors besteht aus einem Rechenwerk (ALU), einem Steuerwerk und Registern. Auch der L1- und L2-Cache gehören dazu.
Mehrkernprozessoren verfügen über mehrere Kerne, weshalb sie mehrere Rechen- und Steuerwerke, Register sowie L1- und L2-Caches enthalten. Lediglich den L3-Cache teilen sich alle Prozessorkerne.

Register

Als Register werden Speicherbereiche innerhalb des Prozessors bezeichnet. Die Register sind je nach Prozessortyp maximal 32 Bit oder 64 Bit breit.
In den Registern werden etwa die beiden Operanden einer Berechnung gespeichert. Die ALU liest aus dem Register die Operanden, kombiniert sie und speichert das Ergebnis wieder im Register.

Single-Core

Single-Core sind Prozessoren, die lediglich über einen Prozessorkern verfügen. Da sie nur ein Rechenwerk besitzen, können sie nur eine Berechnung zur selben Zeit durchführen.

Steuerwerk

Das Steuerwerk koordiniert in einem Prozessor das Rechenwerk und den Arbeitsspeicher. Es sorgt dafür, dass die Aufgaben in der logisch korrekten Reihenfolge bearbeitet werden.
3. Teil: „Mehrkernprozessoren“

Mehrkernprozessoren

  • Prozessor: Die vier Kerne des Prozessors sind oben violett hervorgehoben. Darunter befindet sich der Cache, im Bild rot-orange markiert
Mehrkernprozessoren haben mehr als einen Rechenkern. Sie führen mehrere Berechnungen simultan aus.

Cell-Prozessoren

Cell-Prozessoren haben mehrere Kerne und stecken etwa in der Sony Playstation 3. Sie wurden von IBM, Sony und Toshiba entwickelt. Statt auf allgemeine Berechnungen sind Cell-Prozessoren auf Grafikberechnung und Videokodierung optimiert. Auch in Fernsehgeräten finden sich Cell-Prozessoren.

Dual-Core

Ein Dual-Core-Prozessor hat zwei voneinander getrennte Recheneinheiten. So lassen sich gleichzeitig zwei verschiedene Berechnungen ausführen. Intels Core 2 Duo oder AMDs Athlon X2 sind Zweikernprozessoren.

Quad-Core

In einer Quad-Core-CPU verrichten vier eigenständige Prozessorkerne ihren Dienst . Sie berechnen bis zu vier Aufgaben parallel. AMDs Phenom X4 sowie Intels Core i7 gehören zu den Vierkernprozessoren.
Eine Quad-Core-CPU besteht aus vier vollständigen Prozessoren, die gemeinsam auf einem Chip sitzen. Jeder Prozessorkern verfügt über ein Rechen und Steuerwerk, Speicherregister für Werte sowie einen L1-Cache und einen L2-Cache. Jeder
  • Eine Quad-Core-CPU besteht aus vier vollständigen Prozessoren, die gemeinsam auf einem Chip sitzen
Kern ist somit ein vollwertiger Prozessor. Die Kerne teilen sich den L3-Cache, um untereinander Daten auszutauschen.

Symmetrischer Mehrkernprozessor

Bei symmetrischen Mehrkernprozessoren sind alle Kerne des Prozessors gleich aufgebaut und beherrschen den gleichen Satz an Befehlen. So lassen sich Programme auf jedem der Kerne ausführen. Aktuelle Desktop-CPUs sind symmetrisch aufgebaut.
Asymmetrisch aufgebaute Prozessoren sind darauf ausgelegt, unterschiedliche Aufgaben zu bearbeiten. Das heißt, ein Programm kann nicht auf jedem Kern ausgeführt werden, da die Kerne jeweils andere Befehlssätze beherrschen.

So geht's: Mehrkernprozessor erkennen

  • Kommandozeile: In der Zeile „NUMBER_OF_PROCESSORS“ gibt Windows die Anzahl der erkannten Prozessorkerne aus
Ob in Ihrem Rechner ein Mehrkernprozessor arbeitet, sagt Ihnen der „set“-Befehl.
Öffnen Sie die Kommandozeile, indem Sie [Windows R] drücken, cmd eingeben und auf „OK“ klicken. Geben Sie set ein und drücken Sie die Eingabetaste. Es erfolgt eine längere Textausgabe. Scrollen Sie nach oben zur Zeile „NUMBER_OF_PROCESSORS“. Die Zahl entspricht der Anzahl der Kerne. Ausnahme: Wenn Ihr Prozessor Hyperthreading kann, zeigt set doppelt so viele Kerne an, wie tatsächlich vorhanden.
4. Teil: „Software für Mehrkernprozessoren“

Software für Mehrkernprozessoren

Mehrkernprozessoren entfalten erst durch Multithreading ihre volle Kraft.

Multithreading

Die englische Bezeichnung Thread bedeutet so viel wie Faden. Die Informatik bezeichnet zusammenhängende und aufeinander aufbauende Berechnungen als Thread, da sie wie ein Faden abgespult und verarbeitet werden.
Programme, die größere oder umfangreichere Berechnungen durchführen, teilen diese in mehrere Threads auf. Man spricht dann von Multithreading. Ein Beispiel dafür sind Computerspiele. Hier müssen eine Spielumgebung, Ton, gegnerische Spielzüge, natürlich die Grafik und anderes berechnet werden.
Sobald jeder Aufgabenbereich in unabhängige Threads aufgeteilt wird, lassen sich diese Threads parallel berechnen. Es werden quasi mehrere Fäden parallel verarbeitet.
Pausen, die bei der Berechnung eines Threads entstehen, können sich nicht auf die anderen Threads auswirken und diese etwa hinauszögern.
Erst wenn ein Programm die Berechnungen in mehrere Threads zerlegt, kann es von mehreren Prozessorkernen profitieren. Denn erst dadurch lässt sich jedem Prozessorkern ein zu verarbeitender Thread zuteilen. Wenn sich beispielsweise die Berechnung der gegnerischen Spielzüge verzögert, werden die Grafik, die Spielumgebung und der Ton ohne Verzögerung auf den anderen Kernen weiterverarbeitet.

mehr zum Thema