Volume 1, Part 1: Execution Environment
1:35
CPUID register 4 provides general application-level information about processor
features. As shown in
, it is a set of flag bits used to indicate if a given
feature is supported in the processor model. When a bit is one the feature is supported;
when 0 the feature is not supported. The defined feature bits in the current architecture
are listed in
. As new features are added (or removed) from future processor
models the presence (or removal) of new features will be indicated by new feature bits.
CPUID register 4 is logically split into two halves, both of which contain general feature
and capability information but which have different usage models and access
capabilities; this information reflects the status of any enabled or disabled features.
Both the upper and lower halves of CPUID register 4 are accessible through the move
indirect register instruction; depending on the implementation, the latency for this
access can be long and this access method is not appropriate for low-latency code
versioning using self-selection. In addition, the upper half of CPUID register 4 is also
accessible using the test feature instruction; the latency for this access is comparable
to that of the test bit instruction and this access method enables low-latency code
versioning using self selection.
This register does not contain IA-32 instruction set features. IA-32 instruction set
features can be acquired by the IA-32 cpuid instruction.
Table 3-7.
CPUID Register 3 Fields
Field
Bits
Description
number
7:0
The index of the largest implemented CPUID register (one less than the number of
implemented CPUID registers). This value will be at least 4.
revision
15:8
Processor revision number. An 8-bit value that represents the revision or stepping
of this processor implementation within the processor model.
model
23:16
Processor model number. A unique 8-bit value representing the processor model
within the processor family.
family
31:24
Processor family number. A unique 8-bit value representing the processor family.
archrev
39:32
Architecture revision. An 8-bit value that represents the architecture revision
number that the processor implements.
rv
63:40
Reserved.
Figure 3-12. CPUID Register 4 – General Features/Capability Bits
63
34 33 32 31
4
3
2
1
0
rv
x2 cz
rv
ru ao sd lb
30
1
1
28
1
1
1
1
Table 3-8.
CPUID Register 4 Fields
Field
Bits
Description
lb
0
Processor implements the long branch (
brl
) instructions.
sd
1
Processor implements spontaneous deferral (see
Speculative Load Faults” on page 2:105
ao
2
Processor implements 16-byte atomic operations (see
“cmpxchg — Compare and Exchange”
instructions in
).
ru
3
Processor implements the Resource Utilization Counter (AR 45).
rv
31:4
Reserved.
cz
32
Processor implements the
clz
instruction in
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...