lopac.blogg.se

Intel processor identification utility
Intel processor identification utility










To determine the highest extended function calling parameter, call CPUID with EAX = 80000000h.ĬPUID leaves greater than 3 but less than 80000000 are accessible only when the model-specific registers have IA32_MISC_ENABLE.BOOT_NT4 = 0 (which is so by default). To obtain extended function information CPUID should be called with the most significant bit of EAX set. CPUID should be called with EAX = 0 first, as this will store in the EAX register the highest EAX calling parameter (leaf) that the CPU implements. In Intel's more recent terminology, this is called the CPUID leaf. In assembly language, the CPUID instruction takes no parameters as CPUID implicitly uses the EAX register to determine the main category of information returned. While the CPUID instruction is specific to the x86 architecture, other architectures (like ARM) often provide on-chip registers which can be read in prescribed ways to obtain the same sorts of information provided by the x86 CPUID instruction. Because the 68000 offered an unprivileged MOVE from SR the 2 different CPUs could be told apart by a CPU error condition being triggered. This notable instruction (and state machine) change allowed the 68010 to meet the Popek and Goldberg virtualization requirements. In the Motorola 68010 the instruction MOVE from SR became privileged. These could be used to tell various CPU family members apart. In the Motorola 680x0 family - that never had a CPUID instruction of any kind - certain specific instructions required elevated privileges. Outside the x86 family, developers are mostly still required to use esoteric processes (involving instruction timing or CPU fault triggers) to determine the variations in CPU design that are present.

intel processor identification utility

With the introduction of the 80386 processor, EDX on reset indicated the revision but this was only readable after reset and there was no standard way for applications to read the value.

#Intel processor identification utility code#

Prior to the general availability of the CPUID instruction, programmers would write esoteric machine code which exploited minor differences in CPU behavior in order to determine the processor make and model.

  • 3 CPUID usage from high-level languages.
  • 2.19 EAX=80000008h: Virtual and Physical address Sizes.
  • 2.18 EAX=80000007h: Advanced Power Management Information.
  • intel processor identification utility intel processor identification utility

  • 2.16 EAX=80000005h: L1 Cache and TLB Identifiers.
  • 2.14 EAX=80000001h: Extended Processor Info and Feature Bits.
  • 2.13 EAX=80000000h: Get Highest Extended Function Implemented.
  • 2.10 EAX=12h, ECX=0: SGX Leaf Functions.
  • 2.6 EAX=6: Thermal and power management.
  • 2.5 EAX=4 and EAX=Bh: Intel thread/core and cache topology.
  • 2.3 EAX=2: Cache and TLB Descriptor information.
  • 2.2 EAX=1: Processor Info and Feature Bits.
  • 2.1 EAX=0: Highest Function Parameter and Manufacturer ID.









  • Intel processor identification utility