ハイパースレッドCPUの/proc/cpuinfoの「cpu MHz」フィールドはどういう意味ですか?

ハイパースレッドCPUの/proc/cpuinfoの「cpu MHz」フィールドはどういう意味ですか?

CPUは[Eメール保護]。コアごとに2つのスレッドを持つ4つのコアがあります。dmidecode出力は次のとおりです。

# dmidecode -t 4
# dmidecode 2.9
SMBIOS 2.7 present.

Handle 0x0042, DMI type 4, 42 bytes
Processor Information
    Socket Designation: SOCKET 0
    Type: Central Processor
    Family: <OUT OF SPEC>
    Manufacturer: Intel(R) Corporation
    ID: A9 06 03 00 FF FB EB BF
    Version: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
    Voltage: 1.1 V
    External Clock: 100 MHz
    Max Speed: 3800 MHz
    Current Speed: 3400 MHz
    Status: Populated, Enabled
    Upgrade: <OUT OF SPEC>
    L1 Cache Handle: 0x003F
    L2 Cache Handle: 0x003E
    L3 Cache Handle: 0x0040
    Serial Number: Not Specified
    Asset Tag: Fill By OEM
    Part Number: Fill By OEM
    Core Count: 4
    Core Enabled: 4
    Thread Count: 8
    Characteristics:
        64-bit capable

図に示すように、システムには8つの論理コアがあります/proc/cpuinfo。しかし、cpu MHzコア周波数が1600MHzの理由を誰が知ることができますか?コアには2つのスレッドがあると推測されます。これにより、ハードウェアスレッドの周波数はコアの約半分になります。この数字はどのように計算されますか?

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
model name  : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
stepping    : 9
cpu MHz     : 1600.000
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 3
cpu cores   : 4
apicid      : 7
initial apicid  : 7
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips    : 7013.49
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

lshwまた、以下はlscpuandコマンドの出力です。 1600MHzへの言及もあります。

lshw情報:

#lshw -class processor
  *-cpu                   
       description: CPU
       product: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
       vendor: Intel Corp.
       physical id: 42
       bus info: cpu@0
       version: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
       slot: SOCKET 0
       size: 1600MHz
       capacity: 3800MHz
       width: 64 bits
       clock: 100MHz
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid cpufreq

lscpu情報:

#lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                8
Thread(s) per core:    2
Core(s) per socket:    4
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Stepping:              9
CPU MHz:               1600.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K

答え1

最新のCPUは、負荷要件に応じて動的に変化するさまざまな周波数で実行できます(参照:ウィキペディア)。インテルが呼ぶ速度ステップ。 CPUが何もしない場合は、より低い周波数で実行して消費電力(したがって熱とファンのノイズ)を減らします。

したがって、表示される1600MHzは、おそらくすべてのCPUが多くの操作を実行していないためである可能性がありますが、CPUとマザーボードのアーキテクチャと温度によって決まる3400MHzなどの最大値まで上昇する可能性があります。

個々の値をどこで取得できるかはわかりませんが、/proc/cpuinfo現在の周波数などの個々のCPU情報をファイルに表示できます/sys/devices/system/cpu/cpu*/cpufreq/

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

Linux CPU周波数スケーリングソフトウェアの詳細をご覧ください。アーキテクチャLinux

関連情報