Skip to content
TomTheBear edited this page Jun 10, 2015 · 5 revisions

Architecture specific notes for AMD K8

Introduction

AMD processors support 4 general purpose counters which are 48 bit wide. There are no fixed counters as on Intel processors.

Performance groups

The following performance groups are partly based on the report by AMD fellow Paul J. Drongowski: Basic Performance Measurements for AMD Athlon™ 64, AMD Opteron™ and AMD Phenom™ Processors. For K8 some groups are still missing.

**Group** **Events** **Remarks**
L2 DATA_CACHE_REFILLS_L2_ALL:PMC0,
DATA_CACHE_EVICTED_ALL:PMC1,
CPU_CLOCKS_UNHALTED:PMC2
L2 cache bandwidth in MBytes/s
CACHE INSTRUCTIONS_RETIRED:PMC0,
DATA_CACHE_ACCESSES:PMC1,
DATA_CACHE_REFILLS_L2_ALL:PMC2,
DATA_CACHE_REFILLS_NORTHBRIDGE_ALL:PMC3
L1 Data cache miss rate/ratio
ICACHE INSTRUCTIONS_RETIRED:PMC0,
ICACHE_FETCHES:PMC1,
ICACHE_REFILLS_L2:PMC2,
ICACHE_REFILLS_MEM:PMC3
Instruction cache miss rate/ratio
CPI INSTRUCTIONS_RETIRED:PMC0,
CPU_CLOCKS_UNHALTED:PMC1,
UOPS_RETIRED:PMC2
cycles per instruction

Counters

4 General Purpose Counters: PMC0, PMC1, PMC2, PMC3.

Events

This architecture has 160 events.

Event tags (tag, id, umask, counters):

