Intel 64 and IA-32 Architectures Software Developer's Manual
Intel 64 and IA-32 Architectures Software Developer's Manual
Intel 64 and IA-32 Architectures Software Developer's Manual
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Documentation Changes<br />
.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Figure 18-11. Syntax for CPUID, CR, <strong>and</strong> MSR Data Presentation<br />
------------------------------------------------------------------<br />
From Chapter 7 of the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong>,<br />
Volume 3A), below is an example of a CPUID feature that requires two inputs. See the<br />
change bars <strong>and</strong> the footnote.<br />
-------------------------------------------------------------------<br />
7.7. Detecting Hardware Multi-Threading Support <strong>and</strong> Topology<br />
Use the CPUID instruction to detect the presence of hardware multi-threading support in<br />
a physical processor. The following can be interpreted:<br />
• Hardware Multi-Threading feature flag (CPUID.1:EDX[28] = 1) — Indicates<br />
when set that the physical package is capable of supporting Hyper-Threading<br />
Technology <strong>and</strong>/or multiple cores.<br />
• Logical processors per Package (CPUID.1:EBX[23:16]) — Indicates the<br />
maximum number of logical processors in a physical package. This represents the<br />
hardware capability as the processor has been manufactured. 1<br />
1. Operating system <strong>and</strong> BIOS may implement features that reduce the number of logical processors available<br />
in a platform to applications at runtime to less than the number of physical packages times the number of<br />
hardware-capable logical processors per package.<br />
12 <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong> Documentation Changes