Bagaimana cara mengetahui apakah prosesor saya memiliki fitur tertentu? (Set instruksi 64-bit, virtualisasi yang dibantu perangkat keras, akselerator kriptografi, dll.) Saya tahu bahwa file /proc/cpuinfo
berisi informasi ini, dalam flags
baris, tapi apa arti dari semua singkatan samar ini?
Misalnya, diberikan ekstrak berikut dari /proc/cpuinfo
, apakah saya memiliki CPU 64-bit? Apakah saya memiliki virtualisasi perangkat keras?
model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
…
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
Jawaban yang Diterima:
x86
(32-bit alias i386–i686 dan 64-bit alias amd64. Dengan kata lain, workstation, laptop, atau server Anda.)
FAQ:Apakah saya punya…
- 64-bit (x86_64/AMD64/Intel64)?
lm
- Virtualisasi perangkat keras (VMX/AMD-V)?
vmx
(Intel),svm
(AMD) - AES yang dipercepat (AES-NI)?
aes
- TXT (TPM)?
smx
- sebuah hypervisor (diumumkan seperti itu)?
hypervisor
Sebagian besar fitur lainnya hanya menarik bagi penyusun atau pembuat kernel.
Semua bendera
Daftar lengkap ada di sumber kernel, dalam file arch/x86/include/asm/cpufeatures.h
.
Fitur CPU yang ditentukan oleh Intel, level CPUID 0x00000001 (edx)
Lihat juga Wikipedia dan tabel 2-27 di Referensi Pemrograman Ekstensi Vektor Lanjutan Intel
fpu
:FPU onboard (dukungan floating point)vme
:Peningkatan mode virtual 8086de
:Ekstensi Debug (CR4.DE)pse
:Ekstensi Ukuran Halaman (halaman memori 4 MB)tsc
:Penghitung Stempel Waktu (RDTSC)msr
:Register Model-Spesifik (RDMSR, WRMSR)pae
:Ekstensi Alamat Fisik (mendukung lebih dari 4 GB RAM)mce
:Pengecualian Pemeriksaan Mesincx8
:instruksi CMPXCHG8 (bandingkan-dan-swap 64-bit)apic
:APIC Terpasangsep
:SYSENTER/SYSEXITmtrr
:Register Rentang Jenis Memoripge
:Page Global Enable (global bit dalam PDE dan PTE)mca
:Arsitektur Pemeriksaan Mesincmov
:instruksi CMOV (gerakan bersyarat) (juga FCMOV)pat
:Tabel Atribut Halamanpse36
:PSE 36-bit (halaman besar)pn
:Nomor seri prosesorclflush
:Instruksi Cache Line Flushdts
:Debug Store (buffer untuk debugging dan instruksi pembuatan profil)acpi
:ACPI melalui MSR (pemantauan suhu dan modulasi kecepatan clock)mmx
:Ekstensi Multimediafxsr
:FXSAVE/FXRSTOR, CR4.OSFXSRsse
:Instruksi vektor Intel SSEsse2
:SSE2ss
:pengintaian CPU sendiriht
:Hyper-Threading dan/atau multi-coretm
:Kontrol jam otomatis (Monitor Termal)ia64
:Intel Itanium Architecture 64-bit (jangan dikelirukan dengan arsitektur x86 64-bit Intel dengan flagx86-64
atau bit “AMD64” ditunjukkan oleh flaglm
)pbe
:Dukungan pengaktifan Pending Break Enable (PBE# pin)
Fitur CPU yang ditentukan AMD, level CPUID 0x80000001
Lihat juga Wikipedia dan tabel 2-23 di Referensi Pemrograman Ekstensi Vektor Lanjutan Intel
syscall
:SYSCALL (Panggilan Sistem Cepat) dan SYSRET (Kembali Dari Panggilan Sistem Cepat)mp
:Multiprocessing Mampu.nx
:Jalankan Nonaktifkanmmxext
:Ekstensi AMD MMXfxsr_opt
:Pengoptimalan FXSAVE/FXRSTORpdpe1gb
:Satu halaman GB (memungkinkanhugepagesz=1G
)rdtscp
:Membaca Penghitung Cap Waktu dan ID Prosesorlm
:Mode Panjang (x86-64:amd64, juga dikenal sebagai Intel 64, yaitu mampu 64-bit)3dnowext
:AMD 3DSekarang! ekstensi3dnow
:3DSekarang! (Petunjuk vektor AMD, bersaing dengan Intel SSE1)
Fitur CPU yang ditentukan transmeta, level CPUID 0x80860001
recovery
:CPU dalam mode pemulihanlongrun
:Kontrol daya jangka panjanglrti
:Antarmuka tabel LongRun
Fitur lain, pemetaan yang ditentukan Linux
cxmmx
:Ekstensi MMX Cyrixk6_mtrr
:MTRR tidak standar AMD K6cyrix_arr
:ARR Cyrix (=MTRR)centaur_mcr
:MCR Centaur (=MTRR)constant_tsc
:TSC berdetak dengan kecepatan konstanup
:Kernel SMP berjalan di ATASart
:Timer Selalu Berjalanarch_perfmon
:Intel Architectural PerfMonpebs
:Pengambilan Sampel Berdasarkan Peristiwa Tepatbts
:Toko Jejak Cabangrep_good
:mikrokode rep berfungsi dengan baikacc_power
:Mekanisme daya akumulasi AMDnopl
:Instruksi NOPL (0F 1F)xtopology
:ekstensi enum topologi cputsc_reliable
:TSC dikenal dapat diandalkannonstop_tsc
:TSC tidak berhenti di status Ccpuid
:CPU memiliki instruksi CPUID itu sendiriextd_apicid
:telah memperpanjang APICID (8 bit)amd_dcm
:prosesor multi-simpulaperfmperf
:APERFMPERFeagerfpu
:Pemulihan FPU yang tidak malasnonstop_tsc_s3
:TSC tidak berhenti dalam status S3tsc_known_freq
:TSC memiliki frekuensi yang diketahuimce_recovery
:CPU memiliki pemeriksaan mesin yang dapat dipulihkan
Fitur CPU yang ditentukan oleh Intel, level CPUID 0x00000001 (ecx)
Lihat juga Wikipedia dan tabel 2-26 di Referensi Pemrograman Ekstensi Vektor Lanjutan Intel
pni
:SSE-3 (“Petunjuk Baru Prescott”)pclmulqdq
:Melakukan instruksi Perkalian Kuadrat yang Kurang Membawa — akselerator untuk GCM)dtes64
:Toko Debug 64-bitmonitor
:Dukungan Monitor/Mwait (suplemen Intel SSE3)ds_cpl
:Kualitas CPL. Toko Debugvmx
:Virtualisasi perangkat keras:Intel VMXsmx
:Mode lebih aman:TXT (dukungan TPM)est
:Peningkatan Kecepatantm2
:Monitor Termal 2ssse3
:SSE-3 Tambahancid
:ID Kontekssdbg
:debug silikonfma
:Fused multiply-addcx16
:CMPXCHG16Bxtpr
:Mengirim Pesan Prioritas Tugaspdcm
:Kemampuan Performapcid
:Pengidentifikasi Konteks Prosesdca
:Akses Cache Langsungsse4_1
:SSE-4.1sse4_2
:SSE-4.2x2apic
:x2APICmovbe
:Memindahkan Data Setelah Mengganti instruksi Bytespopcnt
:Mengembalikan Count of Number of Bits Set ke 1 instruksi (Hamming weight, mis. bit count)tsc_deadline_timer
:Timer batas waktu tscaes
/aes-ni
:Standar Enkripsi Lanjutan (Petunjuk Baru)xsaves
:Save Processor Extended States:juga menyediakan XGETBY,XRSTOR,XSETBYavx
:Ekstensi Vektor Lanjutanf16c
:Konversi fp 16-bit (CVT16)rdrand
:Membaca Angka Acak dari instruksi pembuat angka acak perangkat kerashypervisor
:Berjalan di hypervisor
Fitur CPU yang ditentukan VIA/Cyrix/Centaur, level CPUID 0xC0000001
rng
:Penghasil Angka Acak hadir (xstore)rng_en
:Penghasil Angka Acak diaktifkanace
:kripto di-CPU (xcrypt)ace_en
:kripto di CPU diaktifkanace2
:Mesin Kriptografi Tingkat Lanjut v2ace2_en
:ACE v2 diaktifkanphe
:Mesin Hash PadLockphe_en
:PHE diaktifkanpmm
:Pengganda PadLock Montgomerypmm_en
:PMM diaktifkan
Tanda AMD yang lebih diperluas:level CPUID 0x80000001, ecx
lahf_lm
:Muat AH dari Flags (LAHF) dan Simpan AH ke Flags (SAHF) dalam mode panjangcmp_legacy
:Jika ya HyperThreading tidak validsvm
:“Mesin virtual aman”:AMD-Vextapic
:Ruang APIC yang diperluascr8_legacy
:CR8 dalam mode 32-bitabm
:Manipulasi Bit Tingkat Lanjutsse4a
:SSE-4Amisalignsse
:menunjukkan jika pengecualian perlindungan umum (#GP) dihasilkan ketika beberapa instruksi SSE lama beroperasi pada data yang tidak selaras. Juga tergantung pada bit CR0 dan Alignment Checking3dnowprefetch
:instruksi prefetch 3DNowosvw
:menunjukkan Solusi Terlihat OS, yang memungkinkan OS untuk mengatasi kesalahan prosesor.ibs
:Pengambilan Sampel Berdasarkan Instruksixop
:instruksi AVX yang diperluasskinit
:petunjuk SKINIT/STGIwdt
:Pengatur waktu pengawaslwp
:Pembuatan Profil Ringanfma4
:4 operan instruksi MACtce
:ekstensi cache terjemahannodeid_msr
:NodeId MSRtbm
:Manipulasi Bit Trailingtopoext
:Daun CPUID Ekstensi Topologiperfctr_core
:Ekstensi Penghitung Kinerja Intiperfctr_nb
:Ekstensi Penghitung Kinerja NBbpext
:ekstensi titik henti sementara dataptsc
:penghitung stempel waktu kinerjaperfctr_l2
:Ekstensi Penghitung Kinerja L2mwaitx
:MWAIT
ekstensi (MONITORX
/MWAITX
)
Tanda bantu:Didefinisikan oleh Linux – Untuk fitur yang tersebar di berbagai level CPUID
ring3mwait
:Deringkan 3 MONITOR/MWAITcpuid_fault
:Intel CPUID rusakcpb
:Peningkatan Kinerja Inti AMDepb
:dukungan IA32_ENERGY_PERF_BIAScat_l3
:Teknologi Alokasi Cache L3cat_l2
:Teknologi Alokasi Cache L2cdp_l3
:Kode dan Prioritas Data L3invpcid_single
:efektifinvpcid
danCR4.PCIDE=1
hw_pstate
:AMD HW-PSstateproc_feedback
:AMD ProcFeedbackInterfacesme
:Enkripsi Memori Aman AMDpti
:Isolasi Tabel Halaman Kernel (Kaiser)retpoline
:Mitigasi Retpoline untuk Spectre varian 2 (cabang tidak langsung)retpoline_amd
:Mitigasi AMD Retpolineintel_ppin
:Nomor Inventaris Prosesor Intelavx512_4vnniw
:Petunjuk Jaringan Neural AVX-512avx512_4fmaps
:AVX-512 Multiply Accumulation Presisi tunggalmba
:Alokasi Bandwidth Memorirsb_ctxsw
:Isi RSB pada sakelar konteks
Tanda virtualisasi:Linux ditentukan
tpr_shadow
:Intel TPR Shadowvnmi
:Intel Virtual NMIflexpriority
:Intel FlexPriorityept
:Tabel Halaman Diperluas Intelvpid
:ID Prosesor Virtual Intelvmmcall
:lebih sukaVMMCALL
keVMCALL
Fitur CPU yang ditentukan oleh Intel, level CPUID 0x00000007:0 (ebx)
fsgsbase
:{RD/WR}{FS/GS}Petunjuk DASARtsc_adjust
:MSR penyesuaian TSCbmi1
:Ekstensi manipulasi bit grup pertamahle
:Penguncian Perangkat Kerasavx2
:instruksi AVX2smep
:Perlindungan Eksekusi Mode Pengawasbmi2
:ekstensi manipulasi bit grup ke-2erms
:Peningkatan REP MOVSB/STOSBinvpcid
:Membatalkan ID Konteks Pemrosesrtm
:Memori Transaksional Terbatascqm
:Pemantauan QoS Cachempx
:Ekstensi Perlindungan Memorirdt_a
:Alokasi Teknologi Direktur Sumber Dayaavx512f
:Yayasan AVX-512avx512dq
:AVX-512 Instruksi Double/Quadrdseed
:Instruksi RDSEEDadx
:Instruksi ADCX dan ADOXsmap
:Pencegahan Akses Mode Pengawasclflushopt
:CLFLUSHOPT
instruksiclwb
:CLWB
instruksiintel_pt
:Pelacakan Prosesor Intelavx512pf
:Prefetch AVX-512avx512er
:AVX-512 Eksponensial dan Timbal Balikavx512cd
:Deteksi Konflik AVX-512sha_ni
:Ekstensi Instruksi SHA1/SHA256avx512bw
:AVX-512 Byte/Word instruksiavx512vl
:AVX-512 128/256 Ekstensi Panjang Vektor
Fitur status yang diperluas, level CPUID 0x0000000d:1 (eax)
xsaveopt
:XSAVE
yang dioptimalkanxsavec
:XSAVEC
xgetbv1
:XGETBV
dengan ECX =1xsaves
:XSAVES
/XRSTORS
Sub-leaf QoS CPU yang ditentukan oleh Intel, level CPUID 0x0000000F:0 (edx)
cqm_llc
:QoS LLC
Sub-leaf QoS CPU yang ditentukan oleh Intel, level CPUID 0x0000000F:1 (edx)
cqm_occup_llc
:pemantauan hunian LLCcqm_mbm_total
:Total pemantauan MBM LLCcqm_mbm_local
:Pemantauan MBM lokal LLC
Fitur CPU yang ditentukan AMD, level CPUID 0x80000008 (ebx)
clzero
:CLZERO
instruksiirperf
:instruksi pensiunan penghitung kinerjaxsaveerptr
:Selalu simpan/pulihkan penunjuk kesalahan FP
Leaf Manajemen Daya dan Termal, level CPUID 0x00000006 (eax)
dtherm
(sebelumnyadts
):sensor termal digitalida
:Akselerasi Dinamis Intelarat
:Selalu Menjalankan Timer APICpln
:Pemberitahuan Batas Daya Intelpts
:Status Termal Paket Intelhwp
:Intel Hardware P-statehwp_notify
:Pemberitahuan HWPhwp_act_window
:Jendela Aktivitas HWPhwp_epp
:Preferensi Kinerja Energi HWPhwp_pkg_req
:Permintaan tingkat paket HWP
Identifikasi Fitur AMD SVM, level CPUID 0x8000000a (edx)
npt
:Dukungan Tabel Halaman Bersarang AMDlbrv
:Dukungan Virtualisasi AMD LBRsvm_lock
:AMD SVM mengunci MSRnrip_save
:AMD SVM next_rip simpantsc_scale
:Dukungan penskalaan AMD TSCvmcb_clean
:Dukungan bit bersih AMD VMCBflushbyasid
:Dukungan AMD flush-by-ASIDdecodeassists
:Dukungan AMD Decode Assistspausefilter
:Intersep jeda yang difilter AMDpfthreshold
:Ambang batas filter jeda AMDavic
:Pengontrol Interupsi Virtualvmsave_vmload
:Virtual VMSAVE VMLOADvgif
:GIF Virtual
Fitur CPU yang ditentukan oleh Intel, level CPUID 0x00000007:0 (ecx)
avx512vbmi
:Instruksi Manipulasi Bit Vektor AVX512umip
:Perlindungan Instruksi Mode Penggunapku
:Kunci Perlindungan untuk Ruang Penggunaospke
:Tombol Perlindungan OS Diaktifkanavx512_vbmi2
:Petunjuk Manipulasi Bit Vektor AVX512 tambahangfni
:Petunjuk Baru Bidang Galoisvaes
:Vektor AESvpclmulqdq
:Perkalian Double Quadword Tanpa Membawaavx512_vnni
:Petunjuk Jaringan Saraf Vektoravx512_bitalg
:Instruksi VPOPCNT[B,W] dan VPSHUF-BITQMBavx512_vpopcntdq
:POPCNT untuk vektor DW/QWla57
:tabel halaman 5 tingkatrdpid
:instruksi RDPID
Fitur CPU yang ditentukan AMD, level CPUID 0x80000007 (ebx)
overflow_recov
:dukungan pemulihan luapan MCAsuccor
:penahanan dan pemulihan kesalahan yang tidak dapat diperbaikismca
:MCA yang Dapat Diskalakan
Bug CPU yang terdeteksi (ditentukan Linux)
f00f
:Intel F00Ffdiv
:FDIV CPUcoma
:Cyrix 6×86 komaamd_tlb_mmatch
:tlb_mmatch
AMD Erratum 383amd_apic_c1e
:apic_c1e
AMD Erratum 40011ap
:APIC lokal buruk alias 11APfxsave_leak
:FXSAVE membocorkan FOP/FIP/FOPclflush_monitor
:AAI65, CLFLUSH diperlukan sebelum MONITORsysret_ss_attrs
:SYSRET tidak memperbaiki atribut SSespfix
:“” IRET ke SS 16-bit merusak bit tinggi ESP/RSPnull_seg
:Meniadakan pemilih mempertahankan basisswapgs_fence
:SWAPGS tanpa masukan pada GSmonitor
:IPI diperlukan untuk mengaktifkan CPU jarak jauhamd_e400
:CPU termasuk yang terpengaruh oleh Erratum 400cpu_meltdown
:CPU dipengaruhi oleh serangan krisis dan membutuhkan isolasi tabel halaman kernelspectre_v1
:CPU dipengaruhi oleh serangan Spectre varian 1 dengan cabang bersyaratspectre_v2
:CPU dipengaruhi oleh serangan Spectre varian 2 dengan cabang tidak langsungspec_store_bypass
:CPU dipengaruhi oleh kerentanan Speculative Store Bypass (Varian Spectre 4).
P.S.
Daftar ini berasal dari arch/x86/include/asm/cpufeatures.h
di sumber kernel. Bendera terdaftar dalam urutan yang sama dengan kode sumber. Tolong bantu dengan menambahkan tautan ke deskripsi fitur ketika fitur tersebut hilang, dengan menulis deskripsi singkat tentang fitur yang memiliki nama yang tidak ekspresif, dan dengan memperbarui daftar untuk versi kernel baru. Daftar saat ini berasal dari Linux 4.15 ditambah beberapa tambahan selanjutnya.