/proc/cpuinfo 中的各个字段,都代表什么意思

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
云服务器 ECS,u1 2核4GB 3个月
简介: `/proc/cpuinfo` 在 Linux 中显示 CPU 指令集信息,包括浮点运算、V86模式、调试、大页支持、时间戳计数器等。列表详细解释了各种 FLAG,如 FPU、VME、PSE、TSC 等,涉及处理器硬件功能和指令集。还包括多媒体扩展(MMX、SSE、SSE2)、超线程(HT)、虚拟化技术(VMX)、加密指令(AES)、高级向量扩展(AVX)等特性。

在Linux下执行 /proc/cpuinfo 会看到指令集的信息。得到一大长串信息,看不懂。查查资料,汇集在这里



CPUID中的FLAG字段包含了CPU支持的各种特性标识,这些标识通常反映了处理器的硬件功能和指令集支持情况。下面是对列出的各个标志的详细解释:

  1. fpu: 浮点单元(Floating Point Unit),表示CPU内置有浮点运算单元。
  2. vme: V86模式扩充(Virtual Mode Extension),允许在保护模式下运行V86模式程序。
  3. de: Debugging Extensions,支持调试功能。
  4. pse: 页面大小扩展(Page Size Extension),支持4MB大页。
  5. tsc: 时间戳计数器(Time Stamp Counter),用于高精度时间测量。
  6. msr: 模型特定寄存器(Model Specific Registers),提供对处理器状态的访问。
  7. pae: 物理地址扩展(Physical Address Extension),支持超过4GB的物理内存。
  8. mce: 机器校验错误(Machine Check Exception),提供硬件错误检测和报告机制。
  9. cx8: Compare and Exchange 8-byte指令支持,用于原子操作。
  10. apic: 高级可编程中断控制器(Advanced Programmable Interrupt Controller)支持。
  11. sep: 快速系统调用(Fast System Call),简化系统调用过程。
  12. mtrr: 内存类型范围寄存器(Memory Type Range Register),用于内存类型区域管理。
  13. pge: 页面全局使能(Page Global Enable),支持非分页模式下的大页。
  14. mca: 机器校验架构(Machine Check Architecture),提供更详细的硬件错误信息。
  15. cmov: 条件移动指令(Conditional Move),用于基于条件的跳转或赋值。
  16. pat: 页面属性表(Page Attribute Table),用于内存类型映射。
  17. pse36: 36位页面大小扩展,支持更大的物理地址空间。
  18. clflush: Cache Line Flush指令,用于强制刷新缓存行。
  19. dts: Debug Trace Store,用于调试跟踪。
  20. acpi: 支持ACPI(Advanced Configuration and Power Interface)标准。
  21. mmx: 多媒体扩展(MultiMedia eXtension),用于多媒体和图形处理。
  22. fxsr: 快速浮点保存/恢复(Fast Floating Save/Restore),用于快速保存和恢复浮点状态。
  23. sse: 流式SIMD扩展(Streaming SIMD Extensions),用于向量运算。
  24. sse2: SSE的扩展,提供了更多SIMD指令。
  25. ss: 单线程规格执行(Single Thread Speculative Execution),用于优化指令预测。
  26. ht: 超线程(Hyper-Threading),允许多个线程并行执行。
  27. tm: 热门(Thermal Monitor),提供温度监控功能。
  28. pbe: 电源节省增强(Power Boost Enable),用于节能模式。
  29. syscall: 系统调用指令支持,简化了从用户态到内核态的切换。
  30. nx: 执行禁止位(No Execute Bit),用于防止代码注入攻击。
  31. pdpe1gb: 1GB页面大小扩展。
  32. rdtscp: 读取时间戳计数器(Read Time Stamp Counter),包括停顿指令。
  33. lm: 长模式支持(Long Mode),用于64位运算。
  34. constant_tsc: 时间戳计数器在所有频率下都是恒定的。
  35. arch_perfmon: 架构性能监控。
  36. pebs: 精确事件计数器(Precise Event Based Sampling)。
  37. bts: 分支跟踪存储器(Branch Target Store)。
  38. rep_good: REP指令的正确实现。
  39. nopl: NOP指令的正确实现。
  40. xtopology: 扩展拓扑信息。
  41. nonstop_tsc: 在频率变化时不重置TSC。
  42. aperfmperf: 性能监控。
  43. eagerfpu: FPU上下文切换优化。
  44. pni: 表示支持SSE3指令集。
  45. pclmulqdq: 多精度整数乘法指令。
  46. dtes64: 64位调试跟踪存储器。
  47. monitor: 监视器和等待指令支持。
  48. ds_cpl: 数据段特权级别检查。
  49. vmx: 虚拟机扩展(Virtual Machine Extensions),用于虚拟化技术。
  50. smx: 安全模式扩展(Safe Mode Extensions)。
  51. est: 扩展系统时间戳计数器。
  52. tm2: 热门2(Thermal Monitor 2),提供更高级的温度监控。
  53. ssse3: SSE的进一步扩展,增加了更多SIMD指令。
  54. cx16: Compare and Exchange 16-byte指令支持。
  55. xtpr: 扩展热插拔请求。
  56. pdcm: 性能数据收集和管理。
  57. pcid: 进程上下文标识符,用于虚拟化。
  58. dca: 数据流分析,用于优化内存访问。
  59. sse4_1: SSE4.1指令集的扩展。
  60. sse4_2: SSE4.2指令集的扩展。
  61. x2apic: 扩展APIC实现在64位模式下。
  62. popcnt: 位计数指令,用于快速计算二进制数中1的个数。
  63. tsc_deadline_timer: TSC截止时间定时器。
  64. aes: 加密标准指令集,用于AES加密算法。
  65. xsave: 扩展状态保存,用于保存和恢复浮点和AVX状态。
  66. avx: 高级向量扩展,增加了256位向量指令。
  67. f16c: 半精度浮点转换。
  68. rdrand: 随机数生成指令。
  69. lahf_lm: 扩展了LAHF指令。
  70. arat: 预测性分支目标缓冲区。
  71. epb: 执行禁止位。
  72. pln: 性能限制通知。
  73. pts: 停滞时间监视器。
  74. dtherm: 数字热传感器。
  75. tpr_shadow: TPR影子。
  76. vnmi: 不可屏蔽中断。
  77. flexpriority: 灵活优先级。
  78. ept: 扩展页表,用于虚拟化。
  79. vpid: 虚拟页标识符,用于虚拟化。
  80. fsgsbase: 快速系统GS基址访问。
  81. smep: 安全模式执行保护。
  82. erms: 扩展资源管理服务。
  83. xsaveopt: XSAVE优化,减少XSAVE/XRSTOR指令的开销。
相关文章
|
2月前
|
Unix Shell Linux
如何使用 Awk 打印文件中的字段和列
如何使用 Awk 打印文件中的字段和列
89 0
|
2月前
|
SQL 存储 关系型数据库
【mysql】将逗号分割的字段内容转换为多行并group by
【mysql】将逗号分割的字段内容转换为多行并group by
|
11月前
|
SQL 关系型数据库 MySQL
MySQL变量使用与介绍之为查询结果增加序号列和自定义序号列
SQL三:用户表(包含字段有:用户ID[自增]、姓名、性别、民族、出生日期、身份证号),无论查询条件如何,要求查询的结果显示一个行号列(即:第一行显示1,第二行显示2,第三行显示3,依此类推)
211 0
|
Ubuntu Linux
[Linux] 输入命令ls -laF后的各字段含义解析
在登陆Ubuntu之后,我们切换超级管理用户root: su root 然后切换到其所在的主目录: cd ~ 然后以该目录下的所有文件以及文件夹为例进行介绍,我们输入命令查看该目录下面的所有文件以及文件夹(包括隐藏文件): ls -laF 然后显示的内容为:
170 0
[Linux] 输入命令ls -laF后的各字段含义解析