std.cpuid
実行環境のCPUの特性を調べる関数群です。以下の資料に準じて実装されています:
- AP-485 Intel(C) Processor Identification and the CPUID Instruction http://www.intel.com/design/xeon/applnots/241618.htm
- Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instruction Set Reference, A-M http://developer.intel.com/design/pentium4/manuals/index_new.htm
- AMD CPUID Specification Publication # 25481 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25481.pdf
Example:
import std.cpuid; import std.stdio; void main() { writefln(std.cpuid.toString()); }
Authors:
Tomas Lindquist Olsen <tomas@famolsen.dk> (Walter Bright による若干の変更)
BUGS:
x86系CPUでのみ動作します
- string toString();
- 全ての情報を表示可能な文字列として返します
- string vendor();
- ベンダー名文字列を返します
- string processor();
- プロセッサ名文字列を返します
- bool mmx();
- MMX対応かどうか
- bool fxsr();
- FXSR対応かどうか
- bool sse();
- SSE対応かどうか
- bool sse2();
- SSE2対応かどうか
- bool sse3();
- SSE3対応かどうか
- bool ssse3();
- SSSE3対応かどうか
- bool amd3dnow();
- AMD 3DNOW 対応かどうか
- bool amd3dnowExt();
- AMD 3DNOW Ext 対応かどうか
- bool amdMmx();
- AMD MMX 対応かどうか
- bool ia64();
- Intel の IA64 アーキテクチャかどうか
- bool amd64();
- AMD64 CPU かどうか
- bool hyperThreading();
- HyperThreading 対応かどうか
- uint threadsPerCPU();
- CPUごとのスレッド数を返します
- uint coresPerCPU();
- CPUごとのコア数を返します
- bool intel();
- Intelプロセッサかどうか
- bool amd();
- AMDプロセッサかどうか
- uint stepping();
- ステッピングを返します
- uint model();
- モデルナンバーを返します
- uint family();
- ファミリを返します