CPUの識別情報を取り出すためのCPUID命令を実行してみました
・・・"CPUID"はちょっとタイプミスすると"CUPID"になってカワイイ。
当然Cでは記述できないのでインラインアセンブラでレジスタから大域変数にコピーしてます
x86系インストラクションとしてのCPUID命令はi486プロセッサの後期から実装され、Pentiumプロセッサから正式アナウンスされたとあります。手元のIntel486DX2 MicroProcessor Data Book 1992Feb.preliminary版のインストラクションセットには記載がありません
インテル® プロセッサの識別とCPUID命令アプリケーションノート485 にフォーマットの説明があり
サポートされないはずですがEAX=0で呼び出してインテルのベンダID:”GenuineIntel”、EAX=1でプロセッサシグネチャを引き出せています
そういえばインテル製PCIボードのベンダIDは”8086”だったような・・・
プロセッサシグネチャは”43x”で487またはDX2またはDX2ODP。ステッピング5が認識されました
CPUIDは先代のi486ボードでも確認していて、ステッピング6だったので今回のCPUはちょっと古かったようです。さらにEAX=1でEDXに返される機能コードでページサイズ拡張機能PSEのフラグも変わってますがこんな重要な機能がステッピング違いで変わっていいのか謎です