CPU ID

CPUID instruction was introduced by Intel in Pentium processor. Since then it became the official method of identification for Pentium class and newer chips. It is also supported by newer 486-class chips made by Intel, AMD, UMC and Cyrix, and newer NexGen CPUs. Some CPUs may require CPUID to be enabled. In addition it is best to use the CPUID command on a plain system because some chips have a programmable CPUID register.

Set EAX EAX EBX ECX EDX
= 0 EFlags register vendor string
= 1 CPU - Type Family Model undefined undefined CPU Features
= 2 Cache Configuration Descriptors
= 3 Processor serial number


vendor string
AuthenticAMD AMD
AMD IS BETTER AMD engineering
DEI AMD
NexGenerationAMD AMD K6
CyrixInstead Cyrix / IBM
Geode by NSC National Semiconductor
NexGenDriven NexGen
GenuineIntel intel
CentaurHauls IDT / Centaur
RiseRiseRise Rise Technology
SiS SiS SiS SiS
GenuineTMx86 Transmeta
UMC UMC UMC UMC

CPU type
11 reserved
10 secondary CPU
01 overdrive CPU
00 primary CPU

CPU family
4 80486 and compatible
AMD 5x86
Cyrix 5x86
5 intel Pentium
Transmeta Crusoe TM3x00 / TM5x00
NexGen Nx586
NatSemi Geode
Cyrix M1, MediaGX
AMD K5, K6
IDT C6, WinChip2, WinChip3
SiS 55x
Rise mP6
6 intel Pentium Pro, Pentium II/III/M, Celeron
AMD K7 Athlon, Duron
Cyrix M2, IBM MII
VIA C3
7 intel Itanium, Itanium II
15 intel Pentium 4
AMD Opteron / Athlon64

CPUID on mainframe processors

Every IBM or Plug Compatible Mainframe processor (Hitachi, Amdahl, etc ....) has a fixed format unique CPUID assigned to it during manufacture. The CPUID of all installed processors can be easily obtained by entering the MVS command
D M=CPU
at a console attached to the MVS system where XPFC is to run. It has the following format:
ABCDEFGHJK

A - CPU number
B - Partition ID
CDEF - Serial number (CPUID)
GHJK - Processor model

3080 IBM
3083 IBM
3090 IBM
9021 IBM
5890 Amdahl
5995 Amdahl