co oznacza 2 rdzeń 4 wątki w CPU?

22

Chciałem wiedzieć, co oznaczają 2 rdzenie 4 wątki na procesor? Mówię o tym procesorze, który mam

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

Początkowo myślałem, że i5 ma 4 rdzenie, ale myślę, że się mylę. Rozumiem, że wątek jest taki, że jest to fragment kodu, który może działać jednocześnie (jednocześnie) z innymi wątkami. Co więc oznaczają 4 wątki w tym arkuszu specyfikacji? Czy różni się od wątków programowych. Czy liczba wątków jest inna niż wątek programu, który tworzymy. Jeśli ma tylko 2 rdzenie, to czy prawdą jest, że możesz uruchomić tylko 2 równoległe programy, mimo że ma 4 wątki?

użytkownik734861
źródło
2
Po przeprowadzeniu badań w tle na temat en.wikipedia.org/wiki/Hyper-threading powinno to mieć dla ciebie lepszy sens. Procesor, który posiadasz, jest w stanie wykonać 4 instrukcje na raz. Powinieneś zrozumieć, że nawet jeden rdzeń procesora może uruchamiać wiele programów. Po prostu NIE ma możliwości wykonywania 2 instrukcji na raz. Nie wydaje się jasne, jak działa program.
Ramhound
@Ramhound Prawdopodobnie miałeś na myśli 4 strumienie instrukcji . Ponieważ i5 jest superskalarny, może wykonywać wiele instrukcji równolegle nawet z jednego strumienia instrukcji. Jednoczesne wielowątkowość pozwala na przekształcenie równoległości na poziomie wątku w równoległość na poziomie instrukcji, zwiększając wykorzystanie zasobów wykonawczych.
Paul A. Clayton
Zminimalizowałem moje oświadczenie, liczba instrukcji na cykl zegara to różnica między Pentium D i czwartym rdzeniem i5 minus rozmiar matrycy, a wymagania energetyczne oczywiście (ponownie uproszczone)
Ramhound
1
Możliwy duplikat Hyper-Threading i Dual-Core, jaka jest różnica?
Ciro Santilli 4 改造 中心 法轮功 六四 事件
Ta odpowiedź może zawierać edycję: superuser.com/questions/1198459/…
Jamie Hanrahan,

Odpowiedzi:

15

Twój i5 ma dwa rdzenie, każdy rdzeń może pracować dwa wątki bo Intela HyperThreading , co 4 wątki, poza który przełącza przy wysokich prędkościach między procesami. Oto ładne wyjaśnienie wielowątkowości, jeśli chcesz dowiedzieć się więcej, ale w gruncie rzeczy twój procesor może uruchamiać 4 procesy jednocześnie i przełączać się z dużą prędkością między procesami.


źródło
> „poza tym przełącza się przy dużych prędkościach między procesami”. Co sprawia, że ​​przełączanie czarno-białego procesu jest szybsze?
Talespin_Kit
@Talespin_Kit Myślę, że @ Slowki miał na myśli sposób, w jaki procesor jest wykorzystywany do pracy z wieloma procesami, więc nie ogranicza się do 4 rzeczy. To 4 wątki wielu rzeczy.
Matt Sephton,
3

Nie jestem pewien swojego poziomu wiedzy na temat architektury komputera, jednak Core i5, o którym tu wspomniałeś, implementuje formę wielowątkowości znaną jako równoczesna wielowątkowość (SMT). Znakiem towarowym firmy Intel dla ich implementacji SMT jest hyperthreading.

Oprócz SMT istnieją inne formy wielowątkowości, jednowymiarowe wielowątkowe. Na przykład drobnoziarnisty wielowątkowy czasowy, w którym procesor może przełączać się między różnymi wątkami w każdym cyklu, umożliwiając w ten sposób pseudo-równoległe wykonywanie kilku programów. Podobnie może występować gruboziarnisty wielowątkowy czasowy wielowątkowy, w którym procesor może przełączać się między wątkami, gdy natrafi na operację o dużym opóźnieniu, taką jak dostęp do pamięci głównej w bieżącym wątku. Dokładne punkty zmiany mogą się różnić w zależności od wdrożenia i wymagań, takich jak uczciwość lub terminy w czasie rzeczywistym.

SMT odbiega od filozofii przełączania kontekstu dla wielowątkowości, ponieważ w rzeczywistości ma dwa lub więcej wątków działających na jednym procesorze jednocześnie. Chociaż implementacja może być różna, głównym celem jest wykorzystanie jednostek funkcjonalnych procesora, które pracują na biegu jałowym, jeśli wykonywany był tylko jeden wątek, a także wykorzystanie szerokopasmowej natury procesora. Można sobie wyobrazić wielowątkowość czasową jako czasowe dzielenie zasobów procesorów, a SMT jako przestrzenne dzielenie zasobów.

Szczegółową analizę można znaleźć w pracy Tullsena z 1995 r .:

http://dl.acm.org/citation.cfm?id=224449

Obrót silnika
źródło
0

„Jeśli ma tylko 2 rdzenie, to czy prawdą jest, że możesz uruchomić tylko 2 równoległe programy, mimo że ma 4 wątki?” Jeśli ma 2 rdzenie, obliczenia dzielone są przez 2 = równoległość Jednak jeśli twój system ma hiperwątkowość, może wykonać 2 obliczenia w tym samym rdzeniu, dlaczego ten sam rdzeń pokazuje systemowi operacyjnemu jak 2 rdzenie ... rdzenie logiczne.

Tizoc
źródło
0

Weź liczbę wątków i podziel ją przez liczbę rdzeni, co da ci liczbę wątków, które mogą być uruchomione jednocześnie na rdzeń procesora.

Wcześniej [we wcześniejszych modelach Intela] hiperwątkowanie było ograniczone do 1 rdzenia z 2 wątkami jednocześnie LUB wielu rdzeni z 1 zestawem instrukcji (aka, wątek) na rdzeń (dość nieefektywne, jeśli mnie pytasz). Ale z lepszą mocą obliczeniową i późniejszymi zmianami, takimi jak procesor i5, masz to, co lubię nazywać, wielordzeniowy procesor hiperwątkowy, który ma wiele rdzeni z wieloma zestawami instrukcji (aka, wątkami) na rdzeń.

W twoim przypadku 1 rdzeń otrzymuje 2 wątki, więc kiedy wykonujesz matematykę, masz w sumie = 4 zestawy instrukcji (wątków).

Kolejny przykład: liczba rdzeni = 4, liczba wątków = 8 | 8/4 = 2, więc każdy rdzeń przetwarza 2 wątki jednocześnie (nie jestem pewien, który model procesora to robi, ale jestem prawie pewien, że taki istnieje).

Mam nadzieję, że to pomaga mojemu przyjacielowi! Miłej informatyki!

Źródło: PEARSON IT Certification CompTIA A + Examp Cram Cert. podręcznik

Khoreyrs
źródło