Dalla scheda tecnica del processore Intel Core, volume 1 , pagina 38:
Tecnologia Intel Hyper-Threading
[...] Questa funzione deve essere abilitata tramite il BIOS e richiede il supporto del sistema operativo.
Questo perché l'hyperthreading è l'hardware fisico effettivo sulla matrice della CPU e quindi può essere abilitato / disabilitato solo a livello hardware .
Se sai quale applicazione non funziona bene con l'hyperthreading, puoi utilizzare uno strumento come StartAffinity se hai XP.
Se usi Windows 7, c'è un start
comando integrato che può fare questo. Utilizzare il comando seguente per avviare un processo con una particolare affinità del processore (di nuovo, l' /AFFINITY
argomento è stato aggiunto solo in Windows 7):
start /AFFINITY <mask> "C:\yourprogram.exe"
Dove <mask>
dovrebbe essere sostituito con la maschera esadecimale per i processori che si desidera eseguire (la maschera del processore è solo una maschera binaria che abilita / disabilita tale affinità, quindi 00000101 abilita CPU0 e CPU2 e 00000010 abilita solo CPU1).
Per calcolare il valore esadecimale, puoi convertire la maschera binaria o prendere la somma di 2 alla potenza dei core su cui vuoi eseguire il programma (a partire da 0) e convertire quel valore in esadecimale.
Ad esempio, se ho un sistema a quattro core e voglio solo che il processo venga eseguito su CPU0 e CPU2, aggiungerei 2 0 + 2 2 = 1 + 4 = 5. Converti 5 in esadecimale, che è solo 5, e impostalo come tuo <mask>
. Puoi anche convertire 00000101 in esadecimale. Se non sai come convertire queste basi, puoi semplicemente usare questa tabella di conversione .