2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

Rdzenie procesora: Im więcej tym lepiej?

Obecnie w pracy mam dwurdzeniowy procesor, a w domu czterordzeniowy. Zauważyłem, że oba komputery są dość równe jeśli chodzi o uruchamianie aplikacji/surfowanie po sieci.

Różnica, jaką widzę, to fakt, że mój dwurdzeniowy procesor ma 2,8 GHz, a czterordzeniowy 2,4 GHz.

**Czy lepiej jest mieć dwurdzeniowca z szybkim taktowaniem, czy czterordzeniowca ze średnim taktowaniem?

Odpowiedzi (12)

53
53
53
2009-07-15 15:42:45 +0000

UWAGA: Ta odpowiedź została napisana 8 lat temu. Od tego czasu programowanie równoległe stało się bardziej istotne. Jest to prawdopodobnie spowodowane nieodłącznymi ograniczeniami prędkości zegara i szybko zbliżającymi się limitami wielkości tranzystorów.


Twoim podstawowym problemem jest oprogramowanie, które nie zostało napisane dla wielordzeniowości.

Spójrz na doskonały artykuł Jeffa Atwooda na temat Wybór dwurdzeniowego lub czterordzeniowego .

dla większości oprogramowania, po dwóch rdzeniach bardzo szybko osiągasz punkt malejącego zwrotu. W “Quad-Core Desktops and Diminishing Returns” poddałem w wątpliwość, jak efektywnie dzisiejsze oprogramowanie może wykorzystać nawet cztery rdzenie procesora, a tym bardziej nieuniknione osiem i szesnaście rdzeni, które zobaczymy za kilka lat.

Odpowiadamy tutaj (podkreślenie skopiowane z artykułu Jeffa),

Jednak było tu kilka niespodzianek, takich jak Excel 2007, i ustawienie “współbieżnych operacji” w Lost Planet. Możliwe, że inżynieria oprogramowania w końcu posunie się do punktu, w którym prędkość zegara będzie miała mniejsze znaczenie niż równoległość. Albo w końcu może być nieistotna, jeśli nie będziemy musieli dokonywać wyboru między szybszym zegarem a większą liczbą rdzeni procesora. Ale w międzyczasie, szybkość zegara wygrywa przez większość czasu. Więcej rdzeni CPU nie jest automatycznie lepsze. Typowi użytkownicy będą lepiej radzić sobie z najszybszym możliwym dwurdzeniowym procesorem, na jaki ich stać.


Kwestia Front-Side Bus (to określenie zawsze mnie bawiło). Z Nehalem wszystko się zmienia ](http://arstechnica.com/hardware/news/2008/04/what-you-need-to-know-about-nehalem.ars)… jak to ArsTechnica powiedziała w zeszłym roku.

Prawo Moore'a dało projektantom procesorów zawstydzające bogactwo tranzystorów, i nigdzie nie jest to bardziej widoczne niż w 45nm procesorze Nehalem firmy Intel. Debiutujący w 4- i 8-rdzeniowych wariantach jeszcze w tym roku, Nehalem pakuje tonę sprzętu do pojedynczego gniazda procesora. (Wczesne dane mówią o liczbie tranzystorów w czterordzeniowym Nehalemie na poziomie 781 milionów; nie pojawiły się jeszcze dane dla modelu 8-rdzeniowego). Ale próba nakarmienia całego tego sprzętu istniejącą architekturą magistrali po stronie przedniej platformy Intela byłaby szaleństwem. Tak więc, co równie ważne, Nehalem wydaje również długo oczekiwany sygnał śmierci dla pozytywnie geriatrycznej architektury magistrali frontowej Intela.

Radykalna zmiana sytuacji Intela w zakresie przepustowości systemu, którą reprezentuje nowy QuickPath Interconnect (QPI), jest prawdopodobnie największym pojedynczym czynnikiem, który ukształtował projekt Nehalem. Dzięki QuickPath i zintegrowanemu kontrolerowi pamięci Nehalem, procesor Nehalem będzie miał dostęp do bezprecedensowej ilości zagregowanej przepustowości, szczególnie w implementacjach dwu- i czterogniazdowych.

AMD przeniosło kontroler pamięci do procesora wcześniej i zastosowało Hypertransport.

18
18
18
2009-07-15 15:41:59 +0000

Z mojego doświadczenia wynika, że przejście z jednego do dwóch rdzeni przynosi ogromne korzyści w zakresie wydajności. Nagle jeden program o wysokiej wydajności CPU nie blokuje twojej maszyny lub nie czyni jej nadmiernie wolną. Ogromna różnica.

Ale dwa do czterech? Dla 99% ludzi nie będzie to miało znaczenia. Będziesz musiał uruchamiać wiele programów naraz lub używać programów, które mogą wykorzystać więcej niż 2 rdzenie (a realistycznie rzecz biorąc nie ma ich zbyt wiele). Niektóre kodery multimedialne przychodzą na myśl.

Pod tym względem istnieje również różnica pomiędzy Intel Core 2s a AMD Phenom. AMD używa Hypertransport, który jest protokołem punkt-punkt, więc każdy rdzeń ma dedykowaną przepustowość. Intel Core 2s (ale nie Core i7s i inne procesory oparte na Niehalem) używają front side bus, który jest współdzieloną przepustowością, więc masz więcej rdzeni konkurujących o tę samą przepustowość.

To może potencjalnie sprawić, że ten sam zegar czterordzeniowy (marginalnie) wolniejszy w niektórych okolicznościach. Wartość za pieniądze jest nadal z dwoma rdzeniami IMHO. To powiedziawszy, mam czterordzeniowca.

10
10
10
2009-07-15 15:53:09 +0000

Podoba mi się, jak podsumowuje to Donald Knuth ](http://www.informit.com/articles/article.aspx?p=1193856&rll=1):

Dla mnie wygląda to mniej więcej tak, jakby projektantom sprzętu skończyły się pomysły, i że próbują zrzucić winę za przyszły upadek Prawa Moore'a na autorów oprogramowania, dając nam maszyny, które działają szybciej tylko w kilku kluczowych benchmarkach! Wcale się nie zdziwię, jeśli cały pomysł wielowątkowości okaże się klapą, gorszą niż podejście “Itanium”, które miało być tak wspaniałe - aż okazało się, że pożądane kompilatory były w zasadzie niemożliwe do napisania.

Ujmę to w ten sposób: W ciągu ostatnich 50 lat napisałem dobrze ponad tysiąc programów, z których wiele ma znaczny rozmiar. Nie mogę sobie wyobrazić nawet pięciu z tych programów, które zostałyby zauważalnie ulepszone przez równoległość lub wielowątkowość. Z pewnością, na przykład, wieloprocesorowość nie jest pomocna dla TeX-a.

Dla niektórych aplikacji bardzo łatwo jest wykorzystać wiele rdzeni. Ale niektóre inne aplikacje nigdy nie skorzystają z nich, podczas gdy inne mogą skorzystać, jeśli programiści je zoptymalizują (co jest bardzo trudne).

5
5
5
2009-07-15 15:48:54 +0000

Jako głównego komputera stacjonarnego u mojego pracodawcy używam dwurdzeniowego Xeona z 8 GB RAM.

Kiedy programuję, mam Internet Explorera, Chrome, TweetDeck, Visual Studio 2008 (lub 2010) i lokalną instancję Sql Server Express… wszystko działa jak należy.

Porównując, wcześniej miałem dwurdzeniowca i wszystko zaczynało się ślimaczyć przy uruchomionym tylko Visual Studio, Chrome i Sql Express.

To kwestia tego, co robisz z maszyną. Jeśli jesteś power-user, który będzie edytować wideo, modelować 3-d, lub programować ze znacznymi zasobami… to tak, będziesz chciał czterordzeniowca i dużo pamięci RAM.

1
1
1
2009-07-15 16:56:28 +0000

Według Anandtech.com :

Wszystko sprowadza się do TDP układu, czyli jego Thermal Design Point. Im bardziej ograniczone TDP platformy, tym więcej można zyskać dzięki trybowi Turbo Intela. Ujmę to inaczej; aby zmieścić cztery rdzenie w 130W TDP, każdy rdzeń musi pracować z niższą prędkością zegara niż gdybyśmy mieli tylko jeden rdzeń przy tym samym TDP.

Przy wyższych TDP, zazwyczaj jest wystarczająco dużo miejsca pod względem termicznym, aby uruchomić poszczególne rdzenie na dość wysokich obrotach. Przy niższych TDP, producenci procesorów muszą dokonać kompromisu pomiędzy liczbą rdzeni a ich taktowaniem - i tu możemy się trochę pobawić.

To wszystko w kontekście konieczności wyboru pomiędzy rdzeniami (lub wątkami) a częstotliwością taktowania rdzeni.

1
1
1
2009-07-15 15:43:26 +0000

To zależy. Jeśli robisz rzeczy, które mocno wykorzystują każdy rdzeń, 4 rdzenie są lepsze (edycja wideo, renderowanie itp.). Większość ludzi uzna, że obecnie lepsze są dwa szybkie rdzenie, ponieważ niewiele aplikacji jest napisanych tak, aby w pełni wykorzystać 4 rdzenie.

1
1
1
2009-07-15 15:49:30 +0000

Zauważ, że najnowsze procesory i7 mogą faktycznie zwiększyć prędkość zegara na aktywnych rdzeniach, gdy nie wszystkie z nich są potrzebne; na przykład, jeśli masz czterordzeniowy przy 2,4 GHz, ale oprogramowanie wymaga tylko 2 rdzeni do uruchomienia, to może automatycznie uzyskać taktowanie do 2,8 GHz (nie jest to rzeczywista liczba, tylko przykład).

A najnowsza generacja i7, jak sądzę, może taktować 3 lub 4 biny, jeśli potrzebny jest tylko jeden lub dwa rdzenie. W związku z tym może się okazać, że nie pozostanie to tak dużym kompromisem, jak obecnie…

1
1
1
2009-07-15 15:43:13 +0000

Do codziennego użytku i programów, które nie są zoptymalizowane pod kątem wielordzeniowości, szybki dwurdzeniowiec pokona wolniejszy czterordzeniowiec.

W miarę upływu czasu i gdy odpowiednio wielowątkowe aplikacje staną się normą, czterordzeniowce będą wysuwać się na prowadzenie.

Z punktu widzenia stosunku jakości do ceny, rdzenie dwurdzeniowe wciąż mają przewagę.

0
0
0
2009-07-15 15:44:50 +0000

Zależy co robisz i jakie są możliwości Twojego systemu operacyjnego i aplikacji.

Jeśli masz lekki system operacyjny i uruchamiasz pojedynczą, związaną z procesorem aplikację, która może korzystać tylko z jednego procesora, wówczas dwa procesory o wyższej prędkości będą lepszym wyborem.

W przeciwnym razie, jeśli system operacyjny może efektywnie zaplanować wszystkie rdzenie i uruchamiasz wiele aplikacji lub aplikacji, które mogą korzystać z więcej niż jednego procesora, wolniejszy czterordzeniowy procesor zapewni lepszą wydajność przy niższym zużyciu energii, a tym samym mniejszym wydzielaniu ciepła.

0
0
0
2009-07-20 05:41:55 +0000

Zależy.

Bardzo dużo.

Można łatwo znaleźć czterordzeniowca używającego tylko dwóch rdzeni. Częściowo ma to związek z systemem operacyjnym i projektem oprogramowania. Bardziej chodzi o to, że nadal dzielą wszystko inne, w szczególności pamięć, dysk i urządzenia.

Wiesz, że system operacyjny nie będzie się uruchamiał (zauważalnie) szybciej, a strony internetowe nie będą się szybciej wczytywać (mogą się jednak szybciej rysować).

0
0
0
2009-07-15 15:46:35 +0000

Jeśli wykonujesz dużo kodowania wideo, renderowania 3d lub rozproszonych kompilacji kodu źródłowego, to im więcej rdzeni tym lepiej. Zobaczysz wyraźną różnicę w wydajności dla tego typu aplikacji, gdy przejdziesz od 1 do 2, od 4 do 8 rdzeni.

W przeciwnym razie standardowe aplikacje naprawdę nie skorzystają z większej liczby rdzeni. Nawet gry naprawdę nie będą wykorzystywać wielu rdzeni tak bardzo. IMO, lepiej jest wydać pieniądze na lepszą kartę graficzną.

0
0
0
2009-07-15 15:43:11 +0000

W twoim przypadku czterordzeniowy byłby lepszy. Pamiętaj, że im więcej rdzeni masz, tym więcej przetwarzania paralelnego możesz zrobić. Więc na swoim dwurdzeniowym może być w stanie uruchomić jedną aplikację szybciej niż quad, ale quad może uruchomić 4 aplikacje szybciej niż ty dual będzie w stanie. Ponadto, jeśli aplikacja jest napisana do przetwarzania w parrallel (wielowątkowe), a następnie aplikacja będzie działać lepiej na architekturze wielordzeniowej.

To wszystko jest jednak względne, ponieważ czterordzeniowy procesor pracujący z częstotliwością 100 Mhz nie będzie przewyższał dwurdzeniowego procesora 4 Ghz. Ogólnie rzecz biorąc jednak, im więcej rdzeni, tym lepiej.