Какая разница между процессором и ядром?

10

Вывод lscpuмоего компьютера выглядит как -

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Stepping:              1
CPU MHz:               1200.093
BogoMIPS:              3392.08
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

Значит ли это, что у меня 4 процессора и 2 ядра?

alhelal
источник
3
Один чип (сокет) с двумя ядрами, который отображается как четыре процессора в системе из-за гиперпоточности.
Кусалананда
2
@Kusalananda, CPU(s)в дано lscpuколичество логических центральных процессоров (количество cores) в одном физическом процессоре. Не так ли?
ss_iwe
@saisasanka Да. Похожий вопрос: unix.stackexchange.com/questions/88283/…
dr_
1
@saisasanka В этом случае в одном сокете 4 процессора и 2 ядра. Сокет является физическим, как и ядра на нем. Каждое ядро ​​отображается как 2 процессора («Потоки на ядро»).
Кусалананда
Процессор (ы) = Core (s) на сокет * Thread (s) на ядро
Amit24x7

Ответы:

9

От man lscpu :

CPU
Логический номер CPU, используемый ядром Linux.

CORE
Логический номер ядра. Ядро может содержать несколько процессоров.

РАЗЪЕМ
Номер логического сокета. Сокет может содержать несколько ядер.

Так что да, у вас есть 4 ЦП, содержащихся в двух физических ядрах, содержащихся в одном физическом сокете.

Вы можете получить ту же информацию от cat /proc/cpuinfo .

Смежный вопрос: так что же такое логические ядра процессора (в отличие от физических ядер процессора)?

dr_
источник
это значит, что я могу запустить 4 инструкции одновременно?
Алхелал
1
Более менее. Это означает, что он может выполнять 4 задачи параллельно. См. HyperThreading: en.wikipedia.org/wiki/Hyper-threading
dr_
4

Чтобы избежать путаницы между логическими и физическими процессорами,

Intel относится к физическому процессору как гнездо .


Гипер потокиТехнология позволяет одному ядру процессора выполнять два независимых потока одновременно.

Хотя гиперпоточность не удваивает производительность системы, она может повысить производительность за счет лучшего использования незанятых ресурсов, что приводит к повышению пропускной способности для определенных важных типов рабочей нагрузки. Приложение, работающее на одном логическом процессоре занятого ядра, может ожидать чуть более половины пропускной способности, которую оно получает, работая в одиночку на процессоре без гиперпотока.

Резюме

  • Ваша система имеет один физический процессор (назовем его X)
  • Гиперпоточность заставляет CPU X вести себя как два CPU (CPU - X1 и CPU - X2), но физически нет.
  • Каждый X1 и X2 могут выполнять два потока одновременно

Подводя итог, у вас есть один физический процессор, который может выполнять 4 потока одновременно.

Johnny Blaze
источник
«Приложение, работающее на одном логическом процессоре занятого ядра, может ожидать чуть больше половины пропускной способности, которую оно получает, работая в одиночку на процессоре без гиперпотока». Означает ли это, что гиперпоточность заставляет ядро ​​работать чуть больше половины своей емкости?
Вальдир Леонсио