在Linux下执行 /proc/cpuinfo 会看到指令集的信息。得到一大长串信息,看不懂。查查资料,汇集在这里
CPUID中的FLAG字段包含了CPU支持的各种特性标识,这些标识通常反映了处理器的硬件功能和指令集支持情况。下面是对列出的各个标志的详细解释:
- fpu: 浮点单元(Floating Point Unit),表示CPU内置有浮点运算单元。
- vme: V86模式扩充(Virtual Mode Extension),允许在保护模式下运行V86模式程序。
- de: Debugging Extensions,支持调试功能。
- pse: 页面大小扩展(Page Size Extension),支持4MB大页。
- tsc: 时间戳计数器(Time Stamp Counter),用于高精度时间测量。
- msr: 模型特定寄存器(Model Specific Registers),提供对处理器状态的访问。
- pae: 物理地址扩展(Physical Address Extension),支持超过4GB的物理内存。
- mce: 机器校验错误(Machine Check Exception),提供硬件错误检测和报告机制。
- cx8: Compare and Exchange 8-byte指令支持,用于原子操作。
- apic: 高级可编程中断控制器(Advanced Programmable Interrupt Controller)支持。
- sep: 快速系统调用(Fast System Call),简化系统调用过程。
- mtrr: 内存类型范围寄存器(Memory Type Range Register),用于内存类型区域管理。
- pge: 页面全局使能(Page Global Enable),支持非分页模式下的大页。
- mca: 机器校验架构(Machine Check Architecture),提供更详细的硬件错误信息。
- cmov: 条件移动指令(Conditional Move),用于基于条件的跳转或赋值。
- pat: 页面属性表(Page Attribute Table),用于内存类型映射。
- pse36: 36位页面大小扩展,支持更大的物理地址空间。
- clflush: Cache Line Flush指令,用于强制刷新缓存行。
- dts: Debug Trace Store,用于调试跟踪。
- acpi: 支持ACPI(Advanced Configuration and Power Interface)标准。
- mmx: 多媒体扩展(MultiMedia eXtension),用于多媒体和图形处理。
- fxsr: 快速浮点保存/恢复(Fast Floating Save/Restore),用于快速保存和恢复浮点状态。
- sse: 流式SIMD扩展(Streaming SIMD Extensions),用于向量运算。
- sse2: SSE的扩展,提供了更多SIMD指令。
- ss: 单线程规格执行(Single Thread Speculative Execution),用于优化指令预测。
- ht: 超线程(Hyper-Threading),允许多个线程并行执行。
- tm: 热门(Thermal Monitor),提供温度监控功能。
- pbe: 电源节省增强(Power Boost Enable),用于节能模式。
- syscall: 系统调用指令支持,简化了从用户态到内核态的切换。
- nx: 执行禁止位(No Execute Bit),用于防止代码注入攻击。
- pdpe1gb: 1GB页面大小扩展。
- rdtscp: 读取时间戳计数器(Read Time Stamp Counter),包括停顿指令。
- lm: 长模式支持(Long Mode),用于64位运算。
- constant_tsc: 时间戳计数器在所有频率下都是恒定的。
- arch_perfmon: 架构性能监控。
- pebs: 精确事件计数器(Precise Event Based Sampling)。
- bts: 分支跟踪存储器(Branch Target Store)。
- rep_good: REP指令的正确实现。
- nopl: NOP指令的正确实现。
- xtopology: 扩展拓扑信息。
- nonstop_tsc: 在频率变化时不重置TSC。
- aperfmperf: 性能监控。
- eagerfpu: FPU上下文切换优化。
- pni: 表示支持SSE3指令集。
- pclmulqdq: 多精度整数乘法指令。
- dtes64: 64位调试跟踪存储器。
- monitor: 监视器和等待指令支持。
- ds_cpl: 数据段特权级别检查。
- vmx: 虚拟机扩展(Virtual Machine Extensions),用于虚拟化技术。
- smx: 安全模式扩展(Safe Mode Extensions)。
- est: 扩展系统时间戳计数器。
- tm2: 热门2(Thermal Monitor 2),提供更高级的温度监控。
- ssse3: SSE的进一步扩展,增加了更多SIMD指令。
- cx16: Compare and Exchange 16-byte指令支持。
- xtpr: 扩展热插拔请求。
- pdcm: 性能数据收集和管理。
- pcid: 进程上下文标识符,用于虚拟化。
- dca: 数据流分析,用于优化内存访问。
- sse4_1: SSE4.1指令集的扩展。
- sse4_2: SSE4.2指令集的扩展。
- x2apic: 扩展APIC实现在64位模式下。
- popcnt: 位计数指令,用于快速计算二进制数中1的个数。
- tsc_deadline_timer: TSC截止时间定时器。
- aes: 加密标准指令集,用于AES加密算法。
- xsave: 扩展状态保存,用于保存和恢复浮点和AVX状态。
- avx: 高级向量扩展,增加了256位向量指令。
- f16c: 半精度浮点转换。
- rdrand: 随机数生成指令。
- lahf_lm: 扩展了LAHF指令。
- arat: 预测性分支目标缓冲区。
- epb: 执行禁止位。
- pln: 性能限制通知。
- pts: 停滞时间监视器。
- dtherm: 数字热传感器。
- tpr_shadow: TPR影子。
- vnmi: 不可屏蔽中断。
- flexpriority: 灵活优先级。
- ept: 扩展页表,用于虚拟化。
- vpid: 虚拟页标识符,用于虚拟化。
- fsgsbase: 快速系统GS基址访问。
- smep: 安全模式执行保护。
- erms: 扩展资源管理服务。
- xsaveopt: XSAVE优化,减少XSAVE/XRSTOR指令的开销。