CPUの判別方法<Transmeta Crusoe>

 以下はSONY VAIO C1-VJなどで採用された低消費電力CPUであるトランスメタのクルーソー のCPUID情報。
 transmetaのホームページにはCPUIDに関する情報がなかったため、Linuxのカーネルのソースファイルなどを参考にしています。そのため間違えてるところがあるかも。

【EAX=0x00000000のCPUID実行結果】
  EAX   CPUIDを実行できるEAXの最大値
  EBX:ECX:EDX 12文字で表されるVenderID='GenuineTMx86'
  EBX    0- 7bitにVendorIDの 1文字目 ex.'G' 
  EBX    8-15bitにVendorIDの 2文字目 ex.'e'
  EBX   16-23bitにVendorIDの 3文字目 ex.'n'
  EBX   24-31bitにVendorIDの 4文字目 ex.'u'
  EDX    0- 7bitにVendorIDの 5文字目 ex.'i'
  EDX    8-15bitにVendorIDの 6文字目 ex.'n'
  EDX   16-23bitにVendorIDの 7文字目 ex.'e'
  EDX   24-31bitにVendorIDの 8文字目 ex.'T'
  ECX    0- 7bitにVendorIDの 9文字目 ex.'M'
  ECX    8-15bitにVendorIDの10文字目 ex.'x'
  ECX   16-23bitにVendorIDの11文字目 ex.'8'
  ECX   24-31bitにVendorIDの12文字目 ex.'6'


【EAX=0x00000001のCPUID実行結果】
  CPUのType,Model,Familyなど
  EAX    0- 3bitにCPUのStepping
  EAX    4- 7bitにCPUのModel
  EAX    8-11bitにCPUのFamily
  EAX   12-13bitにCPUのProcessor Type
  EAX   14-15bitは未使用
  EAX   16-19bitにCPUのExtended Model
  EAX   20-27bitにCPUのExtended Family
  EAX   28-31bitは未使用


【EAX=0x80860000のCPUID実行結果】
  EAX   CPUIDを実行できるEAXの最大値


【EAX=0x80860001のCPUID実行結果】
  EBX   CPU Revesion
         31-24bit 1桁目
         23-16bit 2桁目
         15- 8bit 3桁目
          7- 0bit 4桁目
         それぞれはunsigned値、"Rev1.2.3.4"のように表記する
  ECX   ノーマル時のCPU動作周波数
  EDX   機能フラグ
          0bit  recoveryサポート
          1bit  longrunサポート


【EAX=0x80860002のCPUID実行結果】
  EBX   Code Morphing Software Revision 1
         31-24bit 1桁目
         23-16bit 2桁目
         15- 8bit 3桁目
          7- 0bit 4桁目
  ECX   Code Morphing Software Revision 2
         それぞれはunsigned値、"Rev1.2.3-4-5678"のように表記する


【EAX=0x80860003のCPUID実行結果】
  EAX   CPU情報(全64文字)
         31-24bit  1桁目
         23-16bit  2桁目
         15- 8bit  3桁目
          7- 0bit  4桁目
  EBX   CPU情報(全64文字)
         31-24bit  5桁目
         23-16bit  6桁目
         15- 8bit  7桁目
          7- 0bit  8桁目
  ECX   CPU情報(全64文字)
         31-24bit  9桁目
         23-16bit 10桁目
         15- 8bit 11桁目
          7- 0bit 12桁目
  EDX   CPU情報(全64文字)
         31-24bit 13桁目
         23-16bit 14桁目
         15- 8bit 15桁目
          7- 0bit 16桁目


【EAX=0x80860004のCPUID実行結果】
  EAX   CPU情報(全64文字)
         31-24bit 17桁目
         23-16bit 18桁目
         15- 8bit 19桁目
          7- 0bit 20桁目
  EBX   CPU情報(全64文字)
         31-24bit 21桁目
         23-16bit 22桁目
         15- 8bit 23桁目
          7- 0bit 24桁目
  ECX   CPU情報(全64文字)
         31-24bit 25桁目
         23-16bit 26桁目
         15- 8bit 27桁目
          7- 0bit 28桁目
  EDX   CPU情報(全64文字)
         31-24bit 29桁目
         23-16bit 30桁目
         15- 8bit 31桁目
          7- 0bit 32桁目


【EAX=0x80860005のCPUID実行結果】
  EAX   CPU情報(全64文字)
         31-24bit 33桁目
         23-16bit 34桁目
         15- 8bit 35桁目
          7- 0bit 36桁目
  EBX   CPU情報(全64文字)
         31-24bit 37桁目
         23-16bit 38桁目
         15- 8bit 39桁目
          7- 0bit 40桁目
  ECX   CPU情報(全64文字)
         31-24bit 41桁目
         23-16bit 42桁目
         15- 8bit 43桁目
          7- 0bit 44桁目
  EDX   CPU情報(全64文字)
         31-24bit 45桁目
         23-16bit 46桁目
         15- 8bit 47桁目
          7- 0bit 48桁目


【EAX=0x80860006のCPUID実行結果】
  EAX   CPU情報(全64文字)
         31-24bit 49桁目
         23-16bit 50桁目
         15- 8bit 51桁目
          7- 0bit 52桁目
  EBX   CPU情報(全64文字)
         31-24bit 53桁目
         23-16bit 54桁目
         15- 8bit 55桁目
          7- 0bit 56桁目
  ECX   CPU情報(全64文字)
         31-24bit 57桁目
         23-16bit 58桁目
         15- 8bit 59桁目
          7- 0bit 60桁目
  EDX   CPU情報(全64文字)
         31-24bit 61桁目
         23-16bit 62桁目
         15- 8bit 63桁目
          7- 0bit 64桁目


【EAX=0x80860007のCPUID実行結果】
  EAX   内部周波数
  EBX   コア電圧
  ECX   パフォーマンス(%)


カテゴリー「VC++ TIPS」 のエントリー