如何确认Intel Core i7-4790 CPU是否支持通过MSR禁用硬件预取?
如何判断Intel Core i7-4790是否支持通过MSR禁用硬件预取?
背景
春季我要协助一门硬件安全课程,正在搭建缓存侧信道实验环境。实验核心环节之一是测定缓存延迟,但硬件预取机制会干扰测量结果,导致数据偏差,因此需要禁用硬件预取。
已尝试的操作
- 查阅Intel官方手册后,找到控制硬件预取的模型特定寄存器(MSR)为0x1A0(十进制416)。安装
msr-tools工具后,读取该寄存器值验证工具可用性:
$ sudo rdmsr 416 -0 0000000000850089
该值显示硬件预取处于默认启用状态。
- 尝试向寄存器写入新值(设置第9位以禁用硬件预取),但操作失败:
$ sudo wrmsr 416 850601 wrmsr: CPU 0 cannot set MSR 0x000001a0 to 0x00000000000cfaa9
按照msr-tools文档提示执行sudo modprobe msr后重试,在所有CPU(0-7)上操作均失败。
疑问
我推测这款Intel Core i7-4790处理器可能不支持通过MSR禁用硬件预取,但查阅Intel软件开发手册及芯片组资料后未找到明确结论,想请教:如何判断该CPU是否支持禁用硬件预取?
系统信息
lscpu输出
$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Vendor ID: GenuineIntel Model name: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz CPU family: 6 Model: 60 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 Stepping: 3 CPU max MHz: 4000.0000 CPU min MHz: 800.0000 BogoMIPS: 7183.36 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx f xsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_ good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx e st tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms inv pcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d Virtualization features: Virtualization: VT-x Caches (sum of all): L1d: 128 KiB (4 instances) L1i: 128 KiB (4 instances) L2: 1 MiB (4 instances) L3: 8 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0-7 Vulnerabilities: Itlb multihit: KVM: Mitigation: VMX disabled L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable Mds: Mitigation; Clear CPU buffers; SMT vulnerable Meltdown: Mitigation; PTI Mmio stale data: Unknown: No mitigations Retbleed: Not affected Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected Srbds: Mitigation; Microcode Tsx async abort: Not affected
uname输出
$ uname -a Linux 5.19.0-45-generic #46~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 7 15:06:04 UTC 20 x86_64 x86_64 x86_64 GNU/Linux
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

