Ein Lückenfüller mit Ambitionen - AMDs Brazos-Plattform im Test

Prozessoren | HT4U.net | Seite 9

Die Ausführungseinheiten


Bereits nach der Dekodierstufe trennen sich die Wege von Integer- und Gleitkomma-Befehlen durch die weiteren Pipeline-Stufen. Beide Befehlsarten besitzen ihre eigenen Scheduler und ihre eigenen Register.

In beiden Fällen kommt dabei ein physikalisches Registerfile (PRF) unbekannter Größe zum Einsatz. Ohne PRF führt jeder Mikrobefehl (uOP) eine Kopie seiner Operanden mit sich, so dass in jeder Pipeline-Stufe, in der dieser Befehl sich befindet, zusätzlicher Speicher für seine Operanden bereitgestellt werden muss. Mit dem PRF entfällt der Bedarf nach dem zusätzlichen Speicher, da die Operanden der Mikrobefehle einmal im PRF abgelegt werden und dann mittels Pointern erreichbar sind. Insgesamt verspricht sich AMD durch die Minimierung des Datenverkehrs weitere Energieeinsparungen.

Zwei unabhängige Integer-Scheduler versorgen die zwei ALUs (arithmetisch-logische Einheit) sowie die zwei Adress-Generierungs-Einheiten (AGU). Anders als bei den bisherigen Desktop-Architekturen von AMD gibt es diesmal jedoch nur eine AGU für Lade-Operationen (LAGU) und nur eine AGU für Speicheroperationen (SAGU). Auch bei den ALUs gibt es deutliche Abstriche gegenüber den aktuellen Desktop-Architekturen von AMD sowie Intel, die üblicherweise drei statt zwei ALUs einsetzen. Darüber hinaus kann bei der Bobcat-Architektur nur eine der beiden ALUs Multiplikationen ausführen. Insgesamt fallen hier also die Abstriche recht groß aus.

Bild: Ein Lückenfüller mit Ambitionen – AMDs Brazos-Plattform im Test
Bild: Ein Lückenfüller mit Ambitionen – AMDs Brazos-Plattform im Test


Selbiges gilt für die Gleitkomma-Einheiten. So gibt es nur zwei Ausführungseinheiten, wobei nur eine davon multiplizieren und nur die andere addieren kann. Zwar ist es so möglich pro Takt jeweils eine Addition als auch eine Multiplikation durchzuführen, jedoch kommt als weitere Einschränkung hinzu, dass die Gleitkommaeinheiten nur mit maximal 64 bit breiten Operanden umgehen können. Zum Vergleich, Sandy Bridge kann dank AVX mit 256 bit breiten Operanden arbeiten. Dadurch sind Vektoroperationen nur mit zwei Operanden einfacher Genauigkeit (32 bit) möglich. Der Vorteil der Verwendung von Vektoren (SIMD) ist dabei der erhöhte Durchsatz. So kann beispielsweise die Operation (a,a,a,a)+(b,b,b,b) in einem Zyklus abgearbeitet werden, wohingegen für skalare Berechnungen vier Taktzyklen notwendig wären. Es ist also zu erwarten, dass die neuen Prozessoren bei Applikationen mit einem hohen Gleitkomma-Anteil eher schlecht abschneiden werden. Selbst Intels Atom-Prozessoren könnten hier besser abschneiden, können diese doch bei passendem Code Vektorinstruktionen mit einer Breite von 128 bit verarbeiten.

Gefüttert werden die Ausführungseinheiten über einen 32 KByte großen L1-Daten-Cache sowie einen 512 KByte großen L2-Cache. Letzterer taktet aus Energiespar-Gründen dabei nur mit halber Kern-Frequenz – also maximal 800 MHz und ist über einen Bus mit der Lade-und-Speicher-Einheit (Load-Store-Unit) verbunden. Der Bus wird im Übrigen auch zu Kommunikationen (z.B. Cache-Kohärenz) zwischen den beiden Kernen im Falle eines Dual-Cores genutzt. Sowohl über die Performance-Daten des Busses als auch der Lade-und-Speicher-Einheit schweigt sich AMD leider aus, so dass wir hier vorerst keine weiteren Informationen liefern können.

Bild: Ein Lückenfüller mit Ambitionen – AMDs Brazos-Plattform im Test

Die Caches


Für den L1-Cache gibt AMD im Übrigen eine Latenz von 3 Zyklen und für den L2-Cache von 17 Zyklen an. Während unsere Messungen (siehe nachfolgende Tabelle) die erste Angabe bestätigen, kamen wir hingegen für den L2-Cache nur auf 24 Zyklen. Zum Vergleich: Gängige Prozessoren haben hier Werte zwischen 10 und 11 Zyklen. Am ehesten sind die Latenzen mit jenen eines Athlon 64 X2 5000+ aus dem Jahre 2007 vergleichbar. Es zeigt sich hier also ebenfalls ganz deutlich, dass AMD die Leistung erst an zweiter oder dritter Stelle optimiert hat.

ArchitekturModellL1-CacheL2-CacheL3-Cache
GrößeLatenzGrößeLatenzGrößeLatenz
AMD BobcatE-35032 KByte3 Zyklen512 KByte24 Zyklen--
Intel Sandy BridgeCore i7 2600K32 KByte4 Zyklen256 KByte11 Zyklen8 MByte26 Zyklen
Intel WestmereCore i7 980X32 KByte4 Zyklen256 KByte11 Zyklen8 MByte43 Zyklen
Intel WestmereCore i5 66132 KByte4 Zyklen256 KByte11 Zyklen4 MByte39 Zyklen
Intel NehalemCore i7 87032 KByte4 Zyklen256 KByte11 Zyklen8 MByte39 Zyklen
Intel NehalemCore i7 96532 KByte4 Zyklen256 KByte11 Zyklen8 MByte36 Zyklen
Intel PenrynCore 2 Quad QX965032 KByte3 Zyklen2x 6144 KByte15 Zyklen--
Intel PineviewAtom D52524 KByte3 Zyklen512 KByte20 Zyklen
AMD ThubanPhenom II X6 1100T64 KByte4 Zyklen512 KByte10 Zyklen6 MByte54 Zyklen
AMD DenebPhenom II X4 97064 KByte4 Zyklen512 KByte10 Zyklen6 MByte58 Zyklen
AMD DenebAthlon II X2 240e64 KByte3 Zyklen1024 KByte15 Zyklen--
AMD BrisbaneAthlon 64 X2 5000+64 KByte3 Zyklen512 KByte20 Zyklen--


Pipeline-Überblick


Insgesamt ergibt sich damit das folgende Bild, für die komplette Bobcat-Architektur basierend auf einer 15-stufigen Pipeline.

Bild: Ein Lückenfüller mit Ambitionen – AMDs Brazos-Plattform im Test