GaiaHunter
Diamond Member
- Jul 13, 2008
- 3,732
- 432
- 126
You gotta drop that "second thread is slower than first thread" theory. They are both equal.
No, It'll work exactly like that. Forget about single thread for now. Again, the sole purpose of multi-threading technologies is to increase utilization of the CPU. There are always "bubbles' in the pipeline, the part where some parts of the CPU are idle. The idle points can be used to do additional work, for example, when the pipeline stalls and the CPU is doing nothing, the 2nd thread can fetch another instruction for the functional units to work on.
But rather than share almost everything but the bare minimum as in Hyperthreading, the execution units are independent, the schedulers are independent. The resource contention that occur in Hyperthreading is the reason the performance increase is only 30%.
Look at the Power 5 multi-threading description: http://www.chip-architect.com/news/2003_08_22_hot_chips.html
In multi-threading, Bulldozer would act like 0.9 x 2. Hyperthreading is 0.65 x 2, a dual core is 1x2. In single thread, both CPUs become 1x again since it can use all the resouces available. No, its not clarified whether the two integer cores can combine in single thread, but it seems to be the point of Bulldozer. The unified fetch and decode, the L2 caches, its there to use both units in single thread.
It's said that 1.7x 12 Magny Cours cores equal 16 Bulldozer cores right? Go back at my SpecCPU2006 comparison. If a Bulldozer CPU with 1.33x the cores can perform 1.7x faster, assuming similar scaling, it'll perform 50% faster per clock in the single threaded SpecCPU2006 benchmark, because performance doesn't scale linearly with cores.
1x Nehalem die
1x Single threaded performance as Nehalem
1.4x Multi threaded performance(Owing entirely to the difference between CMT and SMT)
Good post.
I'm not sure they can use both integer cores in the same thread - that would be like the holy grail and fuck multi-thread performance in that case!
That seems to only be possible if software is especially coded for that, although maybe with BD that coding will be simpler.
