Exemplo de CPUID: Determina os recursos de CPU
O exemplo CPUID fornece uma rotina que usa a instrução CPUID para determinar os recursos da CPU que está sendo executado.
O exemplo fornece a função int _cpuid(_p_info *pinfo), que retorna dados sobre a CPU. O int retornar o valor é uma bitmask dos sinalizadores para recursos do processador principal. Os bits que podem ser definidos são:
#define _CPU_FEATURE_MMX 0x0001
#define _CPU_FEATURE_SSE 0x0002
#define _CPU_FEATURE_SSE2 0x0004
#define _CPU_FEATURE_3DNOW 0x0008
Observação sobre segurança |
---|
Este código de exemplo destina-se a ilustrar um conceito e mostra somente o código que é relevante para esse conceito. Ele pode não atender aos requisitos de segurança de um ambiente específico e não deve ser usado exatamente como mostrado. Recomendamos que você adicione código de segurança e tratamento de erros para tornar seus projetos tão seguros e robustos quanto for conveniente. A Microsoft fornece este código de exemplo "COMO ESTÁ" e sem garantias. |
Para obter exemplos e instruções para instalá-los:
Para acessar exemplos do Visual Studio
No menu Ajuda, clique em Exemplos.
Por padrão, esses exemplos são instalados em unidade:\Arquivos de Programas\Microsoft Visual Studio 10.0\Samples\.
- Para a versão mais recente do que esse exemplo e uma lista de outros exemplos, consulte Amostras de Visual Studio no site do MSDN.
Criar e executar a amostra.
Para criar e executar esse exemplo.
Abra a solução cpuid.sln.
Do Build menu, clique em Build.
From the Debug menu, select Start Without Debugging.
Exemplo de saída de programa
O exemplo inclui um arquivo de test.cpp que pudesse chama _cpuid e os valores em resultante de saídas _p_info struct. Por exemplo, em um computador Pentium III que suporta MMX e SSE, a saída do programa teria esta aparência:
C:\work\cpuid>test
v_name: GenuineIntel
model: INTEL Pentium-III
family: 6
model: 8
stepping: 3
feature: 00000003
yes _CPU_FEATURE_MMX
yes _CPU_FEATURE_SSE
no _CPU_FEATURE_SSE2
no _CPU_FEATURE_3DNOW
os_support: 00000003
yes _CPU_FEATURE_MMX
yes _CPU_FEATURE_SSE
no _CPU_FEATURE_SSE2
no _CPU_FEATURE_3DNOW
checks: 0000000f