Bulldozer - wie werden 2 working Threads verteilt?

AMDs aktuelle CPUs können kein Powergating, Intel dagegen schon seit Bloomfield (2008). Erst der Bulldozer wird es können.
 
e-Laurin schrieb:
@bensen
Sowohl Intel als auch AMD verbauen Stromsparmechanismen in ihren CPUs, die ganze Teile eines Chips abschalten können. Sofern sie gerade nicht gebraucht werden.
Äh, ja. Die Frage ist ja was genau einzeln abgeschaltet werden kann. Können nur ganze Module schlafen gelegt werden oder einzelne Integerkerne, nur die FPU, Teile des L2 Cache.
 
Meines Wissens nach nur ganze Module.

Alles andere wäre wohl nicht besonders wirtschaftlich, denn Powergating-Transistoren sind glaube ich ziemlich groß
 
Das mit der FPU ist wohl wirklich Ansichtssache. Ich hatte die neue FPU von den Folien von AMD mal angesehen und etwas ein bisschen verglichen. Soweit ich erkennen konnte, ist die neue schneller als die alte (im 128-Bit-Modus), da sie bis zu zwei Instruktionen pro Gleitkommazahl ausführen kann (von der Situation abhängig). Die alte K10-Architektur und Intels aktuelle Architektur erlauben nur eine Instruktion pro Gleitkommazahl pro Takt.

Das macht summa summarum:
K10: parallel 1x 128 Bit FADD-Operation auf eine Gleitkommazahl & 1x 128 Bit FMUL-Operation auf eine Gleitkommazahl pro Taktzyklus
Sandy Bridge: 4x Gleitkommaberechnungen in einer 256 Bit FPU mit 128 Bit Pipeline (), mit FADD oder FMUL pro Taktzyklus
Bulldozer: parallel 4x FMAC (FMAC = 1x FMUL + 1x FADD) in einer 128 Bit FPU bzw. das doppelte bei 2x 128 Bit FPU pro Taktzyklus

Hier kann man erkennen, dass schon eine Bulldozer 128 Bit FPU der von Intel überlegen ist. Dadurch, dass der Bulldozer zwei Operationen pro Zahl ausführen kann, ist die FPU in manchen Fällen doppelt so schnell wie Intels FPU. Im schlechtesten Fall ist sie genau so schnell wie das Intel Pendant. Und dann kommt noch dazu, dass die FPU des Nachbarn auch noch zur Arbeit herangezogen werden kann, falls die gerade nix zu tun hat.

Das ist so leider nicht ganz korrekt: Ein Sandy Bridge Core kann in einem Clockcycle auf jeweils 256bit 1x FMUL und 1x FADD ausführen. Zwar braucht er für FMAC auf den selben 256bit 2 Cycles, aber auf einen Instructionstream gesehen ist es genauso effektiv wie ein Bulldozer Modul mit 1x FMAC auf den selben 256bit in 1 Cycle . Ingesamt wird ein Bulldozer Modul für AVX Code bei gleichen Takt nicht schneller sein als ein Sandy Bridge Core.
AVX2.jpg

Für eine 256bit FP Operation wird sowohl der 128bit FP als auch der 128bit Integer Pfad benutzt, was aber bei der Betrachtung der FP Performance keine Rolle spielt. Die daraus resultierende Einschränkung ist, dass im selben Cycle nicht eine 256bit FP und eine 128bit Integer SSE Operation ausgeführt werden können.
 
Zurück
Oben