This is a debatable question, though Intel is on brighter side.
Read this whole thread for your anwser!
@Cilus: I didnt mean HT per se. I meant that it wont arrange the threads properly.
because in windows 7 the result is similar. If you have a Ci7 HT enabled, it will not put two threads per core, but use HT as the last resort for active threads. Same case here- it will send the threads through different modules instead of keeping the threads of one app together.
Windows 7 doesnt recognize 1 module as two fully operational cores.
The story changes in windows 8.
Windows 7 sees 8 logical cores, not physical cores.
Since it does not have the info on how to handle a BD module, it tries to operate it like a hyperthreaded core, by placing only 1 thread per module and if the situation of more threads arises, instead of putting two threads per module it will put one and then as all the modules have 1 thread each, it will assign another thread to one module.
So if one app needs more than one thread, and all the modules already have 1 thread each, the threads will be spread across different modules, which results in poor resource management.
Windows 7 sees 8 logical cores, not physical cores.
Since it does not have the info on how to handle a BD module, it tries to operate it like a hyperthreaded core, by placing only 1 thread per module and if the situation of more threads arises, instead of putting two threads per module it will put one and then as all the modules have 1 thread each, it will assign another thread to one module.
So if one app needs more than one thread, and all the modules already have 1 thread each, the threads will be spread across different modules, which results in poor resource management.
Read HERE and HEREAMD also shared with us that Windows 7 isn't really all that optimized for Bulldozer. Given AMD's unique multi-core module architecture, the OS scheduler needs to know when to place threads on a single module (with shared caches) vs. on separate modules with dedicated caches
Windows 7 sees all the Bulldozer cores as separate Physical cores
Windows 7 is not even aware that there is something like module in Bulldozer CPU.
@Vickybat: A thread is a sequence if instructions in a program/sub-system that may/may not run in parallel to another thread.
Ever heard of multithreading?
@Cilus:
then according to you Windows 7 also sees a core i7 having 8/12 physical cores.
You're welcome
Bought a Corsair GS600 @ 4.1k From MD Computers on first day of this month
then according to you Windows 7 also sees a core i7 having 8/12 physical cores.
I totally abhor definitions, and always try to understand the fundamental concepts. Without knowing about my daily life, I do not think that you should assume that I learn terms/ definitions.@ extremegamer
I suggest what cilus said and start reading a bit on these to gain some valuable knowledge. Posting irrelevant and misleading info is termed as spamming and nothing more.
Its bad for all people getting involved with the material and in the reference of this forum, materials are nothing but posts.
You need to go deep into understanding and not just learn some terms and their definitions. Also go through the links which other forum members provide before starting baseless arguments. Its bad for the entire community (tdf universe).
But unlike the Core i series arch where the L3 cache is shared by all cores, in BD each module has its own Cache.
I totally abhor definitions, and always try to understand the fundamental concepts. Without knowing about my daily life, I do not think that you should assume that I learn terms/ definitions.
Obviously bulldozer arch is not HT and the steps involved in thread assignment vary. But unlike the Core i series arch where the L3 cache is shared by all cores, in BD each module has its own Cache. Windows 7 will not see a module yet, but it does see that two cores have shared cache. So, while assigning threads to idle cores, it spreads the threads across different modules [obviously] unwittingly, where the END RESULT, I repeat, END RESULT of thread assignment is the same as an HT core i series processor i.e. threads are assigned to alternate cores and not adjacent ones.
This is what I have been trying to say all along.
From your own comment-" But unlike the Core i series arch where the L3 cache is shared by all cores, in BD each module has its own Cache."
what the heck does this line mean?
But thread assignment is not done by checking the cache type in use, not even in the HT processors...there is no such thing that if multiple core shares a single Cache, they will be treated as HT cores. Cache management logic is present inside the CPU die and it cannot be directly controlled by OS. Every current gen processor has dedicated cache as well as Shared cache and they are internally handled by hardware logic prsent inside the CPU, not by OS. Cache management inside CPU is a Blackbox view to the OS.
So how the heck its related to hyperthreading or multithreading at all??