Beispiel #1
0
        public SkylakeClientL3()
        {
            ulong cboConfig;

            architectureName = "Skylake Client L3";

            // intel developer manual table 2-30 says bits 0-3 encode number of C-Box
            // "subtract one to determine number of CBo units"
            Ring0.ReadMsr(MSR_UNC_CBO_CONFIG, out cboConfig);
            CboCount = (int)((cboConfig & 0x7) - 1);
            cboData  = new NormalizedCboCounterData[CboCount];

            monitoringConfigs    = new MonitoringConfig[1];
            monitoringConfigs[0] = new HitrateConfig(this);
        }
Beispiel #2
0
        public HaswellClientL3()
        {
            ulong cboConfig;

            architectureName = "Haswell Client L3";

            // intel developer manual table 2-30 syas bits 0-3 encode number of C-Box
            // "derive value by -1"
            Ring0.ReadMsr(MSR_UNC_CBO_CONFIG, out cboConfig);
            CboCount = (int)((cboConfig & 0x7) - 1);
            cboData  = new NormalizedCboCounterData[CboCount];

            monitoringConfigs    = new MonitoringConfig[3];
            monitoringConfigs[0] = new HitrateConfig(this);
            monitoringConfigs[1] = new SnoopHitConfig(this);
            monitoringConfigs[2] = new SnoopInvalidateConfig(this);
        }