Caporegime
- Joined
- 18 Oct 2002
- Posts
- 33,188
Jesus some of the silly rubbish being talked about in this thread is just that rubbish.
WHat makes a core a core, and not hyperthreading.
Its quite simple, a core is something that can ALWAYS have a thread pushed through it, hyperthreading shares resources to occasionally allow another thread through the same core.
AMD OCTO core Bulldozers are just that they have 8 individual cores, with 8 individual scheduallers and there is NO situation one thread can't run on 8 individual interger cores. Its 8 threads, every clock, with no exceptions, a 4 core with hyperthreading cpu can always run 4 threads, it can sometimes run 5/6/7/8 threads, it can simply not always run 8 threads.
Flat out, its 8 cores, everything else is complete bull. Sharing FPU resources, no, its has 128bit fpu with each interger core, it can when it wants to dedicated the whole fpu resources to one interger core if it likes, who gives a damn.
Next generation of bulldozers will have 8 interger cores and some 408, or maybe 488 fpu modules that can be shared between the interger cores, because they'll have on die gpu's with many cores on, will those be called 416/494 core chips, no, because thats daft(assuming the gpu is either a 400 or 480 sp part, which I have no idea about to be honest).
This is the pretty simple premise, bits were shared to reduce die size, functionally 4 decoders split in pairs of two, in different area's of the core attached to one interger core each, or 4 decoders alongside each other, attached to two interger cores have the same functionality, but saves a lot of interconnects, transistors, die size, cost and thats it.
As for someone who writes multithreaded applications not caring about cores, again, more nonsense. In SOME situations a 4 core with hyperthreading that can take 8 threads will offer a 60-70% performance boost, in OTHER situations that same 8 threads might degrade performance(rare) or not offer any speed advantage(pretty common). An actual 8 core cpu will always, unconditionally offer more performance than 4 cores that can sometimes jam more instructions through, thats just life.
There are always situations and certain bits of software that need, heavy heavy switching, wide issue instructions, whatever, and theres cpu designs they will lend themselves to, but a fully functional core thats always available is in 99% of cases the better option than hyperthreading. Though hyperthreading can make up for some weak area's, like poor prediction and long pipelines, again 4 extra cores handling 4 extra threads will essentially give you the same boost.
Again I'll point out, Intel will do the same thing as they want to increase cores, Haswell might even switch to modules as at some stage Intel need to decrease the die size increase from added cores, Haswell is their first move for native octo cores into the mainstream performance area(late 2012, Ivy Bridge early 2012, Sandy bridge, screwed
, Sandy bridge EX end of 2011).
At some stage replicating every single transistor for every new core is simply woefully inefficient. Look at Nvidia/AMD gpu's, if they didn't sort SP's into banks, and clusters, and modules and, etc, etc then the die sizes would be well, literally impossible to make.
WHat makes a core a core, and not hyperthreading.
Its quite simple, a core is something that can ALWAYS have a thread pushed through it, hyperthreading shares resources to occasionally allow another thread through the same core.
AMD OCTO core Bulldozers are just that they have 8 individual cores, with 8 individual scheduallers and there is NO situation one thread can't run on 8 individual interger cores. Its 8 threads, every clock, with no exceptions, a 4 core with hyperthreading cpu can always run 4 threads, it can sometimes run 5/6/7/8 threads, it can simply not always run 8 threads.
Flat out, its 8 cores, everything else is complete bull. Sharing FPU resources, no, its has 128bit fpu with each interger core, it can when it wants to dedicated the whole fpu resources to one interger core if it likes, who gives a damn.
Next generation of bulldozers will have 8 interger cores and some 408, or maybe 488 fpu modules that can be shared between the interger cores, because they'll have on die gpu's with many cores on, will those be called 416/494 core chips, no, because thats daft(assuming the gpu is either a 400 or 480 sp part, which I have no idea about to be honest).
This is the pretty simple premise, bits were shared to reduce die size, functionally 4 decoders split in pairs of two, in different area's of the core attached to one interger core each, or 4 decoders alongside each other, attached to two interger cores have the same functionality, but saves a lot of interconnects, transistors, die size, cost and thats it.
As for someone who writes multithreaded applications not caring about cores, again, more nonsense. In SOME situations a 4 core with hyperthreading that can take 8 threads will offer a 60-70% performance boost, in OTHER situations that same 8 threads might degrade performance(rare) or not offer any speed advantage(pretty common). An actual 8 core cpu will always, unconditionally offer more performance than 4 cores that can sometimes jam more instructions through, thats just life.
There are always situations and certain bits of software that need, heavy heavy switching, wide issue instructions, whatever, and theres cpu designs they will lend themselves to, but a fully functional core thats always available is in 99% of cases the better option than hyperthreading. Though hyperthreading can make up for some weak area's, like poor prediction and long pipelines, again 4 extra cores handling 4 extra threads will essentially give you the same boost.
Again I'll point out, Intel will do the same thing as they want to increase cores, Haswell might even switch to modules as at some stage Intel need to decrease the die size increase from added cores, Haswell is their first move for native octo cores into the mainstream performance area(late 2012, Ivy Bridge early 2012, Sandy bridge, screwed

At some stage replicating every single transistor for every new core is simply woefully inefficient. Look at Nvidia/AMD gpu's, if they didn't sort SP's into banks, and clusters, and modules and, etc, etc then the die sizes would be well, literally impossible to make.