Comment puis-je déterminer par programme mon type de processeur?
Question
Comment déterminer par programme si ma machine est un x86, un x64 ou un IA64?
La solution
Sur les systèmes Windows, vous pouvez obtenir la variable d’environnement PROCESSOR_ARCHITECTURE. Voici un article MSDN expliquant les valeurs pouvant être renvoyées.
PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_ARCHITECTURE=IA64 PROCESSOR_ARCHITECTURE=x86
Autres conseils
VBScript, vérifiant la variable d'environnement PROCESSOR_ARCHITECTURE:
Set oShell = CreateObject("WScript.Shell")
Set oEnv = oShell.Environment("System")
Select Case LCase(oEnv("PROCESSOR_ARCHITECTURE"))
Case "x86"
' x86
Case "amd64"
' amd64
Case "ia64"
' ia64
Case Else
' other
End Select
VBScript, à l'aide de WMI:
Const PROCESSOR_ARCHITECTURE_X86 = 0
Const PROCESSOR_ARCHITECTURE_IA64 = 6
Const PROCESSOR_ARCHITECTURE_X64 = 9
strComputer = "."
Set oWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessors = oWMIService.ExecQuery("SELECT * FROM Win32_Processor")
For Each oProcessor In colProcessors
Select Case oProcessor.Architecture
Case PROCESSOR_ARCHITECTURE_X86
' x86
Case PROCESSOR_ARCHITECTURE_X64
' x64
Case PROCESSOR_ARCHITECTURE_IA64
' ia64
Case Else
' other
End Select
Next
En C #:
using System;
using Microsoft.Win32;
class Class1
{
static void Main(string[] args)
{
RegistryKey RegKey = Registry.LocalMachine;
RegKey = RegKey.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
Object cpuSpeed = RegKey.GetValue("~MHz");
Object cpuType = RegKey.GetValue("VendorIdentifier");
Console.WriteLine("You have a {0} running at {1} MHz.",cpuType,cpuSpeed);
}
}
cat / proc / cpuinfo
Ce qui est généralement plus important que le processeur sous-jacent est le mode dans lequel le système d'exploitation est exécuté, en plus du processeur installé sur l'hôte.
Examinez les résultats de " uname -p " (ou uname (2))
Intel a adopté les extensions d'AMD pour les instructions 64 bits, donc une valeur de "x86_64". signifie que vous utilisez un processeur Intel ou AMD 64 bits, sinon vous utilisez l’ISA x86 standard.
cpu-z est le programme que vous voulez, il vous dira quel processeur vous avez et quelles extensions il supporte
En Java, vous n’auriez pas besoin de savoir. ;)