jaka jest różnica między procesorem a rdzeniem?

10

Wydajność lscpumojego komputera wygląda jak -

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

Czy to oznacza, że ​​mam 4 procesory i 2 rdzenie?

Alhelal
źródło
3
Jeden układ (gniazdo) z dwoma rdzeniami, który pokazuje się w systemie jako cztery procesory z powodu hiperwątkowości.
Kusalananda
2
@Kusalananda, CPU(s)w lscpuoznacza liczbę logicznych jednostek centralnych (liczbę cores) w jednym fizycznym procesorze. Czyż nie
ss_iwe
@saisasanka Tak. Powiązane pytanie: unix.stackexchange.com/questions/88283/…
dr_
1
@saisasanka W tym przypadku są 4 procesory i 2 rdzenie w 1 gnieździe. Gniazdo jest fizyczne, podobnie jak rdzenie na nim. Każdy rdzeń pokazuje się jako 2 procesory („Wątki na rdzeń”).
Kusalananda
Procesor (y) = rdzeń (y) na gniazdo * Wątek (i) na rdzeń
Amit24x7

Odpowiedzi:

9

Od man lscpu:

CPU
Logiczny numer procesora CPU używany przez jądro Linuksa.

CORE
Logiczny numer rdzenia. Rdzeń może zawierać kilka procesorów.

GNIAZDO
Numer gniazda logicznego. Gniazdo może zawierać kilka rdzeni.

Więc tak, masz 4 procesory, zawarte w fizycznych 2 rdzeniach, zawarte w jednym fizycznym gnieździe.

Możesz uzyskać te same informacje od cat /proc/cpuinfo.

Powiązane pytanie: Czym więc są logiczne rdzenie procesora (w przeciwieństwie do fizycznych rdzeni procesora)?

dr_
źródło
czy to oznacza, że ​​mogę uruchomić 4 instrukcje na raz?
wszystkie
1
Mniej więcej. Oznacza to, że może wykonywać 4 zadania równolegle. Zobacz HyperThreading: en.wikipedia.org/wiki/Hyper-threading
dr_
4

Aby uniknąć nieporozumień między procesorami logicznymi i fizycznymi,

Intel określa fizyczny procesor jako gniazdo .


Technologia Hyperthreading pozwala jednemu rdzeniu procesora wykonywać jednocześnie dwa niezależne wątki.

Podczas gdy hyperthreading nie podwaja wydajności systemu, może zwiększyć wydajność poprzez lepsze wykorzystanie bezczynnych zasobów, co prowadzi do większej przepustowości dla niektórych ważnych rodzajów obciążenia. Aplikacja działająca na jednym logicznym procesorze zajętego rdzenia może oczekiwać nieco więcej niż połowy przepustowości, którą uzyskuje, działając samodzielnie na procesorze bez hyperthreaded.

Podsumowanie

  • Twój system ma jeden fizyczny procesor (nazwijmy go X)
  • Hyperthreading sprawia, że ​​CPU X zachowuje się jak dwa procesory (CPU - X1 i CPU - X2), ale fizycznie nie.
  • Każdy X1 i X2 można wykonać dwa wątek naraz, jednocześnie

Podsumowując, masz jeden procesor fizyczny, który może wykonywać 4 wątki jednocześnie.

Johnny Blaze
źródło
„Aplikacja działająca na jednym logicznym procesorze zajętego rdzenia może oczekiwać nieco więcej niż połowy przepustowości, którą uzyskuje, działając samodzielnie na procesorze bez hyperthreaded”. Czy to oznacza, że ​​hyperthreading sprawia, że ​​rdzeń działa nieco ponad połowę swojej pojemności?
Waldir Leoncio