CPUID: Difference between revisions
| Line 63: | Line 63: | ||
[dumbledore](0) $ </pre> | [dumbledore](0) $ </pre> | ||
==CPUID and [[SMP on x86|multiple threads]]== | ==CPUID and [[SMP on x86|multiple threads]]== | ||
* The package must support SMT. Check via bit 28 (0x1c00) of the EDX register after CPUID function 0x00000001 | * The package must support SMT. Check via bit 28 (0x1c00) of the EDX register after CPUID function 0x00000001. | ||
* The processor must support SMT. Check via bits 23:16 of the EBX register after CPUID function 0x00000001. They must be > 1. | * The processor must support SMT. Check via bits 23:16 of the EBX register after CPUID function 0x00000001. They must be > 1. | ||
* Number of threads sharing a given cache can be determined via CPUID function 0x00000004, checking EAX bits 25:14 for each cache. | * Number of threads sharing a given cache can be determined via CPUID function 0x00000004, checking EAX bits 25:14 for each cache. | ||