03.03.2013 Views

Intel® Architecture Instruction Set Extensions Programming Reference

Intel® Architecture Instruction Set Extensions Programming Reference

Intel® Architecture Instruction Set Extensions Programming Reference

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

INPUT EAX = 10: Returns Architectural Performance Monitoring Features<br />

APPLICATION PROGRAMMING MODEL<br />

When CPUID executes with EAX set to 10, the processor returns information about support for architectural performance<br />

monitoring capabilities. Architectural performance monitoring is supported if the version ID (see Table<br />

2-23) is greater than Pn 0. See Table 2-23.<br />

For each version of architectural performance monitoring capability, software must enumerate this leaf to discover<br />

the programming facilities and the architectural performance events available in the processor. The details are<br />

described in Chapter 17, “Debugging, Branch Profiles and Time-Stamp Counter,” in the <strong>Intel®</strong> 64 and IA-32 <strong>Architecture</strong>s<br />

Software Developer’s Manual, Volume 3A.<br />

INPUT EAX = 11: Returns Extended Topology Information<br />

When CPUID executes with EAX set to 11, the processor returns information about extended topology enumeration<br />

data. Software must detect the presence of CPUID leaf 0BH by verifying (a) the highest leaf index supported by<br />

CPUID is >= 0BH, and (b) CPUID.0BH:EBX[15:0] reports a non-zero value.<br />

INPUT EAX = 13: Returns Processor Extended States Enumeration Information<br />

When CPUID executes with EAX set to 13 and ECX = 0, the processor returns information about the bit-vector<br />

representation of all processor state extensions that are supported in the processor and storage size requirements<br />

of the XSAVE/XRSTOR area. See Table 2-23.<br />

When CPUID executes with EAX set to 13 and ECX = n (n > 1and less than the number of non-zero bits in<br />

CPUID.(EAX=0DH, ECX= 0H).EAX and CPUID.(EAX=0DH, ECX= 0H).EDX), the processor returns information<br />

about the size and offset of each processor extended state save area within the XSAVE/XRSTOR area. See Table<br />

2-23.<br />

METHODS FOR RETURNING BRANDING INFORMATION<br />

Use the following techniques to access branding information:<br />

1. Processor brand string method; this method also returns the processor’s maximum operating frequency<br />

2. Processor brand index; this method uses a software supplied brand string table.<br />

These two methods are discussed in the following sections. For methods that are available in early processors, see<br />

Section: “Identification of Earlier IA-32 Processors” in Chapter 14 of the <strong>Intel®</strong> 64 and IA-32 <strong>Architecture</strong>s Software<br />

Developer’s Manual, Volume 1.<br />

The Processor Brand String Method<br />

Figure 2-5 describes the algorithm used for detection of the brand string. Processor brand identification software<br />

should execute this algorithm on all Intel 64 and IA-32 processors.<br />

This method (introduced with Pentium 4 processors) returns an ASCII brand identification string and the maximum<br />

operating frequency of the processor to the EAX, EBX, ECX, and EDX registers.<br />

Ref. # 319433-014 2-45

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!