5

Например, я поставил только вывод из 1 ядра 16-ядерного компьютера.

Что означает выход "уровень процессора" в "6"? Кроме того, что означают "bogomips" из "5992.10" и "размер clflush" из "64"?

processor    :    0
vendor_id    :    GenuineIntel
cpu family   :    15
model        :    6
model name   :    Intel(R) Xeon(TM) CPU 3.00GHz
stepping     :    8
cpu MHz      :    2992.689
cache size   :    4096 KB
physical id  :    0
siblings     :    4
core id      :    0
cpu cores    :    2
fpu          :    yes
fpu_exception:    yes
cpuid level  :    6
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 syscall nx lm constant_tsc pni monitor ds_cpl 
                  vmx cid cx16 xtpr lahf_lm
bogomips     :    5992.10
clflush size :    64
cache_alignment:  128
address sizes:    40 bits physical, 48 bits virtual
power management:

2 ответа2

3

большая часть отображаемой информации получена из инструкции x86 'cpuid'. «Уровень» - это максимальный набор параметров, который вы можете безопасно использовать для опроса процессора для получения информации.

В примечании к приложению Intel по адресу http://www.intel.com/assets/pdf/appnote/241618.pdf содержится много подробностей о инструкции. Я полагаю, что «уровень» соответствует «функции», указанной в документе.

1

bogomips основан на скорости очень специфического набора инструкций в цикле, ядро использует значение для некоторых циклов синхронизации. Это в значительной степени бессмысленны вне этого контекста - некоторые ошибочно думают , что это мера скорости процессора (который находится в этом одном очень специфическом контексте, но не в целом).

clfush в списке функций относится к доступности функции очистки строки кэша, инструкции, сообщающей кэшу ЦП, что конкретный блок данных больше не нужен или, возможно, больше не действителен (поэтому при необходимости его следует перечитать из других источников). ). Я предполагаю, что размер, указанный в clflush size будет гранулярностью, с которой этот процесс может управляться - то есть наименьшим блоком, который может быть очищен (вероятно, напрямую связан с шириной строки кэшей L1 ЦП). Это также, вероятно, бесполезно знать, если вы не являетесь инженером ЦП или не пытаетесь что-то отлаживать на очень-очень низком уровне.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .