複製鏈接
請複製以下鏈接發送給好友

CPUID

鎖定
CPUID操作碼是一個面向x86架構的處理器補充指令,它的名稱派生自CPU識別,作用是允許軟件發現處理器的詳細信息。它由英特爾在1993年引入奔騰和SL增強486處理器。
中文名
CPUID
表    示
用户計算機當今的信息處理器信息
信息資料
型號,信息處理器家庭等
CPUID指令
獲得CPU信息的彙編指令

CPUID簡介

CPUID操作碼是一個面向x86架構的處理器補充指令,它的名稱派生自CPU識別,作用是允許軟件發現處理器的詳細信息。它由英特爾在1993年引入奔騰和SL增強486處理器。 [1] 
通過使用CPUID操作碼,軟件可以確定處理器的類型和特性支持(例如MMX/SSE)。CPUID操作碼為0Fh、A2h(雙字節形式,A20Fh為單字(word))形式,值位於EAX寄存器中,某些情況下ECX寄存器用於指定要返回的信息。

CPUID歷史背景

在CPUID指令普遍可用前,程序員需要編寫深奧的機器語言利用CPU行為的微小差異來確定處理器的情況和型號。
在x86系列之外,開發人員大多仍然需要使用深奧的過程來確定CPU設計存在的差異。雖然CPUID指令針對x86架構,但其他架構(例如ARM)通常提供可供讀取的片上寄存器來獲取與此指令提供的相同種類的信息。

CPUID調用CPUID

彙編語言中,CPUID指令不使用參數,因為CPUID隱式使用EAX寄存器來確定返回信息的主類別。在英特爾最新的術語中,這被稱為CPUID leaf。CPUID的調用應該以EAX = 0開始,這將在EAX寄存器中返回CPU支持的最高EAX調用參數(leaf)。

CPUIDx86外的特定CPU識別信息

一些非x86的CPU架構也提供了有關處理器能力的某種形式的結構化信息,通常作為一組特殊寄存器
  • ARM架構有一個CPUID協處理器寄存器。
  • IBM System z大型機處理器自1983年的IBM 4381起支持“Store CPU ID”(STIDP)指令,用於查詢處理器ID。
  • MIPS32架構定義了一個強制性的Processor Identification(PrId)和一系列菊花鏈“配置寄存器”。
  • PowerPC處理器有32位只讀的PVR寄存器來識別使用的處理器型號。.

CPUID參見

  • CPU-Z,一個使用CPUID等信息識別系統配置的Windows實用工具
參考資料
  • 1.    Fraser K. x86: Update xen-detect utility to scan for Xen signature in CPUID space[J]. 2008.