
2:158
Volume 2, Part 1: Debugging and Performance Monitoring
Event collection is controlled by the Performance Monitor Configuration (PMC) registers
and the processor status register (PSR). Four PSR fields (PSR.up, PSR.pp, PSR.cpl and
PSR.sp) and the performance monitor freeze bit (PMC[0].fr) affect the behavior of all
generic performance monitor registers. Finer, per monitor, control of generic
performance monitors is provided by two PMC register fields (PMC[i].plm, PMC[i].pm).
Event collection for a generic monitor is enabled under the following constraints:
• Generic Monitor Enable[i] =(not PMC[0].fr) and PMC[i].plm[PSR.cpl] and
((not (PMC[i].pm) and PSR.up) or (PMC[i].pm and PSR.pp))
Generic performance monitor data registers (PMD[i]) can be configured to be user
readable (useful for user level sampling and tracing user level processes) by setting the
PMC[i].pm bit to 0. All user-configured monitors can be started and stopped
synchronously by the user mask instructions (
rum
and
sum
) by altering PSR.up.
User-configured monitors can be secured by setting PSR.sp to 1. A user-configured
secured monitor continues to collect performance values; however, reads of PMD, by
non-privileged code, return zeros until the monitor is unsecured.
Monitors configured as privileged (PMC[i].pm is 1) are accessible only at privilege level
0; otherwise, reads return zeros. All privileged monitors can be started and stopped
synchronously by the system mask instructions (
rsm
and
ssm
) by altering PSR.pp.
summarizes the effects of PSR.sp, PMC[i].pm, and PSR.cpl on reading PMD
registers.
Updates to generic PMC registers and PSR bits (up, pp, is, sp, cpl) require implicit or
explicit data serialization prior to accessing an affected PMD register. The data
serialization ensures that all prior PMD reads and writes as well as all prior PMC writes
have completed.
pm
6
Privileged monitor – When 0, the performance monitor is configured as a user monitor,
and enabled by PSR.up. When PMC.pm is 1, the performance monitor is configured as
a privileged monitor, enabled by PSR.pp, and the corresponding PMD can only be read
by privileged software.
ig
7
ignored
es
15:8
Event select – selects the performance event to be monitored. Actual event encodings
are implementation dependent. Some processor models may not implement all event
select (es) bits. At least one bit of es must be implemented on all processors.
Unimplemented es bits are ignored.
implem.
specific
63:16
Implementation-specific bits – Reads from implemented bits return
implementation-dependent values. For portability, software should write what was read;
i.e., software may not use these bits as storage. Hardware will ignore writes to
unimplemented bits.
Table 7-5.
Reading Performance Monitor Data Registers
PSR.sp
PMC[i].pm
PSR.cpl
PMD Reads Return
0
0
0
PMD value
0
1
0
PMD value
1
0
0
PMD value
1
1
0
PMD value
0
0
>0
PMD value
Table 7-4.
Generic Performance Counter Configuration Register Fields
(PMC[4]..PMC[p]) (Continued)
Field
Bits
Description
Содержание ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Страница 1: ......
Страница 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 12: ...1 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I Application Architecture Guide ...
Страница 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Страница 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Страница 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Страница 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Страница 230: ......
Страница 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 249: ...2 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I System Architecture Guide ...
Страница 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Страница 380: ...2 132 Volume 2 Part 1 Interruptions ...
Страница 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Страница 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Страница 749: ...2 501 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part II System Programmer s Guide ...
Страница 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Страница 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Страница 808: ...2 560 Volume 2 Part 2 Context Management ...
Страница 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Страница 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Страница 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Страница 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Страница 891: ......
Страница 941: ...3 42 Volume 3 Instruction Reference cmp illegal_operation_fault PR p1 0 PR p2 0 Interruptions Illegal Operation fault ...
Страница 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Страница 1191: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Страница 1296: ......
Страница 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 1564: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1565: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1568: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1583: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 1663: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 1668: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...