John said:
Which more causes the efficient use of a multiple core CPU, the
operating system or the motherboard? In other words... Does
Windows 8 put a multiple core CPU to work much better than Windows
XP? I would ask whether upgrading the motherboard helps, but Intel
has prevented that from being a possibility, by changing its
sockets.
Both WinXP and Windows 8, use a scheduler to decide when a
task gets a time slice. WinXP is already sophisticated enough
to get good performance from quad core processors.
WinXP probably doesn't care that much about cache state. Your
Q9550 consists of two silicon die, with a shared FSB joining
them together and to the chipset.
dual core dual core
| |
+------+-----+ <--- FSB inside LGA775 MCM
|
|
Video --- Northbridge --- Memory
|
Southbridge
Say we number the core from left to right 1,2 and 3,4.
If the scheduler is currently running a task on "1", WinXP
has no qualms about bouncing the task to "4". This causes
a cache flush on the left-most silicon die, and so there
is a tiny cost associated with migration.
Later OSes, the idea is, they assign a "weight" to migration.
If "2" isn't busy, an OS after WinXP knows it can
"bounce for free" from 1 to 2. Now, if "2" is loaded to 100%
right now, then bouncing to "2" would be stupid. Maybe "3"
has less of a load. So at some point, there is a tradeoff
between the tiny cost of a cache flush, versus a non-optimal
task placement.
I suspect that's all that would be relevant from an OS
later than WinXP.
And while it's fun to pretend this stuff matters,
I don't think it does for the most part. If one OS
was 5% faster, would you notice ? Maybe if you
were doing video rendering all day long. But if
doing email, playing Solitaire, surfing the web,
it probably is an undetectable difference. You'd
need to use a stopwatch, to see a difference.
Paul