1
0
Files
2022-09-29 17:59:04 +03:00

321 lines
13 KiB
Plaintext

#
# $Id: hw.help,v 1.7 1999/05/11 19:26:03 kenmcd Exp $
#
@ hw.r10kevctr.state R10000 event counter state
The values are
-1 this system does not include R10000 CPUs, so no event counters
0 this system has R10000 CPUs, but all of the global event counters
are disabled ... see ecadmin(1) to enable global event counters
other this system has R10000 CPUs, and this metric reports the number
of the global event counters that have been enabled
@ hw.r10kevctr.cpurev R10000 CPU revision
R10000 CPU revision.
Interpretation of the R1000 event counters is dependent in some
cases on the CPU revision.
@ hw.r10kevctr.cycles R10000 event counter - cycles
R10000 event counter - cycles.
This event counter is incremented once per clock cycle, and
hw.r10kevctr.cycles is the sum over all CPUs.
@ hw.r10kevctr.issue.instri R10000 event counter - instructions issued
R10000 event counter - instructions issued.
This event counter is incremented on each cycle by the sum of the three
following events:
- Integer operations marked as "done" in the active list
- Floating point operations issued to an FPU
- Load/store instructions issued to the address calculation unit on
the previous cycle
hw.r10kevctr.issue.instri is the sum over all CPUs.
@ hw.r10kevctr.issue.loadi R10000 event counter - loads, etc. issued
R10000 event counter - loads, etc. issued.
This counter is incremented when a load instruction was issued to the
address-calculation unit on the previous cycle. Unlike the combined
"issued instructions" count, this counter counts each load instruction
as being issued only once. Prefetches are counted as issued loads in
rev 3.x but not 2.x
hw.r10kevctr.issue.loadi is the sum over all CPUs.
@ hw.r10kevctr.issue.storei R10000 event counter - stores issued
R10000 event counter - stores issued.
The counter is incremented on the cycle after a store instruction is
issued to the address-calculation unit, and hw.r10kevctr.issue.storei
is the sum over all CPUs.
@ hw.r10kevctr.issue.scondi R10000 event counter - store conditionals issued
R10000 event counter - store conditionals issued.
This counter is incremented on the cycle after a store conditional
instruction is issued to the address-calculation unit, and
hw.r10kevctr.issue.scondi is the sum over all CPUs.
@ hw.r10kevctr.fail.scondf R10000 event counter - store conditionals failed
R10000 event counter - store conditionals failed.
This counter is incremented when a store-conditional instruction fails.
A failed store-conditional instruction will, in the normal course of
events, graduate; so this event represents a subset of the
store-conditional instructions counted as hw.r10kevctr.grad.scondg.
hw.r10kevctr.fail.scondf is the sum over all CPUs.
@ hw.r10kevctr.issue.brd R10000 event counter - branches decoded
R10000 event counter - branches decoded.
In rev 2.6 and earlier revisions, this counter is incremented when a
branch (conditional or unconditional) instruction is decoded (include
those aborted & resolved) and inserted into the active list; even
though, it may still be killed due to an exception or a prior
mispredicted branch.
For rev 3.x, this counter is incremented when a conditional branch is
determined to have been "resolved". Note that when multiple
floating-point conditional branches are resolved in a single cycle,
this counter is still only incremented by one. Although this is a rare
event, in this case the count would be incorrect.
hw.r10kevctr.issue.brd is the sum over all CPUs.
@ hw.r10kevctr.scache.wb R10000 event counter - quadwords written back from secondary cache
R10000 event counter - quadwords written back from secondary cache.
This counter is incremented once each cycle that a quadword of data is
written back from the secondary cache to the outgoing buffer located in
the on-chip system-interface unit, and hw.r10kevctr.scache.wb is the
sum over all CPUs.
@ hw.r10kevctr.scache.ecc R10000 event counter - single-bit ECC errors on secondary cache data
R10000 event counter - single-bit ECC errors on secondary cache data.
This counter is incremented on the cycle after the correction of a
single-bit error on a quadword read from the secondary cache data
array, and hw.r10kevctr.scache.ecc is the sum over all CPUs.
@ hw.r10kevctr.pcache.imiss R10000 event counter - primary cache instruction misses
R10000 event counter - primary cache instruction misses.
This counter is incremented one cycle after an instruction refill
request is sent to the Secondary Cache Transaction Processing logic.
hw.r10kevctr.pcache.imiss is the sum over all CPUs.
@ hw.r10kevctr.scache.imiss R10000 event counter - secondary cache instruction misses
R10000 event counter - secondary cache instruction misses.
This counter is incremented the cycle after the last quadword of a
primary instruction cache line is written from the main memory, while
the secondary cache refill continues.
hw.r10kevctr.scache.imiss is the sum over all CPUs.
@ hw.r10kevctr.scache.iwaymp R10000 event counter - secondary cache instruction way misprediction
R10000 event counter - secondary cache instruction way misprediction.
This counter is incremented when the secondary cache controller begins
to retry an access to the secondary cache after it hit in the
non-predicted way, provided the secondary cache access was initiated by
the primary instruction cache.
hw.r10kevctr.scache.iwaymp is the sum over all CPUs.
@ hw.r10kevctr.extint R10000 event counter - external intervention requests
R10000 event counter - external intervention requests.
This counter is incremented on the cycle after an external intervention
request enters the Secondary Cache Transaction Processing logic.
hw.r10kevctr.extint is the sum over all CPUs.
@ hw.r10kevctr.extinv R10000 event counter - external invalidate requests
R10000 event counter - external invalidate requests.
This counter is incremented on the cycle after an external invalidate
request enters the Secondary Cache Transaction Processing logic.
hw.r10kevctr.extinv is the sum over all CPUs.
@ hw.r10kevctr.vcc R10000 event counter - virtual coherency condition
R10000 event counter - virtual coherency condition.
This counter is incremented on the cycle after a virtual address
coherence condition is detected, provided that the access was not
flagged as a miss. This condition can only be realized for virtual
page sizes of 4 Kbyte.
hw.r10kevctr.vcc is the sum over all CPUs, but is not available for
R10000 CPUs at rev 3.x or later, where this event is replaced by
hw.r10kevctr.fucomp.
@ hw.r10kevctr.fucomp R10000 event counter - ALU/FPU completion cycles
R10000 event counter that accumulates the number ALU/FPU completion
cycles.
This counter is incremented on the cycle after either ALU1, ALU2, FPU1,
or FPU2 marks an instruction as "done."
hw.r10kevctr.fucomp is the sum over all CPUs, but is only available for
R10000 CPUs at rev 3.x or later, where this event replaces
hw.r10kevctr.vcc that was available on the earlier revisions of the
R10000 CPUs.
@ hw.r10kevctr.grad.instrg R10000 event counter - instructions graduated
R10000 event counter - instructions graduated.
This counter is incremented by the number of instructions that were
graduated on the previous cycle. When an integer multiply or divide
instruction graduates, it is counted as two graduated instructions.
hw.r10kevctr.grad.instrg is the sum over all CPUs.
@ hw.r10kevctr.grad.loadg R10000 event counter - loads graduated
R10000 event counter - loads graduated.
In rev 2.x, if a store graduates on a given cycle, all loads which
graduate on that cycle do not increment this counter. Prefetch
instructions are included in this count.
In rev 3.x this behavior is changed so that all graduated loads (loads,
prefetches, sync and cacheops) are counted as they graduated on the
previous cycle. Up to four of these instructions can graduate in one
cycle.
hw.r10kevctr.grad.loadg is the sum over all CPUs.
@ hw.r10kevctr.grad.storeg R10000 event counter - stores graduated
R10000 event counter - stores graduated.
Each graduating store (including store-conditionals) increments the
counter. At most one store can graduate per cycle.
hw.r10kevctr.grad.storeg is the sum over all CPUs.
@ hw.r10kevctr.grad.scondg R10000 event counter - store conditionals graduated
R10000 event counter - store conditionals graduated.
At most, one store-conditional can graduate per cycle. This counter is
incremented on the cycle following the graduation of a
store-conditional instruction. Both failed and successful
store-conditional instructions are included in this count; so
successful store-conditionals can be determined as the difference
between this metric and hw.r10kevctr.fail.scondf.
hw.r10kevctr.grad.scondg is the sum over all CPUs.
@ hw.r10kevctr.grad.fp R10000 event counter - floating point instructions graduated
R10000 event counter - floating point instructions graduated.
This counter is incremented by the number of FP instructions which
graduated on the previous cycle. Any instruction that sets the FP
Status register bits (EVZOUI) is counted as a graduated floating point
instruction. There can be 0 to 4 such instructions each cycle.
Note that conditional-branches based on FP condition codes and
Floating-point load and store instructions are not included in this
count.
hw.r10kevctr.grad.fp is the sum over all CPUs.
@ hw.r10kevctr.pcache.wb R10000 event counter - quadwords written back from primary cache
R10000 event counter - quadwords written back from primary cache.
This counter is incremented once each cycle that a quadword of data is
valid and being written from primary data cache to secondary cache, and
hw.r10kevctr.pcache.wb is the sum over all CPUs.
@ hw.r10kevctr.tlb R10000 event counter - TLB refill exceptions
R10000 event counter - TLB refill exceptions.
This counter is incremented on the cycle after the TLB miss handler is
invoked. All TLB misses are counted, whether they occur in the native
code or within the TLB handler.
hw.r10kevctr.tlb is the sum over all CPUs.
@ hw.r10kevctr.fail.brmp R10000 event counter - branches mispredicted
R10000 event counter - branches mispredicted.
This counter is incremented on the cycle after a branch is restored
because of misprediction. The misprediction is determined on the same
cycle that the conditional branch is resolved.
For rev 3.x, the misprediction rate is the ratio of the branch
mispredicted count to the conditional branch resolved.
For rev 2.x, the misprediction rate cannot be precisely determined,
because the decoded branches count includes unconditional branches as
well as conditional branches which are never resolved (due to prior
mispredictions or later interrupts).
hw.r10kevctr.fail.brmp is the sum over all CPUs.
@ hw.r10kevctr.pcache.dmiss R10000 event counter - primary cache data misses
R10000 event counter - primary cache data misses.
This counter is incremented one cycle after a request to refill a line
of the primary data cache is entered into the Secondary Cache
Transaction Processing logic.
hw.r10kevctr.pcache.dmiss is the sum over all CPUs.
@ hw.r10kevctr.scache.dmiss R10000 event counter - secondary cache data misses
R10000 event counter - secondary cache data misses.
This counter is incremented the cycle after the second quadword of a
data cache line is written from the main memory, while the secondary
cache refill continues.
hw.r10kevctr.scache.dmiss is the sum over all CPUs.
@ hw.r10kevctr.scache.dwaymp R10000 event counter - secondary cache data way misprediction
R10000 event counter - secondary cache data way misprediction.
This counter is incremented when the secondary cache controller begins
to retry an access to the secondary cache because it hit in the
non-predicted way, provided the secondary cache access was initiated by
the primary data cache.
hw.r10kevctr.scache.dwaymp is the sum over all CPUs.
@ hw.r10kevctr.scache.extinthit R10000 event counter - external intervention hits in secondary cache
R10000 event counter - external intervention hits in secondary cache.
This counter is incremented on the cycle after an external intervention
request is determined to have hit in the secondary cache, and
hw.r10kevctr.scache.extinthit is the sum over all CPUs.
@ hw.r10kevctr.scache.extinvhit R10000 event counter - external invalidate hits in secondary cache
R10000 event counter - external invalidate hits in secondary cache.
This counter is incremented on the cycle after an external invalidate
request is determined to have hit in the secondary cache, amd
hw.r10kevctr.scache.extinvhit is the sum over all CPUs.
@ hw.r10kevctr.scache.upclean R10000 event counter - upgrade requests on clean secondary cache lines
R10000 event counter - upgrade requests on clean secondary cache lines.
This counter is incremented on the cycle after a request to change the
Clean Exclusive state of the targeted secondary cache line to Dirty
Exclusive is sent to the Secondary Cache Transaction Processing logic.
hw.r10kevctr.scache.upclean is the sum over all CPUs.
@ hw.r10kevctr.scache.upshare R10000 event counter - upgrade requests on shared secondary cache lines
R10000 event counter - upgrade requests on shared
secondary cache lines.
This counter is incremented on the cycle after a request to change the
Shared state of the targeted secondary cache line to Dirty Exclusive is
sent to the Secondary Cache Transaction Processing logic.
hw.r10kevctr.scache.upshare is the sum over all CPUs.