Der Bulldozer-Kern (Zambezi, Valencia und Interlagos) #2
Die beiden Integer-Einheiten teilen sich den 64 KByte große L1-Instruktions-Cache, die Fetch-Queue, den vierfachen x86-Decoder (K10: dreifach), die Gleitkommaeinheit und den L2-Cache. Dessen Größe wollte AMD zunächst geheim halten, hat sich nun jedoch mit Rücksicht auf Entwickler dazu durchgerungen, die Zahlen auf den Tisch zu legen. Jedes Modul wird einen 2 MByte großen L2-Cache besitzen, hinzu kommen 8 bis 16 MByte L3-Cache, welchen alle Module gemeinsam nutzen.
Bulldozer Sharing; Quelle: AMD - Fotostrecke mit weiteren und größeren Fotos...
AMD hat beim Bulldozer die Pipelines der Sprungvorhersage und des Fetchers entkoppelt, wohingegen diese beim K10 noch gekoppelt arbeiten und somit auch zusammen ins Leere laufen können. Die Sprungvorhersage des Bulldozer eilt voraus und generiert zukünftige Adressen für den Fetcher. Dieser gleicht die vorhergesagten Adressen mit dem Inhalt des Instruktions-Caches ab und spürt frühzeitig fehlende Daten auf. Während diese Daten aus dem L2-Cache oder einem anderen Speicherbereich in den L1-Cache kopiert werden, holt sich der Fetcher bereits die nächsten Instruktionen.
Sprungvorhersage und Fetcher; Quelle: AMD - Fotostrecke mit weiteren und größeren Fotos...
Die beiden Integer-Kerne (unteres Bild, grün) besitzen - wie gesagt - jeweils einen eigenen Scheduler, der vier Pipelines beschickt. Bei zwei dieser Pipelines handelt es sich um Adressgenerierungseinheiten (AGen), die beiden übrigen sind dann die ALUs. Während eine ALU nur Multiplikationen durchführen kann, ist die zweite auf Divisionen spezialisiert. Eine eigene Retire-Einheit sorgt in jedem Integer-Kern dafür, dass die Out-of-order verarbeiteten Befehle wieder in die richtige Reihenfolge kommen. Mit lediglich 16 KByte fallen die beiden L1-Daten-Caches überraschend klein aus, was laut AMD aber kaum Auswirkungen auf die Leistung haben soll.
Integer und Gleitkomma; Quelle: AMD - Fotostrecke mit weiteren und größeren Fotos...
Die Gleitkomma-Einheit (oberes Bild, gelb) besitzt einen Scheduler mit vier Ports, welcher zwei 128 Bit FMAC-Pipes (Fused Multiply Add Command) und zwei MMX-Pipes (128 Bit Packed Integer) beliefert. 256 Bit Operationen können somit in einem Takt auf den beiden FMAC-Einheiten ausgeführt werden. Der Bulldozer beherrscht die SIMD-Erweiterungen bis einschließlich SSE 4.1 und 4.2. Auch AVX (Advanced Vector Extensions), welches Intel zusammen mit seiner kommenden CPU-Architektur Sandy Bridge einführen will, wird geboten. Wie bereits vermutet, wird AMD im FMAC-Subset mit vier Operanden arbeiten, während sich Intel auf drei festgelegt hat.
TDP-Spielraum; Quelle: AMD - Fotostrecke mit weiteren und größeren Fotos...
AMD wird für den Bulldozer die 32nm-SOI-Fertigung mit High-k Metal-Gates von Globalfoundries verwenden. Durch die kleineren Strukturen benötigen acht Kerne weniger Platz als bei den aktuellen 45nm-Modellen für sechs Kerne gebraucht wird. Zudem darf man eine deutliche Stromersparnis erwarten, auch weil AMD den Energieverbrauch nicht benötigter Einheiten durch extensives Clock- und Power-Gating auf ein Minimum reduziert. Statt einzelner Kerne wird bei einer Bulldozer-basierenden CPU im C6-Modus allerdings ein ganzes Modul abgeschaltet. Wie bei Intels aktueller Core-Generation überwacht ein Energie-Controller die Last und berechnet daraus den Stromverbrauch der Module. Sofern die TDP nicht ausgereizt wird, hebt Turbo CORE die Taktrate um bis zu 500 MHz an - auch wenn alle Kerne belastet werden.
CPU aus Bulldozer-Modulen; Quelle: AMD - Fotostrecke mit weiteren und größeren Fotos...
Obige Abbildung zeigt einen Prozessor mit acht Kernen, welcher sich aus vier Bulldozer-Modulen zusammensetzt. Alle Kerne/Module teilen sich den L3-Cache, die integrierte Northbridge und den integrierten Speicher-Controller. Der Speicher-Controller Bulldozer basierender APUs soll einen um 50 Prozent höheren Durchsatz erreichen als heutige Prozessoren, wobei 30 Prozent auf architektonische Verbesserungen und 20 Prozent auf höhere Taktraten fallen. Wie wir aus AMDs Roadmap wissen, werden Valencia und Zambezi auf zwei Speicherkanäle zurückgreifen können, während dem Interlagos vier Kanäle vergönnt sind.