beautypg.com

1 general precautions, 2 aggregate mode programming guidelines, 1 aggregate mode precautions – Compaq 21264 User Manual

Page 202: General precautions –18, Aggregate mode programming guidelines, Aggregate mode precautions, Iprs used for performance counter support, Ee section 6.10.2 fo

background image

6–18

Privileged Architecture Library Code

Alpha 21264/EV67 Hardware Reference Manual

Performance Counter Support

ProfileMe mode, supports a new way of statistically sampling individual instructions
during program execution. This mode counts events triggered by a targeted inflight
instruction.

Counter support uses the hardware registers listed in Table 6–9.

6.10.1 General Precautions

Initialize both counters, (PCTR_CTL[PCTR0 and PCTR1]), to zero in reset PALcode
to avoid spurious interrupts when exiting initial PALcode. Counters must be written
twice during initialization to ensure that the overflow latch has been cleared (see the
PALcode restrictions in Sections D.28 and D.34).

The counters should never be left within one cycle of overflow when disabled because
that can cause some interrupts to be blocked in anticipation of an overflow interrupt
(see PALcode restriction 32).

If a counter is at the overflow threshold and a value is written to that counter, the
counter signals an overflow interrupt upon leaving PALmode, even if that counter is
disabled. To avoid that interrupt, the PALcode should clear the interrupt by writing to
HW_INT_CLR.

Interrupts are disabled in PALmode.

As a quirk of the implementation, while counting is disabled, a read of PCTR_CTL can
yield value+some increment, where value is the actual value in PCTR_CTL, and incre-
ment for PCTR0 is in the range 0..4 (retired instructions in that cycle), and increment
for PCTR1 is dependent on SL1.

6.10.2 Aggregate Mode Programming Guidelines

Use the following information to program counters in Aggregate mode.

6.10.2.1 Aggregate Mode Precautions

Counters continue to count after overflow.

Only the counters return useful data. See Table 6–11 for counting modes.

Counters can be read by a PALcode instruction at any time to get the aggregate count.

Table 6–9 IPRs Used for Performance Counter Support

Register Name

Mnemonic

Relevant Fields

Described in Section

ProfileMe PC

PMPC

All fields

5.2.6

Interrupt enable and current proces-
sor mode

IER_CM

PCEN[1:0]

5.2.9

Interrupt summary

ISUM

PC[1:0]

5.2.11

Ibox control

I_CTL

SPCE, PCT0_EN, PCT1_EN

5.2.15

Ibox status

I_STAT

OVR, ICM, TRAP-TYPE,
LSO, TRP, MIS

5.2.16

Ibox process context

PCTX

PPCE

5.2.21

Performance counter support

PCTR_CTL All fields

5.2.22