|"my I5 cpu is defnied as having 2 cores, and FOUR threads, in Win7.|
byt in XP, it is defined as 1 core and 1 thread. "
If you look at the chip specs it says 2 cores and 4 threads. Threads in this case refer to hyperthreading which is a subset of symmetric multiprocessing.
This is NOT what you see when you bring up task manage. You don't see any graphic showing of threads. You do see how many threads under "system" under the performance tab.
You are mixing concepts of hardware with software utilization.
I seem to recall XP HOME does not support multiprocessing. Sounds like this is your xp issue.
Setting a program affinity to a cpu has nothing to do with multithreaded programing.
In most situations, all setting affinity does is say "you single threaded program use this cpu"
After all if the program was multithreaded you would not need to set affinity except in the case of servers where you have many cpus and you want multithreaded programs like SQL Server to user processors 2-4 instead of 0-1 so sql processes don't compete with OS cpu processes.
All single threaded apps run on processor 0 by default.
There isnt' anything here for you to fix.