CPUは、型番(商品名)は変わらないけど、Steppingが変更になることで、大きな機能変更・追加が行われる場合があります。
たとえば、 http://processorfinder.intel.com/Default.aspx
例えばXeonの5335という型番のCPUの場合、プロセッサナンバーにx5335を選択すると、B3 SteppingとG0 Steppingのものがあります。
このSteppingの間には実は影響度が大きなCPUの仕様変更が含まれています。
この差分は、
G0 Stepping ではmemory addressingが変更されており、物理メモリ最大搭載量が拡張されています。
また G0 Steppingからは、Intel I/OAT(IOにDMAを多用した高速化機能)が含まれています。
CPUの仕様変更は時折ソフトウェア側にも染み出すことがあり、同じ機器を導入しても導入時期により、なんらかの制限や、使える機能の有無が出たりします。
上述のIntelのCPUの一覧には、人間が理解できる形でのSteppingが記載されているが、これが、マシン上からでは識別しにくいです。sSpecというのはCPUの表面に印刷されている識別コードのようですが、ベンダー製のサーバーを導入する際にCPUを個別に導入するケースは少なく、確認が困難です。
LinuxでCPUID、Steppingを確認する方法としてdmidecodeを使用するのが有効でした。
#/usr/sbin/dmidecode
手元のATOMプロセッサの場合
Handle 0x0000, DMI type 4, 35 bytes.
Processor Information
Socket Designation: U1PR
Type: Central Processor
Family: <OUT OF SPEC>
Manufacturer: Intel(R) Corporation
ID: C2 06 01 00 FF FB E9 BF
Version: Intel(R) Atom(TM) CPU 230 @ 1.60GHz
CPUの型番がVersion項目から確認できます。
Steppingの確認は、このIDの項目の先頭の4桁の情報が重要。
確認したい対象のCPUの詳細ページとにらめっこです。(#このCPUの場合は、Steppingが1つしかないので確認の必要はないのですが。)
先ほどのIntelのページから、該当する型番を確認し、それぞれのSteppingごとの詳細情報を見ます。
http://processorfinder.intel.com/details.aspx?sSpec=SLB6Z#
CPUID String:106C2h
となっています。
リトル・エンディアンなので、06C2となり、一致となるわけです。
/proc/cpuinfoにはCPUIDが表示されないので、dmidecodeを使わないといけないのです。
dmidecodeはその他にもいろいろと面白い情報が取れます。BIOS以上に詳細な情報が取得でき、とても役立ちます。