Из таблицы технических характеристик Intel Core, том 1, стр. 38:
  Технология Intel Hyper-Threading
  
  [...]
  Эта функция должна быть включена с использованием BIOS и требует поддержки операционной системы.
Это происходит потому , что гиперпотоковой является актуальной физической аппаратной на кристалле процессора, и , таким образом , может быть включен / отключен только на аппаратном уровне.
Если вы знаете, какое приложение плохо работает с гиперпоточностью, вы можете использовать такой инструмент, как StartAffinity, если у вас есть XP.
Если вы используете Windows 7, есть встроенная команда start которая может сделать это.  Используйте следующую команду для запуска процесса с определенной привязкой к процессору (опять же, аргумент /AFFINITY был добавлен только в Windows 7):
start /AFFINITY <mask> "C:\yourprogram.exe" 
Где <mask> должна быть заменена шестнадцатеричной маской для процессоров, которые вы хотите запустить (маска процессора - это просто двоичная маска, включающая / отключающая эту привязку, поэтому 00000101 включает CPU0 и CPU2, а 00000010 включает только CPU1).
Чтобы вычислить шестнадцатеричное значение, вы можете либо преобразовать двоичную маску, либо взять сумму 2 в степень ядер, на которых вы хотите запустить программу (начиная с 0), и преобразовать это значение в шестнадцатеричное.
Например, если у меня есть четырехъядерная система, и я хочу, чтобы процесс выполнялся только на CPU0 и CPU2, я бы добавил 2 0 + 2 2 = 1 + 4 = 5.  Преобразуйте 5 в шестнадцатеричный код, что составляет всего 5, и установите его в качестве <mask> .  Вы также можете просто конвертировать 00000101 в гекс.  Если вы не знаете, как конвертировать эти базы, вы можете просто использовать эту таблицу преобразования .