|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Copyright (c) 2011 Samara Technology Group, Inc
|
|
Packit Service |
a1973e |
* Contributed by Philip Mucci <phil.mucci@@samaratechnologygroup.com>
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
Packit Service |
a1973e |
* of this software and associated documentation files (the "Software"), to deal
|
|
Packit Service |
a1973e |
* in the Software without restriction, including without limitation the rights
|
|
Packit Service |
a1973e |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
Packit Service |
a1973e |
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
Packit Service |
a1973e |
* subject to the following conditions:
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* The above copyright notice and this permission notice shall be included in all
|
|
Packit Service |
a1973e |
* copies or substantial portions of the Software.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
Packit Service |
a1973e |
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
Packit Service |
a1973e |
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
Packit Service |
a1973e |
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
Packit Service |
a1973e |
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
|
Packit Service |
a1973e |
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Based on:
|
|
Packit Service |
a1973e |
* MIPS32 74KTM Processor Core Family Software Users' Manual
|
|
Packit Service |
a1973e |
* Document Number: MD00519 Revision 01.05 March 30, 2011
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const mips_entry_t mips_74k_pe []={
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "CYCLES", /* BOTH */
|
|
Packit Service |
a1973e |
.code = 0x0,
|
|
Packit Service |
a1973e |
.desc = "Cycles",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "INSTRUCTIONS", /* BOTH */
|
|
Packit Service |
a1973e |
.code = 0x1,
|
|
Packit Service |
a1973e |
.desc = "Instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "PREDICTED_JR_31",
|
|
Packit Service |
a1973e |
.code = 0x2,
|
|
Packit Service |
a1973e |
.desc = "jr $31 (return) instructions whose target is predicted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JR_31_MISPREDICTIONS",
|
|
Packit Service |
a1973e |
.code = 0x82,
|
|
Packit Service |
a1973e |
.desc = "jr $31 (return) predicted but guessed wrong",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "REDIRECT_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x3,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instruction is fetched because it has no next address candidate. This includes stalls due to register indirect jumps such as jr, stalls following a wait or eret and stalls dues to exceptions from instruction fetch",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JR_31_NO_PREDICTIONS",
|
|
Packit Service |
a1973e |
.code = 0x83,
|
|
Packit Service |
a1973e |
.desc = "jr $31 (return) instructions fetched and not predicted using RPS",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ITLB_ACCESSES",
|
|
Packit Service |
a1973e |
.code = 0x4,
|
|
Packit Service |
a1973e |
.desc = "ITLB accesses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ITLB_MISSES",
|
|
Packit Service |
a1973e |
.code = 0x84,
|
|
Packit Service |
a1973e |
.desc = "ITLB misses, which result in a JTLB access",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JTLB_INSN_MISSES",
|
|
Packit Service |
a1973e |
.code = 0x85,
|
|
Packit Service |
a1973e |
.desc = "JTLB instruction access misses (will lead to an exception)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ICACHE_ACCESSES",
|
|
Packit Service |
a1973e |
.code = 0x6,
|
|
Packit Service |
a1973e |
.desc = "Instruction cache accesses. 74K cores have a 128-bit connection to the I-cache and fetch 4 instructions every access. This counts every such access, including accesses for instructions which are eventually discarded. For example, following a branch which is incorrectly predicted, the 74K core will continue to fetch instructions, which will eventually get thrown away",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ICACHE_MISSES",
|
|
Packit Service |
a1973e |
.code = 0x86,
|
|
Packit Service |
a1973e |
.desc = "I-cache misses. Includes misses resulting from fetch-ahead and speculation",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ICACHE_MISS_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x7,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instruction is fetched because we missed in the I-cache",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "UNCACHED_IFETCH_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x8,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instruction is fetched because we're waiting for an I-fetch from uncached memory",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "PDTRACE_BACK_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x88,
|
|
Packit Service |
a1973e |
.desc = "PDTrace back stalls",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "IFU_REPLAYS",
|
|
Packit Service |
a1973e |
.code = 0x9,
|
|
Packit Service |
a1973e |
.desc = "Number of times the instruction fetch pipeline is flushed and replayed because the IFU buffers are full and unable to accept any instructions",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "KILLED_FETCH_SLOTS",
|
|
Packit Service |
a1973e |
.code = 0x89,
|
|
Packit Service |
a1973e |
.desc = "Valid fetch slots killed due to taken branches/jumps or stalling instructions",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DDQ0_FULL_DR_STALLS",
|
|
Packit Service |
a1973e |
.code = 0xd,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions are brought into the IDU because the ALU instruction candidate pool is full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DDQ1_FULL_DR_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x8d,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions are brought into the IDU because the AGEN instruction candidate pool is full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ALCB_FULL_DR_STALLS",
|
|
Packit Service |
a1973e |
.code = 0xe,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions can be added to the issue pool, because we have run out of ALU completion buffers (CBs)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "AGCB_FULL_DR_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x8e,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions can be added to the issue pool, because we have run out of AGEN completion buffers (CBs)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "CLDQ_FULL_DR_STALLS",
|
|
Packit Service |
a1973e |
.code = 0xf,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions can be added to the issue pool, because we've used all the FIFO entries in the CLDQ which keep track of data coming back from the FPU",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "IODQ_FULL_DR_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x8f,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions can be added to the issue pool, because we've filled the in order FIFO used for coprocessor 1 instructions (IOIQ)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ALU_EMPTY_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x10,
|
|
Packit Service |
a1973e |
.desc = "Cycles with no ALU-pipe issue; no instructions available",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "AGEN_EMPTY_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x90,
|
|
Packit Service |
a1973e |
.desc = "Cycles with no AGEN-pipe issue; no instructions available",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ALU_OPERANDS_NOT_READY_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x11,
|
|
Packit Service |
a1973e |
.desc = "Cycles with no ALU-pipe issue; we have instructions, but operands not ready",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "AGEN_OPERANDS_NOT_READY_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x91,
|
|
Packit Service |
a1973e |
.desc = "Cycles with no AGEN-pipe issue; we have instructions, but operands not ready",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ALU_NO_ISSUE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x12,
|
|
Packit Service |
a1973e |
.desc = "Cycles with no ALU-pipe issue; we have instructions, but some resource is unavailable. This includes, operands are not ready (same as event 17), div in progress inhibits MDU instructions, CorExtend resource limitation",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "AGEN_NO_ISSUE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x92,
|
|
Packit Service |
a1973e |
.desc = "Cycles with no AGEN-pipe issue; we have instructions, but some resource is unavailable. This includes, operands are not ready (same as event 17), Non-issued stores blocking ready to issue loads, issued cacheops blocking ready to issue loads",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ALU_BUBBLE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x13,
|
|
Packit Service |
a1973e |
.desc = "ALU-pipe bubble issued. The resulting empty pipe stage guarantees that some resource will be unused for a cycle, sometime soon. Used, for example, to guarantee an opportunity to write mfc1 data into a CB",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "AGEN_BUBBLE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x93,
|
|
Packit Service |
a1973e |
.desc = "AGEN-pipe bubble issued. The resulting empty pipe stage guarantees that some resource will be unused for a cycle, sometime soon. Used, for example, to allow access to the data cache for refill or eviction",
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SINGLE_ISSUE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x14,
|
|
Packit Service |
a1973e |
.desc = "Cycles when one instruction is issued",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DUAL_ISSUE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x94,
|
|
Packit Service |
a1973e |
.desc = "Cycles when two instructions are issued (one ALU, one AGEN)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OOO_ALU_ISSUE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x15,
|
|
Packit Service |
a1973e |
.desc = "Cycles when instructions are issued out of order into the ALU pipe. i.e. instruction issued is not the oldest in the pool",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OOO_AGEN_ISSUE_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x95,
|
|
Packit Service |
a1973e |
.desc = "Cycles when instructions are issued out of order into the AGEN pipe. i.e. instruction issued is not the oldest in the pool",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JALR_JALR_HB_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x16,
|
|
Packit Service |
a1973e |
.desc = "Graduated JAR/JALR.HB",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DCACHE_LINE_REFILL_REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0x96,
|
|
Packit Service |
a1973e |
.desc = "D-Cache line refill (not LD/ST misses)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DCACHE_LOAD_ACCESSES",
|
|
Packit Service |
a1973e |
.code = 0x17,
|
|
Packit Service |
a1973e |
.desc = "Cacheable loads - Counts all accesses to the D-cache caused by load instructions. This count includes instructions that do not graduate",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DCACHE_ACCESSES",
|
|
Packit Service |
a1973e |
.code = 0x97,
|
|
Packit Service |
a1973e |
.desc = "All D-cache accesses (loads, stores, prefetch, cacheop etc). This count includes instructions that do not graduate",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DCACHE_WRITEBACKS",
|
|
Packit Service |
a1973e |
.code = 0x18,
|
|
Packit Service |
a1973e |
.desc = "D-Cache writebacks",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DCACHE_MISSES",
|
|
Packit Service |
a1973e |
.code = 0x98,
|
|
Packit Service |
a1973e |
.desc = "D-cache misses. This count is per instruction at graduation and includes load, store, prefetch, synci and address based cacheops",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JTLB_DATA_ACCESSES",
|
|
Packit Service |
a1973e |
.code = 0x19,
|
|
Packit Service |
a1973e |
.desc = "JTLB d-side (data side as opposed to instruction side) accesses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JTLB_DATA_MISSES",
|
|
Packit Service |
a1973e |
.code = 0x99,
|
|
Packit Service |
a1973e |
.desc = "JTLB translation fails on d-side (data side as opposed to instruction side) accesses. This count includes instructions that do not graduate",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LOAD_STORE_REPLAYS",
|
|
Packit Service |
a1973e |
.code = 0x1a,
|
|
Packit Service |
a1973e |
.desc = "Load/store instruction redirects, which happen when the load/store follows too closely on a possibly matching cacheop",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DCACHE_VTAG_MISMATCH",
|
|
Packit Service |
a1973e |
.code = 0x9a,
|
|
Packit Service |
a1973e |
.desc = "The 74K core's D-cache has an auxiliary virtual tag, used to pick the right line early. When (occasionally) the physical tag match and virtual tag match do not line up, it is treated as a cache miss - in processing the miss the virtual tag is corrected for future accesses. This event counts those bogus misses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "L2_CACHE_WRITEBACKS",
|
|
Packit Service |
a1973e |
.code = 0x1c,
|
|
Packit Service |
a1973e |
.desc = "L2 cache writebacks",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "L2_CACHE_ACCESSES",
|
|
Packit Service |
a1973e |
.code = 0x9c,
|
|
Packit Service |
a1973e |
.desc = "L2 cache accesses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "L2_CACHE_MISSES",
|
|
Packit Service |
a1973e |
.code = 0x1d,
|
|
Packit Service |
a1973e |
.desc = "L2 cache misses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "L2_CACHE_MISS_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x9d,
|
|
Packit Service |
a1973e |
.desc = "L2 cache miss cycles",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FSB_FULL_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x1e,
|
|
Packit Service |
a1973e |
.desc = "Cycles Fill Store Buffer(FSB) are full and cause a pipe stall",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FSB_OVER_50_FULL",
|
|
Packit Service |
a1973e |
.code = 0x9e,
|
|
Packit Service |
a1973e |
.desc = "Cycles Fill Store Buffer(FSB) > 1/2 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LDQ_FULL_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x1f,
|
|
Packit Service |
a1973e |
.desc = "Cycles Load Data Queue (LDQ) are full and cause a pipe stall",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LDQ_OVER_50_FULL",
|
|
Packit Service |
a1973e |
.code = 0x9f,
|
|
Packit Service |
a1973e |
.desc = "Cycles Load Data Queue(LDQ) > 1/2 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "WBB_FULL_STALLS",
|
|
Packit Service |
a1973e |
.code = 0x20,
|
|
Packit Service |
a1973e |
.desc = "Cycles Writeback Buffer(WBB) are full and cause a pipe stall",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "WBB_OVER_50_FULL",
|
|
Packit Service |
a1973e |
.code = 0xa0,
|
|
Packit Service |
a1973e |
.desc = "Cycles Writeback Buffer(WBB) > 1/2 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LOAD_MISS_CONSUMER_REPLAYS",
|
|
Packit Service |
a1973e |
.code = 0x23,
|
|
Packit Service |
a1973e |
.desc = "Replays following optimistic issue of instruction dependent on load which missed. Counted only when the dependent instruction graduates",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FPU_LOAD_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa3,
|
|
Packit Service |
a1973e |
.desc = "Floating Point Load instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "JR_NON_31_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x24,
|
|
Packit Service |
a1973e |
.desc = "jr (not $31) instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MISPREDICTED_JR_31_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa4,
|
|
Packit Service |
a1973e |
.desc = "jr $31 mispredicted at graduation",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "INT_BRANCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x25,
|
|
Packit Service |
a1973e |
.desc = "Integer branch instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FPU_BRANCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa5,
|
|
Packit Service |
a1973e |
.desc = "Floating point branch instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "BRANCH_LIKELY_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x26,
|
|
Packit Service |
a1973e |
.desc = "Branch-likely instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MISPREDICTED_BRANCH_LIKELY_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa6,
|
|
Packit Service |
a1973e |
.desc = "Mispredicted branch-likely instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "COND_BRANCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x27,
|
|
Packit Service |
a1973e |
.desc = "Conditional branches graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MISPREDICTED_BRANCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa7,
|
|
Packit Service |
a1973e |
.desc = "Mispredicted conditional branches graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "INTEGER_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x28,
|
|
Packit Service |
a1973e |
.desc = "Integer instructions graduated (includes nop, ssnop, ehb as well as all arithmetic, logical, shift and extract type operations)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FPU_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa8,
|
|
Packit Service |
a1973e |
.desc = "Floating point instructions graduated (but not counting floating point load/store)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LOAD_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x29,
|
|
Packit Service |
a1973e |
.desc = "Loads graduated (includes floating point)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "STORE_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xa9,
|
|
Packit Service |
a1973e |
.desc = "Stores graduated (includes floating point). Of sc instructions, only successful ones are counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "J_JAL_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x2a,
|
|
Packit Service |
a1973e |
.desc = "j/jal graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MIPS16_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xaa,
|
|
Packit Service |
a1973e |
.desc = "MIPS16e instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "NOP_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x2b,
|
|
Packit Service |
a1973e |
.desc = "no-ops graduated - included (sll, nop, ssnop, ehb)",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "NT_MUL_DIV_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xab,
|
|
Packit Service |
a1973e |
.desc = "integer multiply/divides graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DSP_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x2c,
|
|
Packit Service |
a1973e |
.desc = "DSP instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ALU_DSP_SATURATION_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xac,
|
|
Packit Service |
a1973e |
.desc = "ALU-DSP instructions graduated, result was saturated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DSP_BRANCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x2d,
|
|
Packit Service |
a1973e |
.desc = "DSP branch instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MDU_DSP_SATURATION_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xad,
|
|
Packit Service |
a1973e |
.desc = "MDU-DSP instructions graduated, result was saturated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "UNCACHED_LOAD_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x2e,
|
|
Packit Service |
a1973e |
.desc = "Uncached loads graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "UNCACHED_STORE_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xae,
|
|
Packit Service |
a1973e |
.desc = "Uncached stores graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "EJTAG_INSN_TRIGGERS",
|
|
Packit Service |
a1973e |
.code = 0x31,
|
|
Packit Service |
a1973e |
.desc = "EJTAG instruction triggers",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "EJTAG_DATA_TRIGGERS",
|
|
Packit Service |
a1973e |
.code = 0xb1,
|
|
Packit Service |
a1973e |
.desc = "EJTAG data triggers",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "CP1_BRANCH_MISPREDICTIONS",
|
|
Packit Service |
a1973e |
.code = 0x32,
|
|
Packit Service |
a1973e |
.desc = "CP1 branches mispredicted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SC_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x33,
|
|
Packit Service |
a1973e |
.desc = "sc instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FAILED_SC_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xb3,
|
|
Packit Service |
a1973e |
.desc = "sc instructions failed",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "PREFETCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0x34,
|
|
Packit Service |
a1973e |
.desc = "prefetch instructions graduated at the top of LSGB",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "CACHE_HIT_PREFETCH_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xb4,
|
|
Packit Service |
a1973e |
.desc = "prefetch instructions which did nothing, because they hit in the cache",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "NO_INSN_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x35,
|
|
Packit Service |
a1973e |
.desc = "Cycles where no instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LOAD_MISS_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xb5,
|
|
Packit Service |
a1973e |
.desc = "Load misses graduated. Includes floating point loads",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "ONE_INSN_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x36,
|
|
Packit Service |
a1973e |
.desc = "Cycles where one instruction graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "TWO_INSNS_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0xb6,
|
|
Packit Service |
a1973e |
.desc = "Cycles where two instructions graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "GFIFO_BLOCKED_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x37,
|
|
Packit Service |
a1973e |
.desc = "GFifo blocked cycles",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FPU_STORE_INSNS",
|
|
Packit Service |
a1973e |
.code = 0xb7,
|
|
Packit Service |
a1973e |
.desc = "Floating point stores graduated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "GFIFO_BLOCKED_TLB_CACHE",
|
|
Packit Service |
a1973e |
.code = 0x38,
|
|
Packit Service |
a1973e |
.desc = "GFifo blocked due to TLB or Cacheop",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "NO_INSTRUCTIONS_FROM_REPLAY_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0xb8,
|
|
Packit Service |
a1973e |
.desc = "Number of cycles no instructions graduated from the time the pipe was flushed because of a replay until the first new instruction graduates. This is an indicator of the graduation bandwidth loss due to replay. Often times this replay is a result of event 25 and therefor an indicator of bandwidth lost due to cache misses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MISPREDICTION_BRANCH_NODELAY_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0x39, /* even counters event 57 (raw 57) */
|
|
Packit Service |
a1973e |
.desc = "Slot 0 misprediction branch instruction graduation cycles without the delay slot"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "MISPREDICTION_BRANCH_DELAY_WAIT_CYCLES",
|
|
Packit Service |
a1973e |
.code = 0xb9, /* even counters event 57 (raw 57) */
|
|
Packit Service |
a1973e |
.desc = "Cycles waiting for delay slot to graduate on a mispredicted branch",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "EXCEPTIONS_TAKEN",
|
|
Packit Service |
a1973e |
.code = 0x3a,
|
|
Packit Service |
a1973e |
.desc = "Exceptions taken",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "GRADUATION_REPLAYS",
|
|
Packit Service |
a1973e |
.code = 0xba,
|
|
Packit Service |
a1973e |
.desc = "Replays initiated from graduation",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "COREEXTEND_EVENTS",
|
|
Packit Service |
a1973e |
.code = 0x3b,
|
|
Packit Service |
a1973e |
.desc = "Implementation specific CorExtend event. The integrator of this core may connect the core pin UDI_perfcnt_event to an event to be counted. This is intended for use with the CorExtend interface",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "DSPRAM_EVENTS",
|
|
Packit Service |
a1973e |
.code = 0xbe,
|
|
Packit Service |
a1973e |
.desc = "Implementation-specific DSPRAM event. The integrator of this core may connect the core pin SP_prf_c13_e62_xx to the event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "L2_CACHE_SINGLE_BIT_ERRORS",
|
|
Packit Service |
a1973e |
.code = 0x3f,
|
|
Packit Service |
a1973e |
.desc = "L2 single-bit errors which were detected",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_0",
|
|
Packit Service |
a1973e |
.code = 0x40,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[0] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[0] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_1",
|
|
Packit Service |
a1973e |
.code = 0xc0,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[1] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[1] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_2",
|
|
Packit Service |
a1973e |
.code = 0x41,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[2] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[2] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_3",
|
|
Packit Service |
a1973e |
.code = 0xc1,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[3] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[3] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_4",
|
|
Packit Service |
a1973e |
.code = 0x42,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[4] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[4] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_5",
|
|
Packit Service |
a1973e |
.code = 0xc2,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[5] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[5] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_6",
|
|
Packit Service |
a1973e |
.code = 0x43,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[6] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[6] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "SYSTEM_EVENT_7",
|
|
Packit Service |
a1973e |
.code = 0xc3,
|
|
Packit Service |
a1973e |
.desc = "SI_Event[7] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[7] to an event to be counted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_ALL_REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0x44,
|
|
Packit Service |
a1973e |
.desc = "All OCP requests accepted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_ALL_CACHEABLE_REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0xc4,
|
|
Packit Service |
a1973e |
.desc = "All OCP cacheable requests accepted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_READ_REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0x45,
|
|
Packit Service |
a1973e |
.desc = "OCP read requests accepted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_READ_CACHEABLE_REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0xc5,
|
|
Packit Service |
a1973e |
.desc = "OCP cacheable read requests accepted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_WRITE_REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0x46,
|
|
Packit Service |
a1973e |
.desc = "OCP write requests accepted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_WRITE_CACHEABLE REQUESTS",
|
|
Packit Service |
a1973e |
.code = 0xc6,
|
|
Packit Service |
a1973e |
.desc = "OCP cacheable write requests accepted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_WRITE_DATA_SENT",
|
|
Packit Service |
a1973e |
.code = 0xc7,
|
|
Packit Service |
a1973e |
.desc = "OCP write data sent",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "OCP_READ_DATA_RECEIVED",
|
|
Packit Service |
a1973e |
.code = 0xc8,
|
|
Packit Service |
a1973e |
.desc = "OCP read data received",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FSB_LESS_25_FULL",
|
|
Packit Service |
a1973e |
.code = 0x4a,
|
|
Packit Service |
a1973e |
.desc = "Cycles fill store buffer (FSB) < 1/4 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "FSB_25_50_FULL",
|
|
Packit Service |
a1973e |
.code = 0xca,
|
|
Packit Service |
a1973e |
.desc = "Cycles fill store buffer (FSB) 1/4 to 1/2 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LDQ_LESS_25_FULL",
|
|
Packit Service |
a1973e |
.code = 0x4b,
|
|
Packit Service |
a1973e |
.desc = "Cycles load data queue (LDQ) < 1/4 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "LDQ_25_50_FULL",
|
|
Packit Service |
a1973e |
.code = 0xcb,
|
|
Packit Service |
a1973e |
.desc = "Cycles load data queue (LDQ) 1/4 to 1/2 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "WBB_LESS_25_FULL",
|
|
Packit Service |
a1973e |
.code = 0x4c,
|
|
Packit Service |
a1973e |
.desc = "Cycles writeback buffer (WBB) < 1/4 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.name = "WBB_25_50_FULL",
|
|
Packit Service |
a1973e |
.code = 0xcc,
|
|
Packit Service |
a1973e |
.desc = "Cycles writeback buffer (WBB) 1/4 to 1/2 full",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|