/ Proc / cpuinfo හි ඇති ධජ වල තේරුම කුමක්ද?


222

මගේ ප්‍රොසෙසරයට විශේෂ ලක්‍ෂණයක් තිබේදැයි මා කියන්නේ කෙසේද? (බිට් 64 උපදෙස් කට්ටලය, දෘඩාංග ආධාරක අථත්‍යකරණය, ගුප්ත ලේඛන ත්වරණකාරක ආදිය) ගොනුවේ /proc/cpuinfoමෙම තොරතුරු flagsපේළියේ අඩංගු බව මම දනිමි , නමුත් මෙම සියලු ගුප්ත කෙටි යෙදුම්වල තේරුම කුමක්ද?

උදාහරණයක් ලෙස, පහත දැක්වෙන සාරය ලබා දී ඇති විට /proc/cpuinfo, මට 64-bit CPU එකක් තිබේද? මට දෘඩාංග අථත්‍යකරණය තිබේද?

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

Answers:


287

x86

(32-බිට් aka i386 - i686 සහ 64-bit aka amd64. වෙනත් වචන වලින් කිවහොත්, ඔබේ වැඩපොළ, ලැප්ටොප් හෝ සේවාදායකය.)

නිති අසන ප්‍රශ්න: මට තිබේද…

  • 64-බිට් (x86_64 / AMD64 / Intel64)? lm
  • දෘඩාංග අථත්‍යකරණය (VMX / AMD-V)? vmx(ඉන්ටෙල්), svm(AMD)
  • වේගවත් AES (AES-NI)? aes
  • TXT (TPM)? smx
  • හයිපර්වයිසර් (එලෙස ප්‍රකාශයට පත් කර ඇත)? hypervisor

අනෙක් බොහෝ අංග සම්පාදනය කරන්නේ කර්ලර් හෝ කර්නල් කතුවරුන් සඳහා පමණි.

සියලුම කොඩි

සම්පූර්ණ ලැයිස්තුගත කිරීම කර්නල් ප්‍රභවයේ, ගොනුවේ arch/x86/include/asm/cpufeatures.hඇත.

Intel- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x00000001 (edx)

ඉන්ටෙල් උසස් දෛශික දිගු කිරීමේ ක්‍රමලේඛන යොමුවෙහි විකිපීඩියා සහ වගුව 2-27 බලන්න

AMD- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x80000001

විකිපීඩියා සහ ඉන්ටෙල් උසස් දෛශික දිගු කිරීමේ ක්‍රමලේඛන යොමුවෙහි 2-23 වගුවද බලන්න

Transmeta- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x80860001

  • recovery: ප්‍රතිසාධන ප්‍රකාරයේදී CPU
  • longrun: දිගු බල පාලනය
  • lrti: LongRun වගු අතුරුමුහුණත

වෙනත් විශේෂාංග, ලිනක්ස් නිර්වචනය කළ සිතියම්කරණය

  • cxmmx: Cyrix MMX දිගු
  • k6_mtrr: AMD K6 ප්‍රමිතියෙන් තොර MTRRs
  • cyrix_arr: සිරික්ස් ARRs (= MTRRs)
  • centaur_mcr: සෙන්ටෝර් MCRs (= MTRRs)
  • constant_tsc: ටීඑස්සී කිනිතුල්ලන් නියත අනුපාතයකින්
  • up: යූපී මත ධාවනය වන එස්එම්පී කර්නලය
  • art: සෑම විටම ධාවනය වන ටයිමරය
  • arch_perfmon: ඉන්ටෙල් වාස්තු විද්‍යාත්මක පර්ෆ්මන්
  • pebs: නිරවද්‍ය-සිදුවීම් පදනම් කරගත් නියැදීම
  • bts: ශාඛා හෝඩුවාවක්
  • rep_good: rep මයික්‍රෝ කේතය හොඳින් ක්‍රියා කරයි
  • acc_power: AMD සමුච්චිත බල යාන්ත්‍රණය
  • nopl: NOPL (0F 1F) උපදෙස්
  • xtopology: cpu topology enum දිගු
  • tsc_reliable: TSC විශ්වසනීය බව දන්නා කරුණකි
  • nonstop_tsc: සී ප්‍රාන්තවල ටීඑස්සී නතර නොවේ
  • cpuid: CPU සතුව CPUID උපදෙස් ඇත
  • extd_apicid: APICID (බිටු 8) දීර් extended කර ඇත
  • amd_dcm: බහු නෝඩ් සකසනය
  • aperfmperf: APERFMPERF
  • eagerfpu: කම්මැලි නොවන FPU ප්‍රතිෂ් .ාපනය
  • nonstop_tsc_s3: ටීඑස්සී එස් 3 තත්වයේ නතර නොවේ
  • tsc_known_freq: TSC දන්නා සංඛ්‍යාතය ඇත
  • mce_recovery: CPU වෙතින් අයකර ගත හැකි යන්ත්‍ර චෙක්පත් ඇත

Intel- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x00000001 (ecx)

ඉන්ටෙල් උසස් දෛශික දිගු කිරීමේ ක්‍රමලේඛන යොමුවෙහි විකිපීඩියා සහ වගුව 2-26 ද බලන්න

