Desative o Hyperthreading no registro do Windows 7

17

Alguns bios não tem a opção de desabilitar o Hyperthreading da CPU, existe uma maneira de desativá-lo no Registro do Windows 7? Ou uma ferramenta ou software?

Eu sei sobre a aba de inicialização do msconfig (opções avançadas) e desativar processadores lá, não tenho certeza se ele desativa núcleos completos ou hyperthreads, ou como saber.

32 bits ou 64 bits do Windows 7

EDITAR:

Vamos supor que é um dual core ou mais com hyperthreading.

No Gerenciador de dispositivos, ele mostra 4 processadores no meu processador Intel i5 e você também não pode desativá-los.

    
por Moab 04.07.2011 / 02:04

3 respostas

3

Na Folha de dados do processador Intel Core, volume 1 , página 38:

Intel Hyper-Threading Technology

[...] This feature must be enabled using the BIOS and requires operating system support.

Isso ocorre porque o hyperthreading é um hardware físico real na matriz da CPU e, portanto, pode ser ativado / desativado em um nível de hardware somente .

Se você souber qual aplicativo não funciona bem com hyperthreading, você pode usar uma ferramenta como StartAffinity se tiver XP.

Se você usa o Windows 7, existe um comando start integrado que pode fazer isso. Use o seguinte comando para iniciar um processo com uma afinidade de processador específica (novamente, o argumento /AFFINITY foi adicionado somente no Windows 7):

start /AFFINITY <mask> "C:\yourprogram.exe" 

Onde <mask> deve ser substituído pela máscara hexadecimal dos processadores que você deseja executar (a máscara do processador é apenas uma máscara binária que habilita / desabilita essa afinidade, portanto 00000101 habilita CPU0 e CPU2 e 00000010 habilita apenas CPU1).

Para calcular o valor hexadecimal, você pode converter a máscara binária, ou para somar 2 à potência dos núcleos nos quais deseja executar o programa (começando em 0), e converta esse valor em hexadecimal.

Por exemplo, se eu tiver um sistema de quatro núcleos e quiser que o processo seja executado apenas na CPU0 e na CPU2, adicionarei 2 0 + 2 2 = 1 + 4 = 5. Converta 5 em hexadecimal, que é apenas 5, e defina como <mask> . Você também pode converter 00000101 para hexadecimal também. Se você não sabe como converter essas bases, basta usar esta tabela de conversão .

    
por 04.08.2011 / 02:53
2

Desativar o Hyper-threading é um assunto somente da BIOS.

Eu estou supondo que você gostaria de desativar o Hyper-Threading porque você tem um aplicativo que não é otimizado para esse recurso e pode ter desempenho reduzido?

Ao olhar para a numeração da CPU, os núcleos físicos são ímpares - portanto, em um sistema HT de núcleo duplo, os núcleos 1 e 3 seriam os CPU "reais". Se você selecionar 2 núcleos no msconfig, as CPUs 1 e 2 serão habilitadas para que você tenha uma CPU Física e Lógica (HT) ativa - isso não beneficiaria se você está tendo problemas com softwares que possuem problemas com HT.

    
por 04.07.2011 / 03:37
0

No Windows, a maneira mais fácil é alterar a afinidade do explorer.exe, pois cada processo iniciado herdará a máscara de afinidade. Ainda está longe de ser perfeito, mas pelo menos você faz isso apenas uma vez por sessão.

    
por 01.05.2014 / 19:09