AMD Kaveri APUs im Test

Prozessoren | HT4U.net | Seite 6

Kaveri: Neuerungen rund um die Kerne


Wie bereits erwähnt, löst AMD bei der Kaveri-APU die bisherigen Piledriver-Prozessormodule durch die neue Steamroller-Version ab. Diese bringt dabei einige Verbesserungen mit sich, welche AMD zufolge bis zu zehn Prozent mehr Leistung bei gleichem Takt bewirken. Im Folgenden wollen wir diese im Detail vorstellen.

Recap: Piledriver


Um die Neuerungen von Kaveri im Prozessorsegment besser zu verstehen, wollen wir zunächst kurz wiederholen, wie die Situation sich bei Trinity beziehungsweise Richland darstellt, welche beide die zweite Bulldozer-Inkarnation namens Piledriver für die Prozessormodule einsetzen.

Im Gegensatz zur ersten Bulldozer-Generation besitzt Piledriver einige Verbesserungen, die die gravierendsten Mängel der Bulldozer-Architektur beheben sollen. So können die Scheduler für die Integer-Cluster nun 44, statt 40 Befehle vorhalten. Weiterhin wurde der L1-TLB vergrößert und das Befehlsfenster der Befehlsholstufe (Instruction Fetch) gar doppelt so groß ausgelegt. Darüber hinaus hat AMD die Sprungvorhersage verbessert und ihr größere TLBs zur Seite gestellt. Außerdem hat der Hersteller erkannt, dass das Zurückschreiben von Daten in den L1- beziehungsweise L2-Cache eine Performance-Bremse darstellt, weshalb man dieses Problem bei Piledriver durch Verbesserungen in der Lade-und-Speichereinheit sowie im L2-Cache adressiert hat. Für Spezial-Applikationen hat AMD Piledriver zudem eine echte Integer-Divisions-Einheit spendiert, so dass derartige Befehle nun nicht mehr emuliert und damit sehr langsam ausgeführt werden müssen. Außerdem unterstützen die Piledriver-Module nun Fused-Multiply-Add-Instruktionen mit nur 3, statt 4 Operanden (etwa x=a*x+y, statt u=a*x+y mit anschließendem x=u) sowie Gleitkommaoperationen mit 16 Bit langen Operanden (F16C). Auch hiervon erhofft man sich eine verbesserte CPU-Performance.

Bild: AMD Kaveri APUs im Test


Steamroller betritt die Bühne


Die Steamroller-Architektur setzt nun exakt dort an, wo Piledriver aufhört. Die bedeutenste Änderung ist dabei zugleich die offensichtlichste. Jedes Prozessormodul besitzt bei Steamroller nun zwei Instruktionsdekoder und nicht mehr nur noch einen. Damit besitzt jede "Compute Unit", von AMD gerne auch als Kern bezeichnet, ihren eigenen Instruktionsdekoder. Dieser kann wie bisher auch vier x86-Instruktionen verarbeiten, so dass der Durchsatz hier gegenüber Piledriver oder Bulldozer glatt verdoppelt wird. Damit teilen sich die beiden "Compute Units" nur noch die Befehlsholstufe und die Gleitkomma-Einheit. Steamroller entfernt sich damit deutlich vom ursprünglichen Bulldozer-Konzept, welches möglichst viele Ressourcen zwischen den "Compute Units" teilen wollte. Offenbar ist man hier etwas über das Ziel hinausgeschossen.

Bild: AMD Kaveri APUs im Test


Darüber hinaus hat AMD den Instruktions-Cache von 64 KByte auf 96 KByte vergrößert, was die Cache-Misses um 30 Prozent reduzieren soll. Auch die Sprungvorhersage wurde verbessert, und das Instruktions-Scheduling leicht überarbeitet. Weiterhin sind die Registerfiles für Integer und Gleitkomma-Operanden angewachsen. Die Cache-Latenzen bleiben hingegen unverändert bei 4 Taktzyklen für den L1-Cache und eher langsamen 20 Zyklen für den L2-Cache.

Die letzte große Veränderung bei Steamroller betrifft den Durchsatz von Speicheroperationen. Während Bulldozer und Piledriver nur eine Speicheroperation ermöglichten, kann Steamroller zwei Speicherbefehle parallel verarbeiten. Zusammen mit dem um 20 Prozent gewachsenen Lade-/Speicherpuffer sollte dies einen deutlichen Leistungsschub mit sich bringen.