/proc/cpuinfo는 CPU 모델을 어떻게 감지합니까?

/proc/cpuinfo는 CPU 모델을 어떻게 감지합니까?

dmidecodeCPU 출력에 다음을 표시하는 서버가 있습니다.

Handle 0x000D, DMI type 4, 35 bytes                            
Processor Information          
        Socket Designation: CPU 1                              
        Type: Central Processor                                
        Family: Xeon           
        Manufacturer: GenuineIntel                             
        ID: FB 06 00 00 01 03 00 00                            
        Signature: Type 0, Family 6, Model 15, Stepping 11     
        Flags:                 
                FPU (Floating-point unit on-chip)              
                CX8 (CMPXCHG8 instruction supported)           
                APIC (On-chip APIC hardware supported)         
        Version: Intel Xeon    
        Voltage: 1.2 V         
        External Clock: 266 MHz                                
        Max Speed: 3733 MHz    
        Current Speed: 2000 MHz                                
        Status: Populated, Enabled                             
        Upgrade: ZIF Socket    
        L1 Cache Handle: 0x0009                                
        L2 Cache Handle: 0x000A                                
        L3 Cache Handle: Not Provided                          
        Serial Number: Not Specified                           
        Asset Tag: Not Specified                               
        Part Number: Not Specified   

그걸 토대로 Max Speed추측해보면제온 5080CPU. 그러나 /proc/cpuinfo이에 따르면제온 E5335:

# grep "model name" /proc/cpuinfo
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
# 

나열된 플래그/기능을 확인하면 이것이 지원되는 것으로 /proc/cpuinfo표시됩니다.ssse3제온 5080그리고 거기엔 없어제온 E5335. /proc/cpuinfoCPU 모델을 감지하는 방법은 무엇입니까 ?

답변1

x86에서는 다음을 사용합니다.CPUID"프로세서 브랜드 문자열"기능(지원되는 경우). 따라서 귀하의 경우 CPU 자체는 "Intel(R) Xeon(R) CPU E5335 @ 2.00GHz" 문자열을 반환합니다. 이는 dmidecode다음 출력에 해당합니다. ID: FB 06 00 00 01 03 00 00Match 06FB CPUID, E5335(ㅏ5080CPUID는 0F64입니다).

다음에서 커널 구현을 볼 수 있습니다.arch/x86/kernel/cpu/common.c함수get_model_name.

Xeon E5335는 Clovertown CPU입니다.SSSE3을 지원합니까?.

관련 정보