Hyper-Threaded Cores (Win7)

Edrick

Golden Member
Feb 18, 2010
1,939
230
106
I have had this question floating around my mind for some time now. I have searched for answers on this, but nothing I found has directly answered this question. If this has laready been discussed here, please forgive me for asking again.

I have read about how HT can actually give a performance decrease on some games and how a lot of gamers/OCers will buy CPUs without HT or just turn it off. That is one of the reasons I decided on the i5 750 instead of the i7 860. Since I have no use for 8 threads at the moment, so it was the logical choice.

Thinking ahead to Jan 9th (yes I am going to order SB the first day it is available), I want to ask this question so I can make the most educated choice I can for my next purchase (and all future purchases).

If a user has a CPU with 4 physical cores with HT on (8 logical cores seen by the OS), how does the workload get assigned to the cores and in which order? Does Windows 7 handle this? Or does some logic inside the CPU/chipset handle this? And does HT only kick in once all 4 physical cores are used first? Or is there a chance a 2-thread application will use 1 physical core and 1 HT core instead of 2 physical cores?

*Edit*
I read the other HT thread on these forums from a few weeks ago. It was a great discussion on HT performance (logical vs physical cores), how logical cores are assigned, performance percentages, etc. But most of the conversation assumed that 4-8 threads were being run at one time. I want to know how running 2-3 threads would be handled on a 4 core CPU without HT vs a 4 core CPU with HT.
 
Last edited:

iCyborg

Golden Member
Aug 8, 2008
1,355
63
91
> If a user has a CPU with 4 physical cores with HT on (8 logical cores seen by the OS), how does the workload get assigned to the cores and in which order?
Idle physical core will be preferred to an idle logical core on HT aware OS-es. For Win, that's XP or newer.

> Does Windows 7 handle this? Or does some logic inside the CPU/chipset handle this?
Thread scheduling is OS thing.

> And does HT only kick in once all 4 physical cores are used first?
Correct, under normal circumstances, see below.

> Or is there a chance a 2-thread application will use 1 physical core and 1 HT core instead of 2 physical cores?
Normally no, but apps as well as users running apps can assign affinities and force the app to run on specific cores. Thread scheduler will honor such a request even if it decreases performance. One of the reasons why devs/users should leave such stuff to OS, it can generally make better decisions...