DISPATCHED_FP_OP_ADD_PIPE, 0x0, 0x1, PMC
DISPATCHED_FP_OP_MULTIPLY_PIPE, 0x0, 0x2, PMC
DISPATCHED_FP_OP_STORE_PIPE, 0x0, 0x4, PMC
DISPATCHED_FP_OP_ADD_PIPE_LOAD, 0x0, 0x8, PMC
DISPATCHED_FP_OP_MULTIPLY_PIPE_LOAD, 0x0, 0x10, PMC
DISPATCHED_FP_OP_STORE_PIPE_LOAD, 0x0, 0x20, PMC
FPU_EMPTY, 0x1, 0x0, PMC
DISPATCHED_FAST_FPU, 0x2, 0x0, PMC
SEGMENT_REGISTER_LOAD_ES, 0x20, 0x1, PMC
SEGMENT_REGISTER_LOAD_CS, 0x20, 0x2, PMC
SEGMENT_REGISTER_LOAD_SS, 0x20, 0x4, PMC
SEGMENT_REGISTER_LOAD_DS, 0x20, 0x8, PMC
SEGMENT_REGISTER_LOAD_FS, 0x20, 0x10, PMC
SEGMENT_REGISTER_LOAD_GS, 0x20, 0x20, PMC
SEGMENT_REGISTER_LOAD_HS, 0x20, 0x40, PMC
PIPELINE_RESTART_SELF_MOD, 0x21, 0x0, PMC
PIPELINE_RESTART_PROBE_HIT, 0x22, 0x0, PMC
LS_BUFFER_FULL, 0x23, 0x0, PMC
LOCKED_OPERATION_INSTRUCTIONS, 0x24, 0x1, PMC
LOCKED_OPERATION_SPECULATIVE_CYC, 0x24, 0x2, PMC
LOCKED_OPERATION_NON_SPECULATIVE_CYC, 0x24, 0x4, PMC
DATA_CACHE_ACCESSES, 0x40, 0x0, PMC
DATA_CACHE_MISSES, 0x41, 0x0, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE, 0x42, 0x1, PMC
DATA_CACHE_REFILLS_L2_SHARED, 0x42, 0x2, PMC
DATA_CACHE_REFILLS_L2_EXCLUSIVE, 0x42, 0x4, PMC
DATA_CACHE_REFILLS_L2_OWNED, 0x42, 0x8, PMC
DATA_CACHE_REFILLS_L2_MODIFIED, 0x42, 0x10, PMC
DATA_CACHE_REFILLS_L2_ALL, 0x42, 0x1E, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE_INVALID, 0x43, 0x1, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE_SHARED, 0x43, 0x2, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE_EXCLUSIVE, 0x43, 0x4, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE_OWNED, 0x43, 0x8, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE_MODIFIED, 0x43, 0x10, PMC
DATA_CACHE_REFILLS_NORTHBRIDGE_ALL, 0x43, 0x1E, PMC
DATA_CACHE_EVICTED_INVALID, 0x44, 0x1, PMC
DATA_CACHE_EVICTED_SHARED, 0x44, 0x2, PMC
DATA_CACHE_EVICTED_EXCLUSIVE, 0x44, 0x4, PMC
DATA_CACHE_EVICTED_OWNED, 0x44, 0x8, PMC
DATA_CACHE_EVICTED_MODIFIED, 0x44, 0x10, PMC
DATA_CACHE_EVICTED_PREFETCH_NTA, 0x44, 0x20, PMC
DATA_CACHE_EVICTED_NOT_PREFETCH_NTA, 0x44, 0x40, PMC
DATA_CACHE_EVICTED_ALL, 0x44, 0x1F, PMC
DTLB_L2_HIT_4K, 0x45, 0x1, PMC
DTLB_L2_HIT_2M, 0x45, 0x2, PMC
DTLB_L2_HIT_1G, 0x45, 0x4, PMC
DTLB_L2_MISS_4K, 0x46, 0x1, PMC
DTLB_L2_MISS_2M, 0x46, 0x2, PMC
DTLB_L2_MISS_1G, 0x46, 0x4, PMC
MISALIGNED_ACCESS, 0x47, 0x0, PMC
LATE_CANCEL_ACCESS, 0x48, 0x0, PMC
EARLY_CANCEL_ACCESS, 0x49, 0x0, PMC
SINGLE_BIT_ERRORS_SCRUBBER, 0x4A, 0x1, PMC
SINGLE_BIT_ERRORS_PIGGYBACK, 0x4A, 0x2, PMC
SINGLE_BIT_ERRORS_LOAD_PIPE, 0x4A, 0x4, PMC
SINGLE_BIT_ERRORS_STORE_PIPE, 0x4A, 0x8, PMC
PREFETCH_INSTRUCTION_DISPATCHED_LOAD, 0x4B, 0x1, PMC
PREFETCH_INSTRUCTION_DISPATCHED_STORE, 0x4B, 0x2, PMC
PREFETCH_INSTRUCTION_DISPATCHED_NTA, 0x4B, 0x4, PMC
DCACHE_LOCK_MISS, 0x4C, 0x2, PMC
MEMORY_REQUEST_NON_CACHEABLE, 0x65, 0x1, PMC
MEMORY_REQUEST_WRITE_COMBINED, 0x65, 0x2, PMC
MEMORY_REQUEST_STREAMING_STORE, 0x65, 0x80, PMC
DATA_PREFETCHER_CANCELED, 0x67, 0x1, PMC
DATA_PREFETCHER_ATTEMPTS, 0x67, 0x2, PMC
NORTHBRIDGE_READ_RESPONSE_EXCLUSIVE, 0x6C, 0x1, PMC
NORTHBRIDGE_READ_RESPONSE_MODIFIED, 0x6C, 0x2, PMC
NORTHBRIDGE_READ_RESPONSE_SHARED, 0x6C, 0x4, PMC
QUADWORDS_WRITE_TRANSFERS, 0x6D, 0x1, PMC
L2_REQUESTS_ICACHE_FILL, 0x7D, 0x1, PMC
L2_REQUESTS_DCACHE_FILL, 0x7D, 0x2, PMC
L2_REQUESTS_TLBCACHE_FILL, 0x7D, 0x4, PMC
L2_REQUESTS_TAG_SNOOP_REQUEST, 0x7D, 0x8, PMC
L2_REQUESTS_CANCELLED_REQUEST, 0x7D, 0x10, PMC
L2_REQUESTS_ICACHE_FILL, 0x7E, 0x1, PMC
L2_REQUESTS_DCACHE_FILL, 0x7E, 0x2, PMC
L2_REQUESTS_TLB_WALK, 0x7E, 0x4, PMC
L2_FILL_VICTIMS, 0x7F, 0x1, PMC
L2_FILL_WRITEBACKS, 0x7F, 0x2, PMC
ICACHE_FETCHES, 0x80, 0x0, PMC
ICACHE_MISSES, 0x81, 0x0, PMC
ICACHE_REFILLS_L2, 0x82, 0x0, PMC
ICACHE_REFILLS_MEM, 0x83, 0x0, PMC
ITLB_L2_HIT, 0x84, 0x0, PMC
ITLB_L2_MISS_4K, 0x85, 0x1, PMC
ITLB_L2_MISS_2M, 0x85, 0x2, PMC
PIPELINE_RESTART_STREAM_PROBE, 0x86, 0x0, PMC
INSTRUCTION_FETCH_STALL, 0x87, 0x0, PMC
RETURN_STACK_HITS, 0x88, 0x0, PMC
RETURN_STACK_OVERFLOW, 0x89, 0x0, PMC
RETIRED_CLFLUSH, 0x26, 0x0, PMC
RETIRED_CPUID, 0x26, 0x0, PMC
CPU_CLOCKS_UNHALTED, 0x76, 0x0, PMC
INSTRUCTIONS_RETIRED, 0xC0, 0x0, PMC
UOPS_RETIRED, 0xC1, 0x0, PMC
BRANCH_RETIRED, 0xC2, 0x0, PMC
BRANCH_MISPREDICT_RETIRED, 0xC3, 0x0, PMC
BRANCH_TAKEN_RETIRED, 0xC4, 0x0, PMC
BRANCH_TAKEN_MISPREDICTED_RETIRED, 0xC5, 0x0, PMC
TRANSFER_FAR_CONTROL_RETIRED, 0xC6, 0x0, PMC
BRANCH_RESYNCS_RETIRED, 0xC7, 0x0, PMC
NEAR_RETURNS_RETIRED, 0xC8, 0x0, PMC
NEAR_RETURNS_MISPREDICTED_RETIRED, 0xC9, 0x0, PMC
BRANCH_INDIRECT_MISPREDICT_RETIRED, 0xCA, 0x0, PMC
INSTRUCTIONS_RETIRED_X87, 0xCB, 0x1, PMC
INSTRUCTIONS_RETIRED_MMX, 0xCB, 0x2, PMC
INSTRUCTIONS_RETIRED_SSE, 0xCB, 0x4, PMC
FASTPATH_RETIRED_0, 0xCC, 0x1, PMC
FASTPATH_RETIRED_1, 0xCC, 0x2, PMC
FASTPATH_RETIRED_2, 0xCC, 0x4, PMC
INTERRUPTS_MASKED_CYCLES, 0xCE, 0x0, PMC
INTERRUPTS_TAKEN, 0xCF, 0x0, PMC
DECODER_EMPTY_CYCLES, 0xD0, 0x0, PMC
DISPATCH_STALLS, 0xD1, 0x0, PMC
DISPATCH_STALLS_BRANCH, 0xD2, 0x0, PMC
DISPATCH_STALLS_SERIAL, 0xD3, 0x0, PMC
DISPATCH_STALLS_SEGMENT_LOAD, 0xD4, 0x0, PMC
DISPATCH_STALLS_ROB_FULL, 0xD5, 0x0, PMC
DISPATCH_STALLS_RES_FULL, 0xD6, 0x0, PMC
DISPATCH_STALLS_FPU_FULL, 0xD7, 0x0, PMC
DISPATCH_STALLS_LS_FULL, 0xD8, 0x0, PMC
DISPATCH_STALLS_ALL_QUIT, 0xD9, 0x0, PMC
DISPATCH_STALLS_DRAIN, 0xDA, 0x0, PMC
FPU_EXCEPTIONS_X87_RECLASS, 0xDB, 0x1, PMC
FPU_EXCEPTIONS_SSE_RETYPE, 0xDB, 0x2, PMC
FPU_EXCEPTIONS_SSE_RECLASS, 0xDB, 0x4, PMC
FPU_EXCEPTIONS_MICROTRAPS, 0xDB, 0x8, PMC
DRAM_ACCESSES_ALL, 0xE0, 0x0, PMC
DRAM_ACCESSES_PAGE_HIT, 0xE0, 0x1, PMC
DRAM_ACCESSES_PAGE_MISS, 0xE0, 0x2, PMC
DRAM_ACCESSES_PAGE_CONFLICT, 0xE0, 0x4, PMC
DRAM_PAGE_TABLE_OVERFLOW_ALL, 0xE1, 0x0, PMC
DRAM_CONTROLLER_TURNAROUNDS_CHIP_SELECT, 0xE3, 0x1, PMC
DRAM_CONTROLLER_TURNAROUNDS_READ_TO_WRITE, 0xE3, 0x2, PMC
DRAM_CONTROLLER_TURNAROUNDS_WRITE_TO_READ, 0xE3, 0x4, PMC
DRAM_CONTROLLER_BYPASS_SATURATION_HIGH, 0xE4, 0x1, PMC
DRAM_CONTROLLER_BYPASS_SATURATION_MEDIUM, 0xE4, 0x2, PMC
DRAM_CONTROLLER_BYPASS_SATURATION_DRAM_INTERFACE, 0xE4, 0x4, PMC
DRAM_CONTROLLER_BYPASS_SATURATION_DRAM_QUEUE, 0xE4, 0x8, PMC
DRAM_SIZED_BLOCKS_WRITES_32, 0xE5, 0x4, PMC
DRAM_SIZED_BLOCKS_WRITES_64, 0xE5, 0x8, PMC
DRAM_SIZED_BLOCKS_READS_32, 0xE5, 0x10, PMC
DRAM_SIZED_BLOCKS_READS_64, 0xE5, 0x20, PMC
CACHE_BLOCK_COMMANDS_VICTIM, 0xEA, 0x1, PMC
CACHE_BLOCK_COMMANDS_READ, 0xEA, 0x4, PMC
CACHE_BLOCK_COMMANDS_READ_SHARED, 0xEA, 0x8, PMC
CACHE_BLOCK_COMMANDS_READ_MODIFIED, 0xEA, 0x10, PMC
CACHE_BLOCK_COMMANDS_DIRTY, 0xEA, 0x20, PMC
HYPERTRANSPORT_LINK0_CMD_DWORD_SENT, 0xF6, 0x1, PMC
HYPERTRANSPORT_LINK0_DATA_DWORD_SENT, 0xF6, 0x2, PMC
HYPERTRANSPORT_LINK0_BUFFER_RELEASE_DWORD_SENT, 0xF6, 0x4, PMC
HYPERTRANSPORT_LINK0_IDLE, 0xF6, 0x8, PMC
HYPERTRANSPORT_LINK1_CMD_DWORD_SENT, 0xF7, 0x1, PMC
HYPERTRANSPORT_LINK1_DATA_DWORD_SENT, 0xF7, 0x2, PMC
HYPERTRANSPORT_LINK1_BUFFER_RELEASE_DWORD_SENT, 0xF7, 0x4, PMC
HYPERTRANSPORT_LINK1_IDLE, 0xF7, 0x8, PMC
HYPERTRANSPORT_LINK2_CMD_DWORD_SENT, 0xF8, 0x1, PMC
HYPERTRANSPORT_LINK2_DATA_DWORD_SENT, 0xF8, 0x2, PMC
HYPERTRANSPORT_LINK2_BUFFER_RELEASE_DWORD_SENT, 0xF8, 0x4, PMC
HYPERTRANSPORT_LINK2_IDLE, 0xF8, 0x8, PMC

Clone this wiki locally