Liczba rdzeni procesora wydaje się nieprawidłowa

14

wprowadź opis zdjęcia tutaj

Jak pokazuje obrazek, liczba procesorów wynosi 4.

Ale Intel i5-4210U ma tylko 2 rdzenie, jak pokazano poniżej. (Własne specyfikacje Intela).

wprowadź opis zdjęcia tutaj

Więc jeśli i5-4210U ma tylko 2 rdzenie niż to, co oznacza „4” na pierwszym zdjęciu?

lscpu daje ten wynik:

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:               989.531
BogoMIPS:              4788.74
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
foxtrot9
źródło
10
Ponieważ ma funkcję Hyperthreading , co oznacza, że ​​procesor prezentuje cztery rdzenie systemu operacyjnego, a nie tylko dwa fizyczne, w celu poprawy wydajności. („Liczba wątków ” z arkusza specyfikacji pokazuje ci informacje o procesorze w Ubuntu)
JonasCz - Przywróć Monikę
3
Innym sposobem znalezienia tego jest zrobienie tego lscpui przyjrzenie się CPU(s), Thread(s) per coreoraz Core(s) per socketi Socket(s).
edwinksl,
@edwinksl, dodano wynik lscpu.
foxtrot9
2
Masz więc 4 „procesory”, czyli rdzenie logiczne, 2 wątki na rdzeń fizyczny (jest to część hiperwątkowania), 2 rdzenie fizyczne na gniazdo i 1 gniazdo. 4 = 2 * 2 * 1.
edwinksl,
nie słyszałeś hipertekstu, który istnieje od Pentium 4?
phuclv

Odpowiedzi:

31

Twój procesor ma tylko 2 rdzenie, ale obsługuje 4 współbieżne wątki .

Jest to osiągane dzięki technologii Hyper-Threading firmy Intel, która pozwala na jednoczesne prowadzenie dwóch oddzielnych wątków na jednym rdzeniu.

Zatem 2 rdzenie x 2 wątki na rdzeń oznaczają 4 wątki na procesor.

Bajt Dowódca
źródło
1
Wiem trochę o wątkach, więc jestem ciekawy, jak można to osiągnąć na poziomie sprzętowym? Mam na myśli 2 wątki na procesor?
foxtrot9
7
Naprawdę nie mogę zacząć wyjaśniać całej koncepcji hiperwątkowości tutaj, to wysadziłoby odpowiedź. Zamiast tego chciałbym zasugerować, abyś przeczytał odpowiedni artykuł w Wikipedii lub nakarmił swoją ulubioną wyszukiwarkę „hyperthreading”.
Bajt Dowódca
6
Krótko mówiąc, możemy powiedzieć, że w rdzeniu obsługującym hiperwątkowanie niektóre elementy (stan architektury, tj. Rejestry itp.) Są zduplikowane, podczas gdy inne (silnik wykonawczy, pamięć podręczna) są wspólne.
Bajt Dowódca
5
@ foxtrot9 w zasadzie pojedynczy wątek wykonania zwykle nie wykorzystuje prawie 100% rdzenia procesora - procesor spędza czas na oczekiwaniu na załadowanie danych z pamięci, a żadna instrukcja nie wykorzystuje wszystkich małych obwodów (wykonanie jednostek) w rdzeniu, które wykonują różne czynności. HT pozwala dwóm wątkom wykonania współdzielić rdzeń, więc jeden może działać, gdy drugi czeka, lub oba mogą działać, jeśli używają rozłącznych zestawów jednostek wykonawczych. Ale ponieważ dwa wątki muszą współdzielić zasoby, czasami jeden z nich zatrzymuje działanie drugiego, więc nie jest tak szybki jak 2 całe rdzenie.
hobbs
@ Hobbs Szczegółowe, ale proste wyjaśnienie, świetnie! Dzięki za ten pouczający komentarz :)
Byte Commander
3

Jak widać na zdjęciu dostarczonym przez firmę Intel, liczba wątków wynosi 4.

Powiedziałbym więc, że Ubuntu pokazuje liczbę wątków, a nie rdzeni

Nico T.
źródło
1

W procesorze Intel i5-4210 są 2 rdzenie fizyczne, które są dalej podzielone na 2 rdzenie logiczne; te logiczne rdzenie są osiągane dzięki technologii hiperwątkowości Intela. Łącznie 4 rdzenie, jak pokazano na rysunku. Ta informacja jest również podana na drugim zdjęciu.

Moksh
źródło
Nie wiem, dlaczego ludzie odrzucają twoją odpowiedź, to, co powiedziałeś, jest prawdą.
Wirtualna anomalia
Ludzie są głupi, nie mam nic przeciwko.
Moksh
Aby tylko potwierdzić tę odpowiedź, Wikipedia mówi: „Dla każdego fizycznie obecnego rdzenia procesora system operacyjny adresuje dwa wirtualne (logiczne) rdzenie”.
Wirtualna anomalia
Thnx @lightswitchr
Moksh
1
Myślę, że ludzie oddają głos, ponieważ powiedziałeś, że istnieją dwa rdzenie fizyczne i dwa rdzenie logiczne. To nieprawda, każdy fizyczny rdzeń jest podzielony na dwa rdzenie logiczne, więc istnieją cztery rdzenie logiczne (dwa na każdym rdzeniu fizycznym).
Runemoro,