/ Proc / x86アーキテクチャのcpuinfoフラグ

私たちは少なくとも一度はcat / proc / cpuinfoコマンドを使用しました。 多くは、システム内のプロセッサとコアの数を知るためだけであり、一部は、ハードウェア仮想化などの特定のテクノロジーのサポートについて学ぶためのものです。

ただし、出力の最も長い行を真剣に取るLinuxoidはほとんどありません。これはいわゆるflagsであり、フラグがしばしばワイルドで曖昧な名前を持っているため、このパラメータまたはそのパラメータがどのようにデコードされるかを知りません。 x86アーキテクチャに固有の最も認識可能なフラグを説明しようとします。



ちょっとした教育プログラム



/ proc疑似ファイルシステムは仮想であり、Linuxカーネルにのみ固有です。 実際のディレクトリとファイルは含まれず、ドライブのスペースを占有しません。 / procファイルシステムの使用は、ハードウェアを含むシステムに関する情報を取得する最も便利な方法です。 / proc / sysサブディレクトリも利用できます。このサブディレクトリは、読み取りと書き込みの両方が可能な現在のカーネルパラメータを管理します。 ほとんどのファイルは人間が判読可能で理解しやすいものです。

システムに関する情報を表示する多くのプログラムは、 / procツリーを使用します。



エントリー



/ proc / cpuinfo疑似ファイルを直接扱いましょう。

その典型的なコンテンツを見ることを提案します。ここから、この記事の文脈で興味のない行を破棄します。



root@system:~# cat /proc/cpuinfo | egrep "(model name|flags)" model name : Intel(R) Xeon(R) CPU 5130 @ 2.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 lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx tm2 ssse3 cx16 xtpr dca lahf_lm model name : Intel(R) Xeon(R) CPU 5130 @ 2.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 lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx tm2 ssse3 cx16 xtpr dca lahf_lm
      
      





ご覧のとおり、2つのコアを備えたIntel Xeon 5130サーバープロセッサをここに示します。 奇妙な旗がたくさんありますよね?



TOP5:最も関心のあるフラグ



1. HT-ハイパースレッディングのサポート

同時マルチスレッドテクノロジの実装。 このテクノロジーは、特定のワークロードの下でプロセッサーのパフォーマンスを向上させます。 有効にすると、システムは物理プロセッサ(コア)ごとに2つの論理プロセッサを決定します。 Intel Xeon、Pentium 4、Atom、Core i3、Core i5、Core i7のプロセッサシリーズのみに存在します。

2. LM-ロングモード(x86-64サポート)

大まかに言えば、示されている場合、プロセッサは64ビットテクノロジ(x86-64、x64、AMD64、Intel64、EM64Tの名前も使用)を使用して作られています。 これは、完全な下位互換性を備えたx86アーキテクチャ拡張機能です。 Intelプロセッサのサポートは、後のPentium 4、AMD-c Athlon64に付属していました。

3. VMX(Intel)、SVM(AMD)-ハードウェア仮想化サポート

Intel VT-xまたはAMD-Vテクノロジーのプロセッササポートは、ゲストシステムからプロセッサリソースへの直接アクセスを提供する追加の指示があることを意味します。 ゲストシステムのパフォーマンスを実現し、生産性のコストを削減してホストプラットフォームを維持できます。 Virtual Machine Extensionsは現在、多くのIntelおよびAMDプロセッサでサポートされていますが、Cellなどの他のプロセッサアーキテクチャにも同様の拡張機能があります。

4. SSE *、SSSE *、XMM *、3DNow!、MMXなど。

プロセッサ用のさまざまな命令セット。 特定のアーキテクチャ向けにコードを最適化するためにコンパイラで広く使用されています。

5. AES-Intel Advanced Encryption Standard

このかなり議論の余地のある命令セットは、Intel Xeonシリーズでのみ見られるAESエンコード/デコードのパフォーマンスを向上させます。 AMDプロセッサがSHAアルゴリズムなどのデータの暗号化に強いという事実はよく知られていますが、IntelファンがCPUのサーバーラインの急勾配を強化するためによく使用されます。



高速化:復号化を使用したフラグの完全なリスト



















自分で見る場所



プロセッサフ​​ラグは、Linuxカーネルインクルードファイルに詳しく記載されています。 現在のフラグは、ファイル./arch/x86/include/asm/cpufeature.hのカーネルバージョン2.6.36.1から取得されました。 場所は時々変更または異なる場合があります。findコマンドを使用します



All Articles