从 Cpuinfo 读取 CPU 标志

Yahya Irmak 2022年5月11日
从 Cpuinfo 读取 CPU 标志

本文将解释如何在 Linux 中读取 cpuinfo 信息。稍后,我们将研究什么是 CPU 标志及其含义。

在 Linux 中阅读 cpuinfo

/proc/cpuinfo 文件包含有关计算机中 CPU 的详细信息。使用以下命令读取文件的内容。

cat /proc/cpuinfo

处理器信息

在这里,我们可以看到,

  • 处理器数量,
  • CPU 供应商、系列、型号名称,
  • CPU 的内核数量,
  • 缓存、TLB、clflush 和地址大小,
  • 许多标志和其他信息。

在本文的其余部分,我们将解释这些标志中最常见的含义。有关所有标志的详细信息,请参阅 arch/x86/include/asm/cpufeature.h

/proc/cpuinfo 中最常见的标志

一个 CPU 可以具有数百个功能,这些功能因型号而异。在这里,我们将包括官方文档中描述的最常见标志的定义。

AMD 定义的 CPU 特性

标志 说明
SYSCALL 系统调用/系统调用
MP 国会议员能力
NX 执行禁用
MMXEXT AMD MMX 扩展
FXSR_OPT FXSAVE/FXRSTOR 优化
GBPAGES pdpe1gb GB 页面
LM 长模式 (x86-64)

扩展 AMD 标志

标志 说明
LAHF_LM 长模式下的 LAHF/SAHF
CMP_LEGACY 如果是,超线程无效
SVM 安全虚拟机
ABM 高级位操作
MISALIGNSSE 未对齐的 SSE 模式
3DNOWPREFETCH 3DNow 预取指令
OSVW 操作系统可见的解决方法
IBS 基于指令的采样
XOP 扩展的 AVX 指令
SKINIT SKINIT/STGI 指令
WDT 看门狗定时器
LWP 轻量级分析
TCE 翻译缓存扩展
TBM 尾随位操作
TOPOEXT 拓扑扩展 CPUID 叶
PERFCTR_CORE 核心性能计数器扩展
BPEXT 数据断点扩展

Intel 定义的 CPU 特性

标志 描述
FPU 板载 FPU
VME 虚拟模式扩展
DE 调试扩展
PSE 页面大小扩展
TSC 时间戳计数器
MSR 特定于模型的寄存器
PAE 物理地址扩展
MCE 机器检查异常
MTRR 内存类型范围寄存器
PGE 页面全局启用
MCA 机器检查架构
PAT 页面属性表
MMX 多媒体扩展
PBE 挂起中断启用
DTES64 64 位调试存储
MWAIT 监视器 监视器/Mwait 支持
VMX 硬件虚拟化
SMX 更安全的模式
TM2 热监视器 2
XTPR 发送任务优先级消息
PDCM 性能能力
PCID 进程上下文标识符
DCA 直接缓存访问
HYPERVISOR 在管理程序上运行

虚拟化标志

标志 说明
EPT 英特尔扩展页表
VPID 英特尔虚拟处理器 ID
NPT AMD 嵌套页表支持
LBRV AMD LBR 虚拟化支持
NRIPS nrip_save AMD SVM next_rip 保存
TSCRATEMSR tsc_scale AMD TSC 缩放支持
VMCBCLEAN vmcb_clean AMD VMCB 清洁位支持
VMCBCLEAN AMD 按 ASID 刷新支持
FLUSHBYASID AMD 解码辅助支持
PAUSEFILTER AMD 过滤暂停拦截
PFTHRESHOLD AMD 暂停过滤阈值
VMMCALL 更喜欢 vmmcall 到 vmcall

辅助标志

标志 描述
IDA 英特尔动态加速
ARAT 始终运行 APIC 计时器
CPB AMD 核心性能提升
EPB IA32_ENERGY_PERF_BIAS 支持
PLN 英特尔功率限制通知
PTS 英特尔封装散热状态
DTHERM 数字热传感器
PROC_FEEDBACK AMD ProcFeedback 接口
INTEL_PT 英特尔处理器跟踪

检测到的错误标志

标志 描述:F00F
F00F 英特尔 F00F
FDIV FPU FDIV
COMA Cyrix 6x86 coma
AMD_TLB_MMATCH tlb_mmatch AMD 勘误表 383
AMD_APIC_C1E apic_c1e AMD 勘误表 400
11AP 错误的本地 APIC 又名 11AP
FXSAVE_LEAK FXSAVE 泄漏 FOP/FIP/FOP
CLFLUSH_MONITOR 在 MONITOR 之前需要 AAI65、CLFLUSH
SYSRET_SS_ATTRS SYSRET 不修复 SS attrs
Author: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn