PowerPC e500 Core Family Reference Manual, Rev. 1
2-56 Freescale Semiconductor
Register Model
2.15.4 User Local Control A Registers (UPMLCa0–UPMLCa3)
The contents of PMLCa0–PMLCa3 are reflected to UPMLCa0–UPMLCa3, which are read by
user-level software with mfpmr using PMR numbers in Table 2-37.
2.15.5 Local Control B Registers (PMLCb0–PMLCb3)
Local control B registers (PMLCb0–PMLCb3), shown in Figure 2-41, specify a threshold value
and a multiple to apply to a threshold event selected for the corresponding performance monitor
counter. For the e500, thresholding is supported only for PMC0 and PMC1. PMLCb works with
the corresponding PMLCa.
Table 2-40 describes the PMLCb fields.
PMLCb0 (PMR272)
PMLCb1 (PMR273)
PMLCb2 (PMR274)
PMLCb3 (PMR275)
UPMLCb0 (PMR256)
UPMLCb1 (PMR257)
UPMLCb2 (PMR258)
UPMLCb3 (PMR259)
Access: PMLCb0–PMLCb3: Supervisor-only
UPMLCb0–UPMLCb3: Supervisor/user read-only
32 51 52 53 55 56 57 58 63
R
— THRESHMUL — THRESHOLD
W
Reset All zeros
Figure 2-41. Local Control B Registers (PMLCb0–PMLCb3)/
User Local Control B Registers (UPMLCb0–UPMLCb3)
Table 2-40. PMLCb0–PMLCb3 Field Descriptions
Bits Name Description
32–52 — Reserved, should be cleared.
53–55 THRESHMUL Threshold multiple
000 Threshold field is multiplied by 1 (PMLCb
n
[THRESHOLD] × 1)
001 Threshold field is multiplied by 2 (PMLCb
n
[THRESHOLD] × 2)
010 Threshold field is multiplied by 4 (PMLCb
n
[THRESHOLD] × 4)
011 Threshold field is multiplied by 8 (PMLCb
n
[THRESHOLD] × 8)
100 Threshold field is multiplied by 16 (PMLCb
n
[THRESHOLD] × 16)
101 Threshold field is multiplied by 32 (PMLCb
n
[THRESHOLD] × 32)
110 Threshold field is multiplied by 64 (PMLCb
n
[THRESHOLD] × 64)
111 Threshold field is multiplied by 128 (PMLCb
n
[THRESHOLD] × 128)
56–57 — Reserved, should be cleared.
58–63 THRESHOLD Threshold. Only events that exceed this value are counted. Events to which a threshold value applies
are implementation-dependent as are the dimension (for example duration in cycles) and the granularity
with which the threshold value is interpreted.
By varying the threshold value, software can profile event characteristics. For example, if PMC1 is
configured to count cache misses that last longer than the threshold value, software can obtain the
distribution of cache miss durations for a given program by monitoring the program repeatedly using a
different threshold value each time.