VIA / Cyrix / Centaur- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0xC0000001

  • rng: සසම්භාවී සංඛ්‍යා උත්පාදක යන්ත්රය (xstore)
  • rng_en: සසම්භාවී සංඛ්‍යා උත්පාදක යන්ත්‍රය සක්‍රීය කර ඇත
  • ace: on-CPU crypto (xcrypt)
  • ace_en: on-CPU crypto සක්‍රීය කර ඇත
  • ace2: උසස් ගුප්ත ලේඛන එන්ජිම v2
  • ace2_en: ACE v2 සක්‍රීය කර ඇත
  • phe: පැඩ්ලොක් හැෂ් එන්ජිම
  • phe_en: PHE සක්‍රීය කර ඇත
  • pmm: පැඩ්ලොක් මොන්ට්ගොමරි ගුණකය
  • pmm_en: PMM සක්‍රීය කර ඇත

වඩාත් දිගු කළ AMD ධජ: CPUID මට්ටම 0x80000001, ecx

  • lahf_lm: ධජ (AHH) වලින් AH පටවන්න සහ දිගු මාදිලියේ AH ධජ වලට (SAHF) ගබඩා කරන්න
  • cmp_legacy: ඔව් නම් හයිපර්ට්‍රෙඩින් වලංගු නොවේ
  • svm: “ආරක්ෂිත අතථ්‍ය යන්ත්‍රය”: AMD-V
  • extapic: දීර් AP කරන ලද APIC අවකාශය
  • cr8_legacy: CR8 32-bit මාදිලියේ
  • abm: උසස් බිට් හැසිරවීම
  • sse4a: SSE-4A
  • misalignsse: සමහර උරුම SSE උපදෙස් නොබැඳි දත්ත මත ක්‍රියාත්මක වන විට සාමාන්‍ය ආරක්ෂණ ව්‍යතිරේකයක් (#GP) ජනනය කරන්නේද යන්න දක්වයි. CR0 සහ පෙළගැස්ම පරීක්ෂා කිරීමේ බිට් මත ද රඳා පවතී
  • 3dnowprefetch: 3DNow පෙර සැකසුම් උපදෙස්
  • osvw: OS දෘශ්‍ය වර්කරවුන්ඩ් පෙන්නුම් කරයි , එමඟින් ප්‍රොසෙසර දෝෂයන් වටා ක්‍රියා කිරීමට මෙහෙයුම් පද්ධතියට ඉඩ ලබා දේ.
  • ibs: උපදෙස් පදනම් කරගත් නියැදීම
  • xop: දීර් AV AVX උපදෙස්
  • skinit: SKINIT / STGI උපදෙස්
  • wdt: වොච්ඩෝග් ටයිමරය
  • lwp: සැහැල්ලු බර පැතිකඩ
  • fma4: 4 MAC උපදෙස් ක්‍රියාත්මක කරයි
  • tce: පරිවර්තන හැඹිලි දිගුව
  • nodeid_msr: NodeId MSR
  • tbm: බිට් හැසිරවීම පසුපස
  • topoext: ස්ථලක දිගු CPUID පත්‍ර
  • perfctr_core: මූලික කාර්ය සාධන කවුන්ටර දිගු
  • perfctr_nb: සැ.යු. කාර්ය සාධන කවුන්ටර දිගු
  • bpext: දත්ත කඩන දිගුව
  • ptsc: කාර්ය සාධන කාල මුද්දර කවුන්ටරය
  • perfctr_l2: L2 කාර්ය සාධන කවුන්ටර දිගු
  • mwaitx: MWAITදිගුව ( MONITORX/ MWAITX)

සහායක කොඩි: ලිනක්ස් අර්ථ දක්වා ඇත - විවිධ CPUID මට්ටම්වල විසිරී ඇති විශේෂාංග සඳහා

  • ring3mwait: මුද්ද 3 මොනිටර් / MWAIT
  • cpuid_fault: Intel CPUID දෝෂය
  • cpb: AMD මූලික කාර්ය සාධනය ඉහළ නැංවීම
  • epb: IA32_ENERGY_PERF_BIAS සහාය
  • cat_l3: හැඹිලි වෙන් කිරීමේ තාක්ෂණය L3
  • cat_l2: හැඹිලි වෙන් කිරීමේ තාක්ෂණය L2
  • cdp_l3: කේත සහ දත්ත ප්‍රමුඛතා L3
  • invpcid_single: effectively ලදායී invpcidහාCR4.PCIDE=1
  • hw_pstate: AMD HW-PState
  • proc_feedback: AMD ProcFeedbackInterface
  • sme: AMD ආරක්ෂිත මතක සංකේතනය
  • pti: කර්නල් පිටු වගු හුදකලාව (කයිසර්)
  • retpoline: ස්පෙක්ටර් ප්‍රභේදය 2 (වක්‍ර ශාඛා) සඳහා නැවත සැකසීම අවම කිරීම
  • retpoline_amd: AMD Retpoline අවම කිරීම
  • intel_ppin: ඉන්ටෙල් ප්‍රොසෙසර් ඉන්වෙන්ටරි අංකය
  • avx512_4vnniw: AVX-512 ස්නායුක ජාල උපදෙස්
  • avx512_4fmaps: AVX-512 ගුණ කිරීමේ සමුච්චය තනි නිරවද්‍යතාවය
  • mba: මතක කලාප පළල වෙන් කිරීම
  • rsb_ctxsw: සන්දර්භය ස්විචයන් මත RSB පුරවන්න

අථත්‍යකරණ ධජ: ලිනක්ස් අර්ථ දක්වා ඇත

  • tpr_shadow: ඉන්ටෙල් ටීපීආර් සෙවනැල්ල
  • vnmi: ඉන්ටෙල් අතථ්‍ය එන්එම්අයි
  • flexpriority: Intel FlexPriority
  • ept: ඉන්ටෙල් විස්තාරිත පිටු වගුව
  • vpid: ඉන්ටෙල් අතථ්‍ය ප්‍රොසෙසර් හැඳුනුම්පත
  • vmmcall: කැමති VMMCALLකිරීමටVMCALL

Intel- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x00000007: 0 (ebx)

විස්තාරිත රාජ්‍ය ලක්ෂණ, CPUID මට්ටම 0x0000000d: 1 (eax)

  • xsaveopt: ප්‍රශස්ත XSAVE
  • xsavec: XSAVEC
  • xgetbv1: XGETBVECX = 1 සමඟ
  • xsaves: XSAVES/XRSTORS

Intel- නිර්වචනය කරන ලද CPU QoS උප පත්‍ර, CPUID මට්ටම 0x0000000F: 0 (edx)

  • cqm_llc: LLC QoS

ඉන්ටෙල්-නිර්වචනය කරන ලද CPU QoS උප පත්‍ර, CPUID මට්ටම 0x0000000F: 1 (edx)

  • cqm_occup_llc: LLC පදිංචිය අධීක්ෂණය
  • cqm_mbm_total: LLC මුළු MBM අධීක්ෂණය
  • cqm_mbm_local: LLC දේශීය MBM අධීක්ෂණය

AMD- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x80000008 (ebx)

  • clzero: CLZEROඋපදෙස්
  • irperf: උපදෙස් විශ්‍රාමික කාර්ය සාධන කවුන්ටරය
  • xsaveerptr: සෑම විටම FP දෝෂ දර්ශක සුරකින්න / ප්‍රතිස්ථාපනය කරන්න

තාප හා බල කළමනාකරණ පත්‍ර, CPUID මට්ටම 0x00000006 (eax)

  • dtherm(කලින් dts): ඩිජිටල් තාප සංවේදකය
  • ida: ඉන්ටෙල් ගතික ත්වරණය
  • arat: සෑම විටම APIC ටයිමරය ධාවනය කිරීම
  • pln: ඉන්ටෙල් බල සීමා දැනුම්දීම
  • pts: ඉන්ටෙල් පැකේජයේ තාප තත්ත්වය
  • hwp: ඉන්ටෙල් දෘඩාංග පී-ජනපද
  • hwp_notify: HWP දැනුම්දීම
  • hwp_act_window: HWP ක්‍රියාකාරකම් කවුළුව
  • hwp_epp: HWP බලශක්ති කාර්ය සාධන මනාපය
  • hwp_pkg_req: HWP ඇසුරුම් මට්ටමේ ඉල්ලීම

AMD SVM විශේෂාංග හඳුනාගැනීම, CPUID මට්ටම 0x8000000a (edx)

  • npt: AMD නෙස්ටඩ් පිටු වගු සහාය
  • lbrv: AMD LBR අථත්‍යකරණ සහාය
  • svm_lock: AMD SVM අගුලු දැමීමේ MSR
  • nrip_save: AMD SVM next_rip save
  • tsc_scale: AMD TSC පරිමාණ සහාය
  • vmcb_clean: AMD VMCB පිරිසිදු බිටු සහාය
  • flushbyasid: AMD ෆ්ලෂ්-බයි-ඒඑස්අයිඩී සහාය
  • decodeassists: AMD විකේතනය සහාය සඳහා සහාය වේ
  • pausefilter: AMD පෙරහන් විරාම අන්තර්ග්‍රහණය
  • pfthreshold: AMD විරාම පෙරහන් සීමාව
  • avic: අතථ්‍ය බාධා පාලකය
  • vmsave_vmload: අතථ්‍ය VMSAVE VMLOAD
  • vgif: අතථ්‍ය GIF

Intel- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x00000007: 0 (ecx)

  • avx512vbmi: AVX512 දෛශික බිට් හැසිරවීමේ උපදෙස්
  • umip: පරිශීලක ප්‍රකාර උපදෙස් ආරක්ෂාව
  • pku: පරිශීලක අවකාශය සඳහා ආරක්ෂණ යතුරු
  • ospke: OS ආරක්ෂණ යතුරු සක්‍රීය කරන්න
  • avx512_vbmi2: අතිරේක AVX512 දෛශික බිටු හැසිරවීමේ උපදෙස්
  • gfni: ගැලෝයිස් ෆීල්ඩ් නව උපදෙස්
  • vaes: දෛශික AES
  • vpclmulqdq: අඩු ගුණනය ද්විත්ව Quadword
  • avx512_vnni: දෛශික ස්නායුක ජාල උපදෙස්
  • avx512_bitalg: VPOPCNT [B, W] සහ VPSHUF-BITQMB උපදෙස්
  • avx512_vpopcntdq: DW / QW දෛශික සඳහා POPCNT
  • la57: 5 මට්ටමේ පිටු වගු
  • rdpid: RDPID උපදෙස්

AMD- නිර්වචනය කරන ලද CPU විශේෂාංග, CPUID මට්ටම 0x80000007 (ebx)

  • overflow_recov: MCA පිටාර ගැලීමේ සහාය
  • succor: නිවැරදි කළ නොහැකි දෝෂ පාලනය සහ ප්‍රතිසාධනය
  • smca: පරිමාණය කළ හැකි MCA

අනාවරණය කරගත් CPU දෝෂ (ලිනක්ස්-නිර්වචනය)

  • f00f: Intel F00F
  • fdiv: CPU FDIV
  • coma: සිරික්ස් 6x86 කෝමා
  • amd_tlb_mmatch: tlb_mmatchAMD Erratum 383
  • amd_apic_c1e: apic_c1eAMD Erratum 400
  • 11ap: නරක දේශීය APIC aka 11AP
  • fxsave_leak: FXSAVE කාන්දු වන්නේ FOP / FIP / FOP
  • clflush_monitor: AAI65, CLFLUSH මොනිටරයට පෙර අවශ්‍ය වේ
  • sysret_ss_attrs: SYSRET විසින් SS attrs සවි නොකරයි
  • espfix: "" IRET සිට 16-bit SS දූෂිත ඊඑස්පී / ආර්එස්පී ඉහළ බිටු
  • null_seg: තේරීම් කාරකයක් අහෝසි කිරීම පදනම ආරක්ෂා කරයි
  • swapgs_fence: GS හි ආදාන ඩෙප් නොමැතිව SWAPGS
  • monitor: දුරස්ථ CPU අවදි කිරීමට IPI අවශ්‍යයි
  • amd_e400: Erratum 400 හි බලපෑමට ලක්වූවන් අතර CPU ද වේ
  • cpu_meltdown: දියවන ප්‍රහාරයෙන් CPU බලපෑමට ලක්වන අතර කර්නල් පිටු වගු හුදකලාව අවශ්‍ය වේ
  • spectre_v1: කොන්දේසි සහිත ශාඛා සමඟ ස්පෙක්ටර් ප්‍රභේදන 1 ප්‍රහාරයෙන් CPU බලපායි
  • spectre_v2: වක්‍ර ශාඛා සමඟ ස්පෙක්ටර් ප්‍රභේදන 2 ප්‍රහාරයෙන් CPU බලපායි
  • spec_store_bypass: සමපේක්ෂන වෙළඳසැල් බයිපාස් අවදානම (ස්පෙක්ටර් ප්‍රභේදය 4) මගින් CPU බලපායි .

PS මෙම ලැයිස්තුව ව්‍යුත්පන්න කර arch/x86/include/asm/cpufeatures.hඇත්තේ කර්නල් ප්‍රභවයෙන් ය. ධජ ප්‍රභව කේතයට සමාන අනුපිළිවෙලින් ලැයිස්තුගත කර ඇත. විශේෂාංග අතුරුදහන් වූ විට ඒවා විස්තර කිරීම සඳහා සබැඳි එකතු කිරීමෙන්, පැහැදිලි කළ නොහැකි නම් ඇති විශේෂාංග පිළිබඳ කෙටි විස්තරයක් ලිවීමෙන් සහ නව කර්නල් අනුවාද සඳහා ලැයිස්තුව යාවත්කාලීන කිරීමෙන් කරුණාකර උදව් කරන්න. වත්මන් ලැයිස්තුව ලිනක්ස් 4.15 වෙතින් වන අතර පසුව එකතු කිරීම් කිහිපයක් ඇත.


2
තොරතුරු සහිත ප්‍රශ්නයක් සහ එහි සාරාංශගත හා සවිස්තරාත්මක පිළිතුර සඳහා ගිල්ස් සහ සංස්කාරකවරුන්ට ස්තූතියි. දැන්, ඕනෑම CPU හැකියාවන් පරීක්ෂා කිරීම සඳහා, මම NixCraft වෙතින් ලබාගත් පහත සඳහන් දෑ භාවිතා කරමි, උදා: Intel CPU සඳහා : $ egrep -wo ^flags|vmx|ept|vpid|npt|tpr_shadow|flexpriority|vnmi|lm|aes' /proc/cpuinfo --color | sort -u. තවද CLI / GUI විශිෂ්ට අයි-නෙක්ස් ද ඇත.
tuk0z

කැපී පෙනෙන පැහැදිලි කිරීම් එකතුවක් & සබැඳි; දායක වූ සැමට ස්තූතියි.
පෝල් ගියර්

දෝෂ දත්ත පැමිණියේ කොහෙන්ද? එය cpufeatures.h ගොනුවේ ලැයිස්තුගත වී ඇති බවක් නොපෙනේ.
ඩ්‍රැසිසිල්

Ra ඩ්‍රැසිසිල් මට මතක හැටියට සියලුම ඇතුළත් කිරීම්වල දක්වා ඇති අනුවාදයෙන් cpufeatures.h. විස්තර සංස්කරණය කර ඇත්තේ ඒවා වඩාත් අවබෝධ කරගත හැකි සහ තොරතුරු දැනගැනීමට සලස්වන අයුරිනි.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

1
ReTrevorBoydSmith හරියටම කාලානුක්‍රමිකව නොව සමීපයි. සෑම ධජයකම අභ්‍යන්තර අංකයක් ඇති අතර ධජ සංඛ්‍යාත්මකව ලැයිස්තුගත කර ඇත. සංඛ්‍යා පවරන්නේ කවුරුන්ද යන්න මත පදනම්ව සංඛ්‍යා පරාස කිහිපයක් ඇත. සංඛ්‍යා බොහෝ දුරට එක් එක් පරාසය තුළ කාලානුක්‍රමිකව පවරා ඇත.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

74

ARM

ARM ප්‍රොසෙසර වල, විශේෂාංග කිහිපයක් features:පේළියේ සඳහන් වේ . ARM ගෘහ නිර්මාණ ශිල්පයට directly ජුවම සම්බන්ධ වන ලක්ෂණ පමණක් එහි සඳහන් කර ඇත, සිලිකන් නිෂ්පාදකයෙකුට හෝ පද්ධති මත චිපයට විශේෂිත වූ අංග නොවේ.

CPU හැඳුනුම්පත read_cpuid()දෙස බැලීමෙන් සහ එය කොඩි වෙස් මුහුණක් ලෙස ප්‍රකාශ වන සංයුක්ත වේලාවේ දන්නා ප්‍රොසෙසර වර්ගයේ අර්ථ දැක්වීම් වලින් මෙම විශේෂාංග ලබා ගනී HWCAP_xxx. අනුරූප නූල් hwcap_strආදියෙහි ඇතsetup.c .

පහත ලැයිස්තුවේ, ARMv6 විසින් SIMD උපදෙස් සහ දත්ත වර්ග හඳුන්වා දෙන ලදී. ARMv7 උසස් SIMD උපදෙස් සහ දත්ත වර්ග ලබා දී ඇත. 32-බිට් ARM යන්ත්‍ර මත, neonඋසස් සිම්ඩ් සං sign ා කරයි; asimd64-බිට් හස්ත යන්ත්‍රවල උසස් සිම්ඩ් සං sign ා කරන අතර .

ඉන් ඔබ්බට, Hardware:රේඛාව මඟින් සකසනය ආකෘතිය දක්වයි. ආකෘතිය මත පදනම්ව, වෙනත් ලිපිගොනු යටතේ /procහෝ /sysආරම්භක කාල කර්නල් ලොග් පණිවිඩවල වෙනත් තොරතුරු තිබිය හැකිය . අවාසනාවට, සෑම ARM CPU නිෂ්පාදකයෙකුටම ප්‍රොසෙසරයේ විශේෂාංග තිබේ නම් ඒවා වාර්තා කිරීමට තමන්ගේම ක්‍රමවේදයක් ඇත.



11

x86

4.1.3 x86 සහ ඉන්ටෙල් අත්පොතෙන් එය ඔබම සොයා ගන්න

arch/x86/include/asm/cpufeature.h සම්පූර්ණ ලැයිස්තුව අඩංගු වේ.

අර්ථ දැක්වීමේ අගයන් වර්ග වේ:

X*32 + Y

උදා:

#define X86_FEATURE_FPU     ( 0*32+ 0) /* Onboard FPU */

CPUID වෙතින් උපුටා ගත් විශේෂාංග ධජ, මෙහි ගබඩා කර ඇත:

  • __u32 x86_capability[NCAPINTS + NBUGINTS]; ක්ෂේත්‍රය
  • වල struct cpuinfo_x86 boot_cpu_data
  • දී අර්ථ දක්වා ඇත x86/kernel/setup.c

එය __initශ්‍රිත හරහා ආරම්භ වේ.

එක් එක් x86_capabilityඅරාව මූලද්‍රව්‍යය පැමිණෙන්නේ කොහෙන්ද :

| index | eax      | ecx | output | file        |
|-------|----------|-----|--------|-------------|
|     0 |        1 |   0 | edx    | common.c    |
|     1 | 80000001 |     | edx    | common.c    |
|     2 | 80860001 |     | edx    | transmeta.c |
|     3 |          |     |        |             |
|     4 |        1 |   0 | ecx    | common.c    |
|     5 | C0000001 |     | edx    | centaur.c   |
|     6 | 80000001 |     | ecx    | common.c    |
|     7 |          |     |        | scattered.c |
|     8 |          |     |        |             |
|     9 |        7 |   0 | ebx    | common.c    |
|    10 |        D |   1 | eax    | common.c    |
|    11 |        F |   0 | edx    | common.c    |
|    12 |        F |   1 | edx    | common.c    |

සටහන්:

  • හිස් ඇතුළත් කිරීම් වලින් අදහස් වන්නේ: "විවිධ ස්ථාන වලින්" හෝ "ලබා ගත නොහැක"
  • index: යනු x86_capabilityඋදාx86_capability[0]
  • eaxසහ exc: යනු හෙක්ස් හි CPUID සඳහා ආදාන අගයන් වේ. භාවිතා කරන යෙදවුම් exc, අඩු, එය සුබ්ලෙෆ් ලෙස හැඳින්වේ ( මුල ඇති 2 මට්ටමේ ගසක eax).
  • output: යනු CPUID ප්‍රතිදානය ලබාගත් ලේඛනයයි
  • file: යනු එම ක්ෂේත්‍ර නිර්වචනය කර ඇති ගොනුවයි. මාර්ග වලට සාපේක්ෂයි arch/x86/kernel/cpu/.
  • transmeta: නොවාෆෝරා විසින් අත්පත් කරගත් https://en.wikipedia.org/wiki/Transmeta හි CPU වෙළෙන්දෙකුගේ නම විය https://www.crunchbase.com/organization/novafora
  • centaur: සී.පී.යූ. ඔබම නම විය https://en.wikipedia.org/wiki/Centaur_Technology VIA විසින් ගත් https://en.wikipedia.org/wiki/VIA_Technologies . සයිරික්ස් තවත් එකකි.

නිගමන:

  • බොහෝ ප්‍රවේශයන් CPUID ප්‍රතිදාන ලේඛනයෙන් කෙලින්ම පැමිණෙන අතර ඒවා සකසා ඇත්තේ common.c:

    c->x86_capability[0] = edx;
    

    CPUID සඳහා ඉන්ටෙල් අත්පොතෙහි ඒවා පහසුවෙන් සොයාගත හැකිය.

  • අනෙක් ඒවා ප්‍රභවය පුරා විසිරී ඇති අතර ඒවා ටිකෙන් ටික සකසා ඇත set_cpu_cap.

    ඒවා සොයා ගැනීමට, git grep X86_FEATURE_XXXඇතුළත භාවිතා කරන්න arch/x86.

    අවට කේතයෙන් අනුරූප වන CPUID බිට් ඔබට සාමාන්‍යයෙන් අඩු කළ හැකිය.

වෙනත් විනෝදජනක කරුණු

  • කොඩි ඇත්ත වශයෙන්ම arch/x86/kernel/cpu/proc.cකේතය සමඟ මුද්‍රණය කර ඇත :

    seq_puts(m, "flags\t\t:");
    for (i = 0; i < 32*NCAPINTS; i++)
        if (cpu_has(c, i) && x86_cap_flags[i] != NULL)
            seq_printf(m, " %s", x86_cap_flags[i]);
    

    කොහෙද:

    • cpu_has විශේෂාංගය සඳහා ප්‍රධාන පරීක්‍ෂාව කරයි.
    • x86_cap_flags[i] එක් එක් කොඩි වලට අනුරූප වන නූල් අඩංගු වේ.

    මෙය procපද්ධති සැකසුම සඳහා නැවත කැඳවීමක් ලෙස සම්මත වේ. පිවිසුම් ස්ථානය තිබෙන්නේ fs/proc/cpuinfo.c.

  • x86_cap_flagsනූල් ජනනය කරනු ලබන්නේ arch/x86/kernel/cpu/mkcapflags.hකෙලින්ම arch/x86/include/asm/cpufeature.h"විග්‍රහ කිරීමෙන්" sed...

    ප්‍රතිදානය arch/x86/kernel/cpu/capflags.cගොඩනැගීමේ නාමාවලිය වෙත යන අතර එහි ප්‍රති ar ලයක් ලෙස අරාව පෙනේ:

    const char * const x86_cap_flags[NCAPINTS*32] = {
        [X86_FEATURE_FPU]        = "fpu",
        [X86_FEATURE_VME]        = "vme",
    

    උදාහරණයක් ලෙස X86_FEATURE_FPUනූලට අනුරූප වේ "fpu".

  • cpu_has කේතය සමඟ අවස්ථා දෙකකට බෙදේ:

    #define cpu_has(c, bit)                         \
        (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 :  \
        test_cpu_cap(c, bit))
    

    අර තියෙන්නේ:

    • __builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit): කර්නලය ක්‍රියාත්මක වීමට ධජය අවශ්‍ය වේ.

      මෙය තීරණය වන්නේ ඇතුළත ඇති දත්ත required-features.hඅනුව ය:

      Define minimum CPUID feature set for kernel These bits are checked
      really early to actually display a visible error message before the
      kernel dies.  Make sure to assign features to the proper mask!
      

      ඒවා සම්පාදක වේලාවේ (කර්නල් අවශ්‍යතා) දන්නා බැවින්, ආරම්භයේදීම දැනටමත් පරීක්ෂා කර ඇති හෙයින්, සංයුක්ත වේලාවේදී bitදැනගත හොත් චෙක්පත සම්පාදනය කරන වේලාවේදී විසඳා ගත හැකිය .

      මේ අනුව __builtin_constant_p(bit)පරික්ෂා bitකරන කාල නියතයදැයි පරීක්ෂා කරයි.

    • test_cpu_cap: මෙය ගෝලීය CPUIDදත්ත භාවිතා කරයිstruct cpuinfo_x86 boot_cpu_data


3
සංක්ෂිප්තයේ සිට දිගු නමකට යන්නේ කෙසේදැයි ඔබ පැහැදිලි කර ඇත, නමුත් බොහෝ විට එම දිගු නම වඩා තේරුම්ගත cpuidනොහැකි අතර එය වඩාත් පහසු ආකාරයකින් කරයි. මම එම ප්‍රශ්නය ඇසුවේ නම් ලේඛනගත කර ඇති ස්ථානයක් ලබා ගැනීමටයි.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

Il ගිලස් මෙය බොහෝ දුරට වගු සෑදීමට කැමති / මා වැනි වගුවේ ඒවායේ අංගය සොයාගත නොහැකි අය සඳහා වේ :-) එහෙත් තවමත්, බොහෝ අවස්ථාවන්හීදී, ඔබ ප්‍රභවයේ නිවැරදි ලක්ෂ්‍යය දෙස බැලූ විට, CPUID වෙත සිතියම වේ වහාම.
සිරෝ සැන්ටිලි 冠状 病毒 审查 六四 事件 法轮功

