首页 > 其他分享 >英特尔定义的CPU功能

英特尔定义的CPU功能

时间:2023-12-22 18:55:25浏览次数:41  
标签:Intel 英特尔 AMD flags CPUID instructions CPU 定义

英特尔定义的CPU功能

如果需要用到半虚拟化技术肯定就需要查看cpu是否支持了。查看方式就是cat /proc/cpuinfo 查看flags是否有vmx和svm。那这些flags都表示什么呢?

86

32位又名i386-i686​和64位又名amd64​。这些cpu基本就是你的工作站,笔记本电脑或服务器。

所有的flags

完整的flags列表位于文件的内核源代码中 arch/x86/include/asm/cpufeatures.h

英特尔定义的CPU功能

flags 功能
fpu Onboard FPU (floating point support)
vme Virtual 8086 mode enhancements
de Debugging Extensions (CR4.DE)
pse Page Size Extensions (4MB memory pages)
tsc Time Stamp Counter (RDTSC)
msr Model-Specific Registers (RDMSR, WRMSR)
pae Physical Address Extensions (support for more than 4GB of RAM)
mce Machine Check Exception
cx8 CMPXCHG8 instruction (64-bit compare-and-swap)
apic Onboard APIC
sep SYSENTER/SYSEXIT
mtrr Memory Type Range Registers
pge Page Global Enable (global bit in PDEs and PTEs)
mca Machine Check Architecture
cmov CMOV instructions (conditional move) (also FCMOV)
pat Page Attribute Table
pse36 36-bit PSEs (huge pages)
pn Processor serial number
clflush Cache Line Flush instruction
dts Debug Store (buffer for debugging and profiling instructions)
acpi ACPI via MSR (temperature monitoring and clock speed modulation)
mmx Multimedia Extensions
fxsr FXSAVE/FXRSTOR, CR4.OSFXSR
sse Intel SSE vector instructions
sse2 SSE2
ss CPU self snoop
ht Hyper-Threading
tm Automatic clock control (Thermal Monitor)
ia64 Intel Itanium Architecture 64-bit (not to be confused with Intel’s 64-bit x86 architecture with flag x86-64 or “AMD64” bit indicated by flag lm)
pbe Pending Break Enable (PBE# pin) wakeup support

AMD-defined CPU features, CPUID level 0x80000001 See also Wikipedia and table 2-23 in Intel Advanced Vector Extensions Programming Reference

flags 功能
syscall SYSCALL (Fast System Call) and SYSRET (Return From Fast System Call)
mp Multiprocessing Capable.
nx Execute Disable
mmxext AMD MMX extensions
fxsr_opt FXSAVE/FXRSTOR optimizations
pdpe1gb One GB pages (allows hugepagesz=1G)
rdtscp Read Time-Stamp Counter and Processor ID
lm Long Mode (x86-64 amd64, also known as Intel 64, i.e. 64-bit capable)
3dnowext AMD 3DNow! extensions
3dnow 3DNow! (AMD vector instructions, competing with Intel’s SSE1)

Transmeta-defined CPU features, CPUID level 0x80860001

flags 功能
recovery CPU in recovery mode
longrun Longrun power control
lrti LongRun table interface
Other features, Linux-defined mapping
cxmmx Cyrix MMX extensions
k6_mtrr AMD K6 nonstandard MTRRs
cyrix_arr Cyrix ARRs (= MTRRs)
centaur_mcr Centaur MCRs (= MTRRs)
constant_tsc TSC ticks at a constant rate
up SMP kernel running on UP
art Always-Running Timer
arch_perfmon Intel Architectural PerfMon
pebs Precise-Event Based Sampling
bts Branch Trace Store
rep_good rep microcode works well
acc_power AMD accumulated power mechanism
nopl The NOPL (0F 1F) instructions
xtopology cpu topology enum extensions
tsc_reliable TSC is known to be reliable
nonstop_tsc TSC does not stop in C states
cpuid CPU has CPUID instruction itself
extd_apicid has extended APICID (8 bits)
amd_dcm multi-node processor
aperfmperf APERFMPERF
eagerfpu Non lazy FPU restore
nonstop_tsc_s3 TSC doesn’t stop in S3 state
tsc_known_freq TSC has known frequency
mce_recovery CPU has recoverable machine checks

Intel-defined CPU features, CPUID level 0x00000001 (ecx) See also Wikipedia and table 2-26 in Intel Advanced Vector Extensions Programming Reference

flags 功能
pni SSE-3 (“Prescott New Instructions”)
pclmulqdq Perform a Carry-Less Multiplication of Quadword instruction — accelerator for GCM)
dtes64 64-bit Debug Store
monitor Monitor/Mwait support (Intel SSE3 supplements)
ds_cpl CPL Qual. Debug Store
vmx Hardware virtualization, Intel VMX
smx Safer mode, TXT (TPM support)
est Enhanced SpeedStep
tm2 Thermal Monitor 2
ssse3 Supplemental SSE-3
cid Context ID
sdbg silicon debug
fma Fused multiply-add
cx16 CMPXCHG16B
xtpr Send Task Priority Messages
pdcm Performance Capabilities
pcid Process Context Identifiers
dca Direct Cache Access
sse4_1 SSE-4.1
sse4_2 SSE-4.2
x2apic x2APIC
movbe Move Data After Swapping Bytes instruction
popcnt Return the Count of Number of Bits Set to 1 instruction (Hamming weight, i.e. bit count)
tsc_deadline_timer Tsc deadline timer
aes/aes-ni Advanced Encryption Standard (New Instructions)
xsave Save Processor Extended States, also provides XGETBY,XRSTOR,XSETBY
avx Advanced Vector Extensions
f16c 16-bit fp conversions (CVT16)
rdrand Read Random Number from hardware random number generator instruction
hypervisor Running on a hypervisor

VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001

flags 功能
rng Random Number Generator present (xstore)
rng_en Random Number Generator enabled
ace on-CPU crypto (xcrypt)
ace_en on-CPU crypto enabled
ace2 Advanced Cryptography Engine v2
ace2_en ACE v2 enabled
phe PadLock Hash Engine
phe_en PHE enabled
pmm PadLock Montgomery Multiplier
pmm_en PMM enabled

More extended AMD flags CPUID level 0x80000001, ecx

flags 功能
lahf_lm Load AH from Flags (LAHF) and Store AH into Flags (SAHF) in long mode
cmp_legacy If yes HyperThreading not valid
svm “Secure virtual machine”, AMD-V
extapic Extended APIC space
cr8_legacy CR8 in 32-bit mode
abm Advanced Bit Manipulation
sse4a SSE-4A
misalignsse indicates if a general-protection exception (#GP) is generated when some legacy SSE instructions operate on unaligned data. Also depends on CR0 and Alignment Checking bit
3dnowprefetch 3DNow prefetch instructions
osvw indicates OS Visible Workaround, which allows the OS to work around processor errata.
ibs Instruction Based Sampling
xop extended AVX instructions
skinit SKINIT/STGI instructions
wdt Watchdog timer
lwp Light Weight Profiling
fma4 4 operands MAC instructions
tce translation cache extension
nodeid_msr NodeId MSR
tbm Trailing Bit Manipulation
topoext Topology Extensions CPUID leafs
perfctr_core Core Performance Counter Extensions
perfctr_nb NB Performance Counter Extensions
bpext data breakpoint extension
ptsc performance time-stamp counter
perfctr_l2 L2 Performance Counter Extensions
mwaitx MWAIT extension (MONITORX/MWAITX)

Auxiliary flags, Linux defined - For features scattered in various CPUID levels

flags 功能
ring3mwait Ring 3 MONITOR/MWAIT
cpuid_fault Intel CPUID faulting
cpb AMD Core Performance Boost
epb IA32_ENERGY_PERF_BIAS support
cat_l3 Cache Allocation Technology L3
cat_l2 Cache Allocation Technology L2
cdp_l3 Code and Data Prioritization L3
invpcid_single effectively invpcid and CR4.PCIDE=1
hw_pstate AMD HW-PState
proc_feedback AMD ProcFeedbackInterface
sme AMD Secure Memory Encryption
pti Kernel Page Table Isolation (Kaiser)
retpoline Retpoline mitigation for Spectre variant 2 (indirect branches)
retpoline_amd AMD Retpoline mitigation
intel_ppin Intel Processor Inventory Number
avx512_4vnniw AVX-512 Neural Network Instructions
avx512_4fmaps AVX-512 Multiply Accumulation Single precision
mba Memory Bandwidth Allocation
rsb_ctxsw Fill RSB on context switches
Virtualization flags Linux defined
tpr_shadow Intel TPR Shadow
vnmi Intel Virtual NMI
flexpriority Intel FlexPriority
ept Intel Extended Page Table
vpid Intel Virtual Processor ID
vmmcall prefer VMMCALL to VMCALL

Intel-defined CPU features, CPUID level 0x00000007:0 (ebx)

flags 功能
fsgsbase {RD/WR}{FS/GS}BASE instructions
tsc_adjust TSC adjustment MSR
bmi1 1st group bit manipulation extensions
hle Hardware Lock Elision
avx2 AVX2 instructions
smep Supervisor Mode Execution Protection
bmi2 2nd group bit manipulation extensions
erms Enhanced REP MOVSB/STOSB
invpcid Invalidate Processor Context ID
rtm Restricted Transactional Memory
cqm Cache QoS Monitoring
mpx Memory Protection Extension
rdt_a Resource Director Technology Allocation
avx512f AVX-512 foundation
avx512dq AVX-512 Double/Quad instructions
rdseed The RDSEED instruction
adx The ADCX and ADOX instructions
smap Supervisor Mode Access Prevention
clflushopt CLFLUSHOPT instruction
clwb CLWB instruction
intel_pt Intel Processor Tracing
avx512pf AVX-512 Prefetch
avx512er AVX-512 Exponential and Reciprocal
avx512cd AVX-512 Conflict Detection
sha_ni SHA1/SHA256 Instruction Extensions
avx512bw AVX-512 Byte/Word instructions
avx512vl AVX-512 128/256 Vector Length extensions

Extended state features, CPUID level 0x0000000d:1 (eax)

flags 功能
xsaveopt Optimized XSAVE
xsavec XSAVEC
xgetbv1 XGETBV with ECX = 1
xsaves XSAVES/XRSTORS

Intel-defined CPU QoS sub-leaf, CPUID level 0x0000000F:0 (edx)

flags 功能
cqm_llc LLC QoS

Intel-defined CPU QoS sub-leaf, CPUID level 0x0000000F:1 (edx)

flags 功能
cqm_occup_llc LLC occupancy monitoring
cqm_mbm_total LLC total MBM monitoring
cqm_mbm_local LLC local MBM monitoring

AMD-defined CPU features, CPUID level 0x80000008 (ebx)

flags 功能
clzero CLZERO instruction
irperf instructions retired performance counter
xsaveerptr Always save/restore FP error pointers

Thermal and Power Management leaf, CPUID level 0x00000006 (eax)

flags 功能
dtherm (formerly dts) digital thermal sensor
ida Intel Dynamic Acceleration
arat Always Running APIC Timer
pln Intel Power Limit Notification
pts Intel Package Thermal Status
hwp Intel Hardware P-states
hwp_notify HWP notification
hwp_act_window HWP Activity Window
hwp_epp HWP Energy Performance Preference
hwp_pkg_req HWP package-level request

AMD SVM Feature Identification, CPUID level 0x8000000a (edx)

flags 功能
npt AMD Nested Page Table support
lbrv AMD LBR Virtualization support
svm_lock AMD SVM locking MSR
nrip_save AMD SVM next_rip save
tsc_scale AMD TSC scaling support
vmcb_clean AMD VMCB clean bits support
flushbyasid AMD flush-by-ASID support
decodeassists AMD Decode Assists support
pausefilter AMD filtered pause intercept
pfthreshold AMD pause filter threshold
avic Virtual Interrupt Controller
vmsave_vmload Virtual VMSAVE VMLOAD
vgif Virtual GIF

Intel-defined CPU features, CPUID level 0x00000007:0 (ecx)

flags 功能
avx512vbmi AVX512 Vector Bit Manipulation instructions
umip User Mode Instruction Protection
pku Protection Keys for Userspace
ospke OS Protection Keys Enable
avx512_vbmi2 Additional AVX512 Vector Bit Manipulation instructions
gfni Galois Field New Instructions
vaes Vector AES
vpclmulqdq Carry-Less Multiplication Double Quadword
avx512_vnni Vector Neural Network Instructions
avx512_bitalg VPOPCNT[B,W] and VPSHUF-BITQMB instructions
avx512_vpopcntdq POPCNT for vectors of DW/QW
la57 5-level page tables
rdpid RDPID instruction
AMD-defined CPU features, CPUID level 0x80000007 (ebx)
flags 功能
overflow_recov MCA overflow recovery support
succor uncorrectable error containment and recovery
smca Scalable MCA

Detected CPU bugs (Linux-defined)

flags 功能
f00f Intel F00F
fdiv CPU FDIV
coma Cyrix 6x86 coma
amd_tlb_mmatch tlb_mmatch AMD Erratum 383
amd_apic_c1e apic_c1e AMD Erratum 400
11ap Bad local APIC aka 11AP
fxsave_leak FXSAVE leaks FOP/FIP/FOP
clflush_monitor AAI65, CLFLUSH required before MONITOR
sysret_ss_attrs SYSRET doesn’t fix up SS attrs
espfix ”” IRET to 16-bit SS corrupts ESP/RSP high bits
null_seg Nulling a selector preserves the base
swapgs_fence SWAPGS without input dep on GS
monitor IPI required to wake up remote CPU
amd_e400 CPU is among the affected by Erratum 400
cpu_meltdown CPU is affected by meltdown attack and needs kernel page table isolation
spectre_v1 CPU is affected by Spectre variant 1 attack with conditional branches
spectre_v2 CPU is affected by Spectre variant 2 attack with indirect branches
spec_store_bypass CPU is affected by the Speculative Store Bypass vulnerability (Spectre variant 4).

标签:Intel,英特尔,AMD,flags,CPUID,instructions,CPU,定义
From: https://www.cnblogs.com/zero-clown/p/intel-defined-cpu-function-ubxjx.html

相关文章

  • 游标循环中定义变量
    在游标循环中定义变量,与外面定义变量有何不同,如下代码所示:CREATETABLE#temp(NAMEVARCHAR(50));INSERTINTO#tempVALUES('1');INSERTINTO#tempVALUES('2');DECLARE@iINT=1;DECLARE@djbhVARCHAR(50);DECLAREA_CRCURSORFORWARD_ONLYFORSELECTNAMEFR......
  • 国产六核CPU,三屏异显,赋能新一代商显
    当今时代,以数字化、网络化、智能化为特征的第四次工业革命正在进行,伴随着国内汽车新能源的普及,加速了国产高安全芯片的快速发展,D9360是芯驰推出的一款六核CPU的高度集成、低功耗化、高安全性芯片,采用AEC-Q100车规级芯片工艺,并且通过ISO26262ASIL_B功能安全认证,是国产高性能芯片的......
  • spring项目中自定义注解
    使用BeanPostProcessorBeanPostProcessor是Spring框架提供的一个接口,用于在Spring容器中对Bean进行后处理。自定义注解后,可以实现一个BeanPostProcessor实现类,在BeanPostProcessor的postProcessAfterInitialization()方法中,使用ClassPathScanningCandidateResol......
  • Camstar弹出自定义VP
    写在公共类里:  主页面代码如下: 按钮里写代码,或者某方法里写主页面的传递参数定义:  弹出页面如下:   弹出页面代码如下: ......
  • el-select自定义指令用于触底加载分页请求options数据(附上完整代码和接口可直接用)
    问题描述某些情况下,下拉框需要做触底加载,发请求,获取option的数据为了方便复用,笔者封装了一个自定义指令另外也提供了一个简单的接口,用于演示我们先看看效果图效果图思路分析注意事项一el-select要不嵌入到body中为何,不嵌入到body标签中呢?答曰,更加方便自定义指令管理......
  • CPU测试解决方案浅析
    一、CPU概述中央处理器(CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。应用处理器SoC是在中央处理器的基础上扩展音视频功能和专用接口的超大规模集成电路,是智能设备的“大脑”,在智能设备中起着运算及调用其他各功能构件的作用。CPU内部主要由运算器、......
  • Unity3D 自定义Shader 与 内置Shader 如何整合详解
    Unity3D是一款非常流行的游戏开发引擎,它提供了丰富的内置Shader供开发者使用。然而,有时候我们需要根据具体需求自定义Shader来实现特定的效果。本文将详细介绍Unity3D中如何整合自定义Shader和内置Shader,并给出相关的技术详解和代码实现。对啦!这里有个游戏开发交流小组里面聚集了......
  • 如何实现自定义表情?
    1、继承实现协议RCEmoticonTabSource2、在实现的代理方法loadEmoticonView返回View,(返回的以下图中红框区域,里面的视图及逻辑需要自己来添加实现)3、在会话页面viewdidLoad里添加表情包示例代码(Demo源码2中的类RCDCustomerEmoticonTab):RCDCustomerEmoticonTab.h@inter......
  • 自定义中间表(中介模型)
    1多对多关系中,第三张表的建立 -默认使用ManyToMany,自动创建-使用中介模型 -即手动创建第三张表,又要使用好用的查询-完全自己写第三张表#使用中介模型classAuthor(models.Model):nid=models.AutoField(primary_key=True)name=models.CharField(max_length=......
  • WPF自定义控件之图形解锁控件 ScreenUnLock
    ScreenUnLock与智能手机上的图案解锁功能一样。通过绘制图形达到解锁或记忆图形的目的。本人突发奇想,把手机上的图形解锁功能移植到WPF中。也应用到了公司的项目中。在创建ScreenUnLock之前,先来分析一下图形解锁的实现思路。1.创建九宫格原点(或更多格子),每个点定义一个坐标值......