Cpuinfo から CPU フラグを読み取る

Yahya Irmak 2022年3月24日
Cpuinfo から CPU フラグを読み取る

この記事では、Linux で cpuinfo 情報を読み取る方法について説明します。後で、CPU フラグとは何かとその意味を調べます。

Linux で cpuinfo を読む

/proc/cpuinfo ファイルには、コンピューターの CPU に関する詳細情報が含まれています。次のコマンドを使用して、ファイルの内容を読み取ります。

cat /proc/cpuinfo

cpuinfo

ここで、私たちは見ることができます、

  • プロセッサの数、
  • CPU ベンダー、ファミリ、モデル名、
  • CPU が持つコアの数、
  • キャッシュ、TLB、clflush、およびアドレスサイズ、
  • 多くのフラグやその他の情報。

この記事の残りの部分では、これらのフラグの最も一般的な意味を説明します。すべてのフラグの詳細については、arch/x86/include/asm/cpufeature.hを参照してください。

/proc/cpuinfo の最も一般的なフラグ

CPU には、モデルごとに異なる数百の機能があります。ここでは、公式文書で説明されている最も一般的なフラグの定義を含めます。

AMD が定義した CPU 機能

フラグ 説明
SYSCALL SYSCALL / SYSRET
MP MP 対応
NX 無効化を実行
MMXEXT AMDMMX 拡張機能
FXSR_OPT FXSAVE/FXRSTOR の最適化
GBPAGES pdpe1gb GB ページ
LM ロングモード(x86-64)

拡張 AMD フラグ

フラグ 説明
LAHF_LM ロングモードの LAHF / SAHF
CMP_LEGACY はいの場合、ハイパースレッディングは無効です
SVM 安全な仮想マシン
ABM 高度なビット操作
MISALIGNSSE ずれた SSE モード
3DNOWPREFETCH 3DNow プリフェッチ命令
OSVW OS の目に見える回避策
IBS 命令ベースのサンプリング
XOP 拡張 AVX 命令
SKINIT SKINIT / STGI 命令
WDT ウォッチドッグタイマー
LWP 軽量プロファイリング
TCE 翻訳キャッシュ拡張
TBM 末尾のビット操作
TOPOEXT トポロジ拡張 CPUID リーフ
PERFCTR_CORE コアパフォーマンスカウンター拡張
BPEXT データブレークポイント拡張

Intel 定義の CPU 機能

フラグ 説明
FPU オンボード FPU
VME 仮想モード拡張
DE 拡張機能のデバッグ
PSE ページサイズの拡張
TSC タイムスタンプカウンター
MSR モデル固有のレジスタ
PAE 物理アドレス拡張
MCE マシンチェックの例外
MTRR メモリタイプ範囲レジスタ
PGE ページグローバルイネーブル
MCA マシンチェックアーキテクチャ
PAT ページ属性テーブル
MMX マルチメディア拡張機能
PBE 保留中の休憩の有効化
DTES64 64 ビットデバッグストア
MWAIT モニターモニター/ Mwait のサポート
VMX ハードウェア仮想化
SMX より安全なモード
TM2 サーマルモニター2
XTPR タスク優先メッセージを送信する
PDCM パフォーマンス機能
PCID プロセスコンテキスト識別子
DCA ダイレクトキャッシュアクセス
ハイパーバイザー ハイパーバイザーで実行

仮想化フラグ

フラグ 説明
EPT Intel 拡張ページテーブル
VPID Intel 仮想プロセッサ ID
NPT AMD ネストページテーブルのサポート
LBRV AMDLBR 仮想化サポート
NRIPS nrip_save AMDSVM next_rip save
TSCRATEMSR tsc_scale AMDTSC スケーリングのサポート
VMCBCLEAN vmcb_clean AMDVMCB クリーンビットのサポート
FLUSHBYASID AMD の ASID によるフラッシュのサポート
DECODEASSISTS AMD DecodeAssists のサポート
DECODEASSISTS AMD でフィルタリングされた一時停止インターセプト
PFTHRESHOLD AMD 一時停止フィルターのしきい値
VMMCALL vmcall よりも vmmcall を優先する

補助フラグ

フラグ 説明
IDA インテルダイナミックアクセラレーション
ARAT 常に APIC タイマーを実行
CPB AMD コアパフォーマンスブースト
EPB IA32_ENERGY_PERF_BIAS サポート
PLN Intel 電力制限通知
PTS インテルパッケージのサーマルステータス
DTHERM デジタル熱センサー
PROC_FEEDBACK AMD ProcFeedbackInterface
INTEL_PT Intel プロセッサトレース

検出されたバグフラグ

フラグ 説明
F00F Intel F00F
FDIV FPU FDIV
COMA Cyrix6x86 コマ
AMD_TLB_MMATCH tlb_mmatch AMD エラッタ 383
AMD_APIC_C1E apic_c1e AMD エラッタ 400
11AP 不正なローカル APIC 通称 11AP
FXSAVE_LEAK FXSAVE が FOP / FIP / FOP をリーク
CLFLUSH_MONITOR AAI65、モニターの前に CLFLUSH が必要
SYSRET_SS_ATTRS SYSRET は SS 属性を修正しません
著者: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn