6 votes

Comment puis-je déterminer par programme le type de mon processeur ?

Comment puis-je déterminer par programme si ma machine est un x86, x64 ou un IA64 ?

6voto

Joe Doyle Points 4298

Sur les systèmes Windows, vous pouvez obtenir la variable d'environnement PROCESSOR_ARCHITECTURE. Voici un article de MSDN qui explique les valeurs qui peuvent être renvoyées.

PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_ARCHITECTURE=IA64
PROCESSOR_ARCHITECTURE=x86

1voto

Helen Points 13822

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, en utilisant 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

0voto

GEOCHET Points 13787

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);
    }
  }

0voto

Cat /proc/cpuinfo

0voto

mbac32768 Points 3830

Ce qui est généralement plus important que le processeur sous-jacent, c'est le mode d'exécution du système d'exploitation, en PLUS du processeur installé sur l'hôte.

Examinez la sortie de "uname -p" (ou uname(2))

Intel a adopté les extensions d'AMD pour les instructions 64 bits. Une valeur de "x86_64" signifie que vous utilisez un processeur Intel ou AMD 64 bits, sinon vous utilisez l'ISA x86 ordinaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X