public void Initialize() { dataFabric.ProgramPerfCounters( GetNBPerfCtlValue(0xE0, 1, true, 0), // DCT0 page hit GetNBPerfCtlValue(0xE0, 0b110, true, 0), // DCT0 page miss GetNBPerfCtlValue(0xE0, 0b1000, true, 0), // DCT1 page hit GetNBPerfCtlValue(0xE0, 0b110000, true, 0)); // DCT1 page miss }
public void Initialize() { dataFabric.ProgramPerfCounters( GetNBPerfCtlValue(0xEA, 0x20, true, 0), // Change-To-Dirty GetNBPerfCtlValue(0xEA, 0x14, true, 0), // Read Block/Read Block Modified GetNBPerfCtlValue(0xEA, 0x8, true, 0), // Read Block Shared GetNBPerfCtlValue(0xEA, 0x1, true, 0)); // Victim/Writeback }
public void Initialize() { dataFabric.ProgramPerfCounters( GetNBPerfCtlValue(0xE9, 0xA8, true, 0), // CPU to mem GetNBPerfCtlValue(0xE9, 0xA4, true, 0), // CPU to IO GetNBPerfCtlValue(0xE9, 0xA2, true, 0), // IO to mem GetNBPerfCtlValue(0xE9, 0xA1, true, 0)); // IO to IO }
public void Initialize() { dataFabric.ProgramPerfCounters( GetNBPerfCtlValue(0xE0, 0xF7, true, 4), // L3 read request, all cores, all requests GetNBPerfCtlValue(0xE1, 0xF7, true, 4), // L3 miss, as above GetNBPerfCtlValue(0xE2, 0xFF, true, 4), // L3 fills GetNBPerfCtlValue(0xE3, 0x8, true, 4)); // L3 modified evictions }