Original-URL des Artikels: https://www.golem.de/1008/77464.html    Veröffentlicht: 25.08.2010 11:59    Kurz-URL: https://glm.io/77464

Bobcat und Bulldozer

So sparen AMDs neue Prozessoren Strom und Diefläche

Nach den Vorträgen auf der Konferenz "Hotchips" hat AMD die vollständigen Präsentationen zu seinen beiden neuen CPU-Architekturen "Bobcat" und "Bulldozer" freigegeben. Daraus gehen die Cachegrößen und einige der Tricks hervor, die die Prozessoren konkurrenzfähig machen sollen.

Die nun von AMD vorgelegten Informationen ergänzen den grundlegenden Überblick zu Bobcat und Bulldozer, den der Chiphersteller vor der Konferenz Hotchips veröffentlicht hatte. Dabei stellten sich vor allem zwei Fragen: Wie soll die Mobil-CPU Bobcat so sparsam sein, wie versprochen, und wie kommt Bulldozer mit Integer-Kernen, denen gemeinsame Einheiten für Fetch und Decode vorangestellt sind, auf hohe Leistung?

Im Falle von Bobcat ist die Antwort relativ einfach: Der 512 KByte große L2-Cache läuft nur mit dem halben Takt der CPU, um Energie zu sparen. Zudem beherrschen die Kerne selbst den Schlafmodus C6. Ob sie sich, wie das bei Intels Nehalems der Fall ist, wirklich komplett abschalten können ("electrically off" nennt das Intel), ist aber noch nicht sicher.

Die L1-Caches sind für Daten und Befehle je 32 KByte groß, bei mobilen x86-CPUs ein üblicher Wert. Der Befehlscache, in AMDs Folien mit "ICACHE" bezeichnet, arbeitet jedoch nur zweifach assoziativ, andere x86-Designs arbeiten mit vierfacher oder achtfacher Assoziation. Da die Cache-Logik bei Bobcat weniger Vergleiche pro Zeiteinheit anstellen muss, arbeitet sie sparsamer als bei Caches mit höherer Assoziation. Der Datencache des Bobcat arbeitet dagegen achtfach assoziativ und der L2-Cache 16fach - aber diese Caches haben auch nie so viel Last wie der Befehlscache.

Mit zwölf Stufen sehr kurze Pipeline für Bobcat

Vor den Befehlscache haben die Entwickler einen TLB für bis zu 512 Einträge gesetzt, dazu kommt noch die Verzweigungsvorhersage (branch prediction). Das alles spielt sich noch vor der Befehlsdecodierung (Decode) ab. Das Ziel war es offenbar, Cachezugriffe und Verzweigungen so weit wie möglich von der Befehlsverarbeitung zu entkoppeln. AMD weist auch auf ein sehr feines "power gating" hin, was bei CPUs längst nicht mehr nur gesamte Kerne betrifft: Viele Teile des Prozessors lassen sich abschalten, wenn sie nichts zu tun haben.

Da Bobcat anders als Intels Atom, dem er Konkurrenz machen soll, als Out-of-Order-Prozessor ausgeführt ist, muss er dafür eigene Load-/Store-Einheiten besitzen, die direkt auf dem Datencache arbeiten. Dennoch ist es AMD gelungen, eine mit nur zwölf Stufen sehr kurze Pipeline für den Bobcat zu bauen. Frühere x86-CPUs, allen voran Intels Pentium mit Prescott-Kern, waren echte Energieverschwender mit ihren auf sehr hohe Takte ausgelegten Pipelines mit bis zu 30 Stufen.

Zum Vergleich: Der In-Order-Prozessor Atom besitzt schon eine Pipeline mit 16 Stufen, ebenso die Out-of-Order Maschine Nehalem. Wenn sich die nun von AMD vorgelegten Daten alle so in der Praxis bestätigen, hat der Intel-Rivale tatsächlich einen sehr kompakten Out-of-Order-Prozessor gebaut, der dennoch sehr sparsam arbeiten kann. Wie bei Chipherstellern üblich, sind damit aber noch lange nicht alle interessanten Techniken erklärt: Zum verbauten Grafikkern und dessen Anbindung an die Prozessorkerne hat AMD noch nichts gesagt. Der sonst selten veröffentlichte "floor plan" des Cores selbst lässt auch keine Rückschlüsse darauf zu.

Vier x86-Decoder für Bulldozer

Weniger Neues als zu Bobcat boten die Hotchips-Vorträge zu Bulldozer, AMDs Hoffnungsträger für den Server- und Desktopmarkt. Immerhin ist nun klar, wie das "shared frontend" mit nur einem Block für Fetch und Decode zwei Kerne versorgen kann. Es gibt dafür einen zweistufigen Verzweigungspuffer (BTB), der noch vor dem Befehlscache sitzt. Erst danach kommen vier Befehlsdecoder zum Einsatz. Je einer steuert die Integer-Kerne an, die beiden anderen arbeiten auf zwei 128-Bit-Einheiten der FPU.

AMD hat also die Verzweigungsvorhersage, Fetch, und die Decodierung den Ausführungseinheiten vorgelagert. Diese Blöcke sind aber so breit ausgeführt, dass Integer- und FPU-Teil nicht "verhungern" sollten. Der gemeinsame Befehlscache für die beiden Kerne, die wie beschrieben ein "Modul" bilden, ist dafür mit 64 KByte auch recht groß. Er arbeitet wie bei Bobcat zweifach assoziativ - offenbar hat AMD hier ein besonders effizientes Zugriffsmuster gefunden.

Die Auslagerung von Fetch und Decode vor den Prozessor, der große, aber nicht breit zugreifende Cache - all das dient bei Bulldozer wie schon bei Bobcat der Energieeffizienz und einem kleinen Die. Damit will AMD im Verhältnis Rechenleistung zu Watt wieder konkurrenzfähig werden und seine Prozessoren weiterhin zu günstigen Preisen herstellen können.

Bei Bobcat soll man das noch 2010 mit der APU "Ontario" nachprüfen können, wenn AMD seine Roadmap einhält. Bei dem vermutlich zuerst als Opteron erscheinenden Bulldozer gibt es nur 2011 als Termin - genauer hat sich AMD noch nicht festgelegt.  (nie)


Verwandte Artikel:
Befehlssatzerweiterung: AMDs 3DNow wird zum Auslaufmodell   
(23.08.2010, https://glm.io/77409 )
Prozessoren: AMD hat erste Muster der Fusion-APUs   
(19.05.2010, https://glm.io/75227 )
Intels Core-i5-Nachfolger "Sandy Bridge" soll fertig sein   
(06.07.2009, https://glm.io/68184 )
Bobcat und Bulldozer: AMD nennt erste Details zu neuen Architekturen   
(24.08.2010, https://glm.io/77436 )
Chipfertigung: AMDs Fusion-CPUs angeblich auch von TSMC   
(14.05.2010, https://glm.io/75118 )

© 1997–2021 Golem.de, https://www.golem.de/