windows-nt/Source/XPSP1/NT/base/tools/pperf/driver/i386/p5.c

114 lines
5.2 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
p5.c
Abstract:
Counted events for P5 processor
Author:
Ken Reneris
Environment:
Notes:
Revision History:
--*/
#include "ntddk.h"
#include "..\..\pstat.h"
#include "stat.h"
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("PAGE")
#endif
char dsc5_0x00[] = "Data Memory Reads.";
char dsc5_0x01[] = "Data Memory Write.";
char dsc5_0x02[] = "Data TLB Misses.";
char dsc5_0x03[] = "Data Read Misses.";
char dsc5_0x04[] = "Data Write Misses.";
char dsc5_0x05[] = "Write (Hit) to M# or E#.";
char dsc5_0x06[] = "Data Cache Line Write Back.";
char dsc5_0x07[] = "External Snoops.";
char dsc5_0x08[] = "Data Cache Snoop Hits.";
char dsc5_0x09[] = "Memory Access In Both Pipes.";
char dsc5_0x0A[] = "Actual Bank Conflicts.";
char dsc5_0x0B[] = "Misaligned Data References.";
char dsc5_0x0C[] = "Code Read (Cache Fetches).";
char dsc5_0x0D[] = "Code TLB Misses.";
char dsc5_0x0E[] = "Code Cache Misses.";
char dsc5_0x0F[] = "Segment Register Loads.";
char dsc5_0x12[] = "Total Branches.";
char dsc5_0x13[] = "BTB Hits (Actually Exec'd).";
char dsc5_0x14[] = "Taken Branch or BTB Hits.";
char dsc5_0x15[] = "Pipeline Flushes.";
char dsc5_0x16[] = "Instructions Executed.";
char dsc5_0x17[] = "Instruction Exec'd in V-Pipe.";
char dsc5_0x18[] = "Bus Utilization.";
char dsc5_0x19[] = "Write Buffers Full- Pipe Stalled.";
char dsc5_0x1A[] = "Wait Mem Read - Pipe Stalled.";
char dsc5_0x1B[] = "Stalled Due To Write To M/E#.";
char dsc5_0x1C[] = "Locked Bus Cycles.";
char dsc5_0x1D[] = "I/O Read or Write Cycles.";
char dsc5_0x1E[] = "Non-Cachable Memory Refs.";
char dsc5_0x1F[] = "Pipe Stalled Due To AGI.";
char dsc5_0x22[] = "Floating-Point Operations.";
char dsc5_0x23[] = "Breakpoint on DR0.";
char dsc5_0x24[] = "Breakpoint on DR1.";
char dsc5_0x25[] = "Breakpoint on DR2.";
char dsc5_0x26[] = "Breakpoint on DR3.";
char dsc5_0x27[] = "Hardware Interrupts Taken.";
char dsc5_0x28[] = "Data Read or Data Writes.";
char dsc5_0x29[] = "Data Read/Write Misses.";
COUNTED_EVENTS P5Events[] = {
0x00, "rdata", 0, "Data Read", "DMEMR", dsc5_0x00,
0x01, "wdata", 0, "Data Write", "DMEMW", dsc5_0x01,
0x02, "dtlbmiss", 0, "Data TLB miss", "DTLBM", dsc5_0x02,
0x03, "rdmiss", 0, "Data Read miss", "DCACHERM", dsc5_0x03,
0x04, "wdmiss", 0, "Data Write miss", "DCACHEWM", dsc5_0x04,
0x05, "meline", 0, "Write hit to M/E line", "DCACHEWH", dsc5_0x05,
0x06, "dwb", 0, "Data cache line WB", "DCACHEWB", dsc5_0x06,
0x07, "dsnoop", 0, "Data cache snoops", "EXTSNOOP", dsc5_0x07,
0x08, "dsnoophit", 0, "Data cache snoop hits", "DCACHESH", dsc5_0x08,
0x09, "mempipe", 0, "Memory accesses in pipes","DUALMEMA", dsc5_0x09,
0x0a, "bankconf", 0, "Bank conflicts", "BANKCONF", dsc5_0x0A,
0x0b, "misalign", 0, "Misadligned data ref", "UNALIGN", dsc5_0x0B,
0x0c, "iread", 0, "Code Read", "ICACHER", dsc5_0x0C,
0x0d, "itldmiss", 0, "Code TLB miss", "ITLBM", dsc5_0x0D,
0x0e, "imiss", 0, "Code cache miss", "ICACHERM", dsc5_0x0E,
0x0f, "segloads", 0, "Segment loads", "SEGLOAD", dsc5_0x0F,
0x12, "branch", 0, "Branches", "BRANCHES", dsc5_0x12,
0x13, "btbhit", 0, "BTB hits", "BTBHITS", dsc5_0x13,
0x14, "takenbranck", 0, "Taken branch or BTB hits","TAKENBR", dsc5_0x14,
0x15, "pipeflush", 0, "Pipeline flushes", "FLUSHES", dsc5_0x15,
0x16, "iexec", 0, "Instructions executed", "INST", dsc5_0x16,
0x17, "iexecv", 0, "Instructions executed in vpipe", "INSTV", dsc5_0x17,
0x18, "busutil", 0, "Bus utilization (clks)", "BUS", dsc5_0x18,
0x19, "wpipestall", 0, "Pipe stalled on writes (clks)", "WBSTALL", dsc5_0x19,
0x1a, "rpipestall", 0, "Pipe stalled on read (clks)", "MEMRSTALL", dsc5_0x1A,
0x1b, "stallEWBE", 0, "Stalled while EWBE#", "MEMWSTALL", dsc5_0x1B,
0x1c, "lock", 0, "Locked bus cycle", "LOCKBUS", dsc5_0x1C,
0x1d, "io", 0, "IO r/w cycle", "IORW", dsc5_0x1D,
0x1e, "noncachemem", 0, "non-cached memory ref", "NONCACHE", dsc5_0x1E,
0x1f, "agi", 0, "Pipe stalled on addr gen (clks)", "AGISTALL", dsc5_0x1F,
0x22, "flops", 0, "FLOPs", "FLOPS", dsc5_0x22,
0x23, "dr0", 0, "Debug Register 0", "BRKDR0", dsc5_0x23,
0x24, "dr1", 0, "Debug Register 1", "BRKDR1", dsc5_0x24,
0x25, "dr2", 0, "Debug Register 2", "BRKDR2", dsc5_0x25,
0x26, "dr3", 0, "Debug Register 3", "BRKDR3", dsc5_0x26,
0x27, "int", 0, "Interrupts", "HINTS", dsc5_0x27,
0x28, "rwdata", 0, "Data R/W", "DMEMRW", dsc5_0x28,
0x29, "rwdatamiss", 0, "Data R/W miss", "MEMRWM", dsc5_0x29,
0x00, NULL, 0, NULL, NULL, NULL
};