Jaka jest różnica między procesem wielordzeniowym a systemem wieloprocesorowym?

18

Zastanawiam się, jaka jest różnica między komputerem dwurdzeniowym a komputerem z 2 procesorami na płycie głównej. Myślę, że jest to związane z wątkami, ale nie rozumiem tego zbyt dobrze.

zakaz
źródło

Odpowiedzi:

19

Wiele procesorów pozwala Twojemu komputerowi robić dosłownie dwie rzeczy naraz (zamiast pozornie robić dwie rzeczy naraz, ale tak naprawdę po prostu bardzo szybko przełączać się między zadaniami).

Wiele rdzeni jest takich samych. Zaletą wielu rdzeni nad wieloma procesorami jest to, że współużytkują one niektóre bity procesora, np. Pamięć podręczną drugiego poziomu, co pozwala im pracować jeszcze wydajniej, jeśli mają wspólne dane. To sprawia, że ​​są znacznie tańsze w produkcji. Pojedynczy dwurdzeniowy procesor zajmuje również mniej miejsca niż dwa jednordzeniowe procesory, co jest ważnym czynnikiem w dzisiejszych czasach, gdy wszyscy przenoszą się na laptopy.

Mogą występować pewne różnice w wydajności, ale nic nie zauważysz.

John Fouhy
źródło
2
Nie tylko zajmuje mniej miejsca, ale także generuje mniej ciepła (zużywając mniej energii) i wymaga tylko jednego wentylatora chłodzącego.
CarlF
13

Zobacz ten obraz, który pokazuje różnicę między procesorem wieloprocesorowym, Hyper Threaded i Multi Core:

wprowadź opis zdjęcia tutaj

pazury
źródło
2

Cóż, chodzi o skalowanie w poziomie zamiast w pionie. W dawnych czasach sprawiali, że procesory były coraz szybsze. Z biegiem czasu prędkość procesorów wzrosła z zaledwie garstki megaherców do superszybkości sięgających 3 gigaherców. Jednak po osiągnięciu prędkości 3 gigaherców producenci procesorów znaleźli granicę, jak daleko mogą przesunąć prędkość na jednym rdzeniu procesora.

Podczas gdy miał miejsce wyścig prędkości, dla aplikacji, które wymagały większej mocy (takich jak serwery i farmy renderujące CGI), wprowadzono wieloprocesorowe płyty główne CPU. Pozwoliło to na umieszczenie więcej niż jednego procesora (zwykle dwóch) na płycie głównej. Systemy operacyjne, w których można jednocześnie korzystać z wielu procesorów jednocześnie, mogą uruchamiać oprogramowanie, które skorzystało z tej funkcji, rozkładając obciążenie na te dwa procesory, zwiększając w ten sposób szybkość wykonywania.

Szybko do przodu do dnia dzisiejszego. Ograniczenie prędkości procesora zostało nieco osiągnięte i zamiast skalować w pionie (co przyspiesza), producenci procesorów zaczynają skalować w poziomie, umieszczając wiele rdzeni na jednym układzie. Obecnie układy dwurdzeniowe są bardzo powszechne i wkrótce quady będą standardem. Teraz wyobraź sobie, że umieściłeś dwa quady na jednej płycie głównej. Oznaczałoby to, że system operacyjny miałby dostęp do 8 procesorów, z których wszystkie działałyby na poziomie około 3 gigaherców.

Oprócz procesorów wielordzeniowych istnieje również „fałszywy” dwurdzeniowy procesor, który wykorzystuje technologię znaną jako „hiperwątkowość”. Dzięki hiperwątkowości procesor emuluje obecność dwóch procesorów, gdy w rzeczywistości występuje tylko jeden rzeczywisty rdzeń. Procesor wie, jak wykorzystać przestój, planując instrukcje w określony sposób, uzyskując większą wydajność.

Łukasz
źródło
3
-1: Ta odpowiedź ma wiele niedokładności. (1) 3 GHz nie jest „ograniczeniem prędkości”, istnieją procesory działające na częstotliwościach wyższych niż 3 GHz. Ograniczeniem, na jakie natrafił producent procesora, było umieszczenie procesorów o wyższej wydajności w zrównoważonym zakresie mocy. (2) Drugi akapit sugeruje, że płyty główne z wieloma procesorami zostały wprowadzone, ponieważ osiągnięto „ograniczenie prędkości”. W rzeczywistości płyty główne z wieloma gniazdami były około 5-10 lat wcześniej (może nawet dłużej, nie mogę znaleźć dokładnej daty, kiedy serwery PC stały się wielordzeniowe).
hanleyp
Wiem, że nie jest to w 100% poprawne i starałem się zachować odpowiedź w kategoriach laika. To tylko głupia wersja, więc ludzie rozumieją, na czym polega różnica. Jestem pewien, że kiedy ludzie naprawdę chcą poznać tajniki, będą badać więcej dla siebie. Ustęp 2 zaczyna się od słowa „Tymczasem”, podczas gdy procesory są tworzone szybsze płyty główne z wieloma gniazdami procesorów, które zostały utworzone (czyli około 10 lat temu).
Luke
To super. Chciałem tylko wskazać, co moim zdaniem wymaga wyjaśnienia. Cofam mój głos, ale nie mogę, chyba że jakoś zmodyfikujesz odpowiedź.
hanleyp
Z przyjemnością wprowadzam zmiany, ale co dokładnie chcesz, abym zmienił? Czy istnieją procesory, które sięgają 3,2 gigaherca, a może nieco więcej? Czy możesz wyjaśnić?
Luke
2
-1: Wyjaśniasz, dlaczego widzimy systemy wielordzeniowe, ale nie o to pytał pytający. Nie wyjaśniłeś różnicy między wieloma rdzeniami a wieloma procesorami.
John Fouhy
1

Z perspektywy rozwoju oprogramowania różnica jest stosunkowo niewielka.

Niektóre niepoprawnie napisane aplikacje wielowątkowe mogą przypadkowo działać na wielordzeniowym procesorze, ale nie na wieloprocesorowej płycie głównej, ale nie straciłbym za dużo snu z tego powodu, ponieważ ... cóż ... mówimy niepoprawnie napisane oprogramowanie.

Główną różnicą między dwoma scenariuszami dla tej samej łącznej liczby dostępnych rdzeni (na przykład 1x 4-rdzeniowy procesor vs. 2x 2-rdzeniowy procesor) jest to, że w przypadku scenariusza wieloprocesorowego zazwyczaj występuje większa pamięć zagregowana -pasmo. Oznacza to, że przy każdym obciążeniu wymagającym dużej ilości pamięci lepiej będzie mieć to drugie. Zauważ jednak, że blokowanie operacji podstawowych może być nieco wolniejsze (w zależności od implementacji sprzętowej), więc algorytmy, które używają dużej synchronizacji, mogą faktycznie działać gorzej.

Mimo to nie martwiłbym się zbytnio różnicą nawet wtedy, ponieważ jeśli pracujesz w obszarze, w którym ta różnica ma znaczenie, najprawdopodobniej już o niej wiesz (wiedza specyficzna dla domeny).

jerryjvl
źródło