Doping für CPUs — Möglichkeiten der Leistungssteigerung
Ansätze der Optimierung per Hardware (Multi-Processing)
OnChip Multi-Processing
Das onChip Multi-Processing (kurz CMP) kombiniert zwei voneinander unabhängige Prozessoren auf einem einzelnen Die. Ähnlich wie beim im noch zu erläuternden Simultaneous Multi-Threading, werden beim CMP verschiedene Ressourcen gemeinsam benutzt, andere wiederum stehen exklusiv zur Verfügung. Da in der x86-Welt (noch) kein CMP-System existiert, werde ich meine folgenden Ausführungen auf den Power4 Serverprozessor von IBM beziehen.
Der Power4 ist ein solcher CMP-fähiger Mikroprozessor, der auf einem Die zwei Prozessoren unterbringt. Im Unterschied zu einem Computer mit zwei physikalischen Mikroprozessoren müssen sich die beiden des Power4 unter anderem die Caches teilweise teilen. Teilweise bedeutet in diesem Fall, dass jeder der beiden onChip Prozessoren über einen eigenen L1-Cache verfügt, der L2-Cache (~ 1.5MB) sowie L3-Cache (32 — 128 MB) jedoch gemeinsam genutzt werden.
Dies muss jedoch nicht zwingend einen Nachteil darstellen, so kann beispielsweise bei angepasster Software ein Prozessor bereits die benötigten Daten in den L2-Cache schaufeln, die der andere in Kürze benötigen wird. Durch optimale Programmierung ist hier also tatsächlich nahezu optimale Ausnutzung der Ressourcen möglich. Dennoch darf nicht verschwiegen werden, dass bei gemeinsam genutzten Speichern immer die Gefahr des Konflikts besteht.
Der Nachteil einer solchen Umsetzung liegt jedoch auf der Hand: In Desktop-Prozessoren ist CMP unpraktikabel, da sowohl die Kosten für die Herstellung, als auch der Energieverbrauch sehr hoch sind. Ob dieser Gründe ist stark anzunehmen, dass CMP für den Markt der Heimcomputer auch weiterhin eine untergeordnete Rolle spielen wird.