View Single Post
Old 07-12-2006, 03:51 PM   #8 (permalink)
AssKoala
Anti-Zealot
 
AssKoala's Avatar
 
Join Date: Feb 2006
Location: Atlanta, GA
Posts: 72
AssKoala is on a distinguished road
Send a message via AIM to AssKoala Send a message via MSN to AssKoala Send a message via Yahoo to AssKoala
Pentium D's are truly two separate processors. However, Microsoft licenses Windows XP and greater on a "per-socket" level. That means if I have a 64 processor system but its all on one socket (e.g. multi-core), then Windows XP Home's licensing will support it just fine (the 32-bit kernel used by XP is limited to 32 processors, though, but that's a different story).

So, Windows XP Pro supports two processors, but I can have a dual dual core Opteron box running Windows XP Pro without problems.

There is no registry hack to allow more processors than the OS is licensed for. It's a kernel level hard setting.

As far as how XP Home/Pro manages processors, it treats dual core processors the same as Hyperthreaded processors. It keeps multithreaded processes on the same "node" (e.g. socket) and balances processes between physical processes (e.g. between nodes).

In other words, if you have 4 cores on two processors and are running 2 programs 1 program will go on physical processor 0 the other on physical processor 1. The way Intel maps the physical processors is the same as in HT, afaik. For example, processor 0 has two cores, processor 1 has two cores. Windows CPU0 is processor 0 core 0, CPU1 is processor 1 core 0, CPU2 is processor 0 core 1, CPU2 is processor 1 core 1. They do that to ensure both sockets are being used on a Windows 2000 system that doesn't support the scheduling the way Windows XP does.

Hope that helps
__________________
If you always think like an expert, you'll always be a beginner. | "A handful of knowledgeable people is more effective than an army of fools" -Writing Secure Code, 2nd Ed.
AssKoala is offline   Reply With Quote