Definitionsfrage – Was ist eigentlich ein Kern?
Allerdings wird wohl auch AMD in Zukunft seine Worte mit mehr Bedacht wählen müssen, denn auch die Bulldozer-Module beinhalten nicht zwei komplette Kerne. Stattdessen teilen sie sich gewisse Einheiten, die man normalerweise pro Kern erwarten würde. Dazu gehören die Fetch- und Decode-Einheiten, die Gleitkomma-Einheiten und der L2-Cache.
Laut Mike Butler, dem Chefarchitekten der Bulldozer-Architektur, ist dies aber vertretbar, weil traditionelle Kerne in Umgebungen, wo Leistungsaufnahme eine Rolle spielt, ihren thermischen Spielraum nicht optimal ausnutzen. Das ist tatsächlich nachvollziehbar: Wenn man versucht, in einem Server so viele Kerne wie möglich unterzubringen, wird man beim Design diejenigen Ressourcen und Einheiten bevorzugen, die am häufigsten genutzt werden. Die anderen stellt man eben nur ein Mal bereit, so dass von mehreren Kernen genutzt werden. So spart man Chipfläche und kann die Leistungsaufnahme reduzieren, ohne dabei allzu große Abstriche bei der Performance hinnehmen zu müssen.
Problematisch wird es natürlich dann, wenn zwei Threads dieselben Ausführungseinheiten nutzen wollen, denn dann fällt die Performance gegenüber Chip-Level Multiprocessing ab. AMD gibt sich aber optimistisch: Vergangenen August, als man im Rahmen der Hot Chips Konferenz die ersten Details zur neuen Architektur vorstellte, schätzte man, dass ein Bulldozer-Modul im Durchschnitt auf 80 Prozent der Leistung zweier vollständiger Kerne erreichen könne, dabei aber deutlich weniger Chipfläche brauche. Daher sollte ein Prozessor auf Bulldozer-Basis in Anwendungen und Umgebungen, die viele Threads nutzen, deutlich effizienter zu Werke gehen.
Das bedeutet allerdings auch, dass AMD seine Definition von „Kern“ umschreiben muss, was man unter dem Begriff „Kern“ versteht. Um den Bulldozer nicht ins falsche Licht zu rücken, gilt nun laut AMD (wenig überraschend) alles als Kern, was eigene Integer-Ausführungs-Pipelines besitzt. Das ist ein Stück weit nachvollziehbar, denn die meisten Aufgaben, die Prozessor abarbeitet, bestehen größtenteils aus Ganzzahl-Berechnungen. Prinzipiell haben wir an dieser Definition nicht mehr oder weniger auszusetzen, als an anderen Definitionen. Doch wenn das Teilen von Ressourcen sich negativ auf die Pro-Takt-Performance auswirken wird, muss sich AMD wohl oder übel wieder auf höhere Taktraten oder deutlich stärkeres Threading stützen müssen, um das zu kompensieren.