The Pentium® was the first IA32 processor to implement logic to log performance measurement information. All subsequent IA32 processors implement Performance Monitoring logic (but the Pentium®, P6 and Pentium® 4 implementations are not compatible with each other).
The Pentium®'s Performance Monitoring logic consisted of the following (see Figure 21-12 on page 506):
Two 40-bit performance counters implemented as MSRs (PerfCtr0 and PerfCtr1).
The 32-bit CESR (Counter Event Select Register) implemented as an MSR. This register was divided into two sets of bit fields (one set for each of the two counters):
- The 6-bit CESR[ES] (Event Select) field selected the event type to be measured. The event types are defined in Appendix B of the IA32 Intel® Architecture Software Developer's Manual Volume 3: System Programming Guide.
- The 3-bit CESR[CC] (Counter Control) field:
- CESR[PC] (Pin Control) bit:
- 1 = The processor asserted the PM output pin associated with the respective counter when that counter overflowed.
- 0 = The processor asserted the PM output pin associated with the respective counter each time that the counter was incremented.
52.15.135.63