10

නැතහොත් විකල්පයක් ලෙස ඔබට cpuidවැඩසටහන භාවිතා කළ හැකිය , එය ඩෙබියන් ගබඩාවේ තිබිය යුතුය. එය ඔබගේ CPU පිළිබඳ හැකි සෑම තොරතුරක්ම යම් පැහැදිලි කිරීම් සමඟ දමයි, එබැවින් ඔබට එම අපැහැදිලි කොඩි නොලැබේ.


cpuidකෙටි යෙදුම් පුළුල් කරයි. මම එහි නිමැවුම් පැහැදිලි කිරීම් ලෙස නොකියමි . එය දැන ගැනීමෙන් ht“හයිපර් නූල් ගැසීම” එය යම් දුරකට පැහැදිලි කරයි, නමුත් එය දැන ගැනීමෙන් mmxඅදහස් කරන්නේ “එම්එම්එක්ස් උපදෙස් කට්ටලය”, එතරම් නොවේ, සහ එහි mcaඅර්ථය “යන්ත්‍ර චෙක් ගෘහ නිර්මාණ ශිල්පය”, කිසිසේත්ම නොවේ.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

6
Il ගිලස් ... එහෙත්, "මැෂින් චෙක් ගෘහ නිර්මාණ ශිල්පය" නිසැකවම "mca" ට වඩා ගූගල් විමසුමකි;)
ඇලෝයිස් මහඩාල්

1

ඉහළම පිළිතුර හොඳම "සම්පූර්ණ ලැයිස්තුගත කිරීම කර්නල් ප්‍රභවයේ ඇත, ගොනුවේ ආරුක්කු / x86 / include / asm / cpufeatures.h ." එක් එක් ධජයේ තේරුම තේරුම් ගැනීමට එය සහ අන්තර්ජාල / සකසන අත්පොත් භාවිතා කරන්න.

HP Proliant G8 Intel Xeon සේවාදායකයෙන් lscpu ප්‍රතිදානය පෙන්වීමට සහ මෙම යන්ත්‍රයෙන් lscpu / ධජ VM ධාරකයෙකු ලෙස සසඳා බැලීමට සහ VM ක්‍රියාත්මක වන VM ධාරිතාවයක් ලෙස VM ධාරකයෙකු ලෙස සහ VM ක්‍රියාත්මක වන VM ධාරකයෙකු ලෙස පවතින උදාහරණ සමඟ පවතින පිළිතුරු අගය කිරීම සඳහා පිළිතුරක් එක් කිරීම. Openstack qemu-kvm යනු මෙහි ක්‍රියාත්මක වන අථත්‍යකරණ සේවාදායකයයි.

  • CPU (ය): 24 එදිරිව 22

    VM ධාරකයේ ඔපන්ස්ටැක් පාලකය සඳහා CPU 2 ක් සවි කර ඇත. CPU 24 ක්. VM හි CPU 22 ක් ඇත.

  • නූල් / හර / සොකට් / NUMA වෙනස් ලෙස පෙන්වයි. (පහත බලන්න)

  • මාදිලිය, මාදිලියේ නම, පියවර, CPU MHz, L2 හැඹිලි ප්‍රමාණය වෙනස් ලෙස පෙන්වයි. (තවත් පහත බලන්න)

    ධාරකයේ: ආකෘතිය: 45 ආදර්ශ නම: ඉන්ටෙල් (ආර්) ෂෝන් (ආර්) සීපීයූ ඊ 5-2640 0 @ 2.50GHz

    on VM: Model: 42 ආදර්ශ නම: Intel Xeon E312xx (සැන්ඩි බ්‍රිජ්, IBRS යාවත්කාලීන කිරීම)

  • කොඩි

    • VM හි අමතර ධජ 2 ක්:

      • හයිපර්වයිසර්: හයිපර්වයිසර් මත ධාවනය වීම
      • tsc_adjust: TSC ගැලපුම MSR
        TSC = ටයිම්ස්ටැම්ප් කවුන්ටරය (ඉන්ටෙල් ලේඛනයක්) https://wiki.osdev.org/TSC MSR = ආදර්ශ විශේෂිත ලේඛනය https://wiki.osdev.org/MSR
    • වීඑම් හි කොඩි 31 ක් අස්ථානගත වී ඇත:

      • dts: නිදොස් කිරීමේ ගබඩාව (නිදොස්කරණය සහ පැතිකඩ උපදෙස් සඳහා බෆරය)
      • acpi: MSP හරහා ACPI (උෂ්ණත්ව අධීක්ෂණය සහ ඔරලෝසු වේග මොඩියුලේෂන්) https://wiki.osdev.org/ACPI ACPI (උසස් වින්‍යාසය සහ බල අතුරුමුහුණත) යනු PC සඳහා බල කළමනාකරණය සහ වින්‍යාස කිරීමේ ප්‍රමිතියකි
      • ht: හයිපර්-නූල් සහ / හෝ බහු-හරය
      • tm: ස්වයංක්‍රීය ඔරලෝසු පාලනය (තාප නිරීක්ෂකය)
      • pbe: ඉතිරිව ඇති විවේක සක්‍රීය (PBE # pin) අවදි කිරීමේ සහාය
      • arch_perfmon: Intel Architectural PerfMon
      • pebs: නිරවද්‍ය-සිදුවීම් පදනම් කරගත් නියැදීම
      • bts: ශාඛා හෝඩුවාවක්
      • nonstop_tsc: C හි TSC නතර නොවේ TSC = ටයිම්ස්ටැම්ප් කවුන්ටරය (ඉන්ටෙල් ලේඛනයක්) https://wiki.osdev.org/TSC
      • aperfmperf: APERF සහ MPERF යනු MSR ලේඛණ වේ "APERF සහ MPERF යනු වර්තමාන CPU සංඛ්‍යාතය පිළිබඳ ප්‍රතිපෝෂණය ලබා දිය හැකි MSR ලේඛණ වේ."
      • dtes64: 64-bit නිදොස් කිරීමේ වෙළඳසැල
      • මොනිටරය: අධීක්ෂණය / රැඳී සිටීම (ඉන්ටෙල් එස්එස්ඊ 3 අතිරේක)
      • ds_cpl: CPL Qual. නිදොස් කිරීමේ වෙළඳසැල - සීපීඑල් යනු වර්තමාන වරප්‍රසාද මට්ටමයි (සීඑස් ලේඛනයේ බිටු)
      • vmx: දෘඩාංග අථත්‍යකරණය: Intel VMX
      • smx: ආරක්ෂිත මාදිලිය: TXT (විශ්වාසදායක ක්‍රියාත්මක කිරීමේ තාක්ෂණය) (TPM (විශ්වාසදායක වේදිකා මොඩියුලය) සහාය)
      • est: වැඩි දියුණු කළ ස්පීඩ්ස්ටෙප්
      • tm2: තාප නිරීක්ෂකය 2
      • xtpr: කාර්ය ප්‍රමුඛතා පණිවිඩ යවන්න
      • pdcm: කාර්ය සාධන හැකියාවන්
      • dca: සෘජු හැඹිලි ප්‍රවේශය
      • epb: IA32_ENERGY_PERF_BIAS සහාය
      • tpr_shadow: Intel TPR සෙවනැල්ල TPR = කාර්ය ප්‍රමුඛතා ලේඛනය
      • vnmi: ඉන්ටෙල් අතථ්‍ය එන්එම්අයි https://wiki.osdev.org/NMI (වෙස්මුහුණු නොවන බාධා)
      • flexpriority: Intel FlexPriority Intel Virtualisation Technology
      • ept: ඉන්ටෙල් විස්තාරිත පිටු වගුව
      • vpid: ඉන්ටෙල් අතථ්‍ය ප්‍රොසෙසර් හැඳුනුම්පත
      • dtherm: (කලින් dts) ඩිජිටල් තාප සංවේදකය
      • ida: ඉන්ටෙල් ගතික ත්වරණය
      • pln: ඉන්ටෙල් බල සීමා දැනුම්දීම
      • pts: ඉන්ටෙල් පැකේජයේ තාප තත්ත්වය
      • flush_l1d: ෆ්ලෂ් එල් 1 (මට්ටම 1) ඩී (දත්ත) හැඹිලිය

lscpu සම්පූර්ණ ප්‍රතිදානය:

[root@host ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Model name: Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
Stepping: 7
CPU MHz: 2375.000
CPU max MHz: 2500.0000
CPU min MHz: 1200.0000
BogoMIPS: 4987.53
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 15360K
NUMA node0 CPU(s): 0-5,12-17
NUMA node1 CPU(s): 6-11,18-23
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 pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts spec_ctrl intel_stibp flush_l1d    openstack compute-node VM

[root@VM ~]$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                22 
On-line CPU(s) list:   0-21
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             22
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 42
Model name:            Intel Xeon E312xx (Sandy Bridge, IBRS update)
Stepping:              1
CPU MHz:               2493.748
BogoMIPS:              4987.49
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              16384K
NUMA node0 CPU(s):     0-21
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm ssbd ibrs ibpb stibp tsc_adjust xsaveopt arat spec_ctrl intel_stibp
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.