Насколько я знаю, это зависит от того, как процессор выставляет свои ядра. Когда HT включен, нет физических физических процессоров, а два логических процессора на физический процессор, поэтому нет никакой разницы, если вы запускаете поток на любом логическом процессоре. Единственное, что имеет значение, это то, какие пары логических процессоров принадлежат каждому физическому процессору.
С одноядерными процессорами (такими как Pentium 4 с HT) это довольно просто, поскольку у вас есть только одна пара - так что (0, 1) В четырехъядерных процессорах (например, Nehalem) парами логических ядер являются (0,4), (1,5), (2,6) и (3,7). Образец, в котором все первые половинки каждой пары затем имеют все вторые половинки, масштабируется с будущими процессорами, которые имеют еще больше ядер.
Реальный вопрос в том, зачем вам знать парное расположение? Пусть планировщик ОС выберет правильные ядра для нужных потоков - он делает довольно приличную работу.