Czy rozmiar pamięci podręcznej lub liczba rdzeni jest ważniejsza przy ważeniu wydajności procesora?

9

Kupuję laptopa, aby mój syn mógł z niego korzystać w szkole, więc nie musi to być automat do gier. Wcześniej składałem komputery od zera, ale minęło trochę czasu.

Zauważyłem, że wiele dostępnych podstawowych maszyn jest wyposażonych w dwurdzeniowy lub jednordzeniowy procesor. Rozumiem, że wszystkie inne rzeczy równe dwurdzeniowemu procesorowi prawdopodobnie będą działać lepiej. Co jednak, jeśli pojedynczy rdzeń miałby dużo większą pamięć podręczną L2 (powiedzmy 3 MB dla jednego rdzenia vs. 1 MB dla dwurdzeniowego)? Wiem, że może to również znacząco wpłynąć na wydajność.

Rozumiem, że inne elementy systemu, np. Szybkość pamięci i sprzęt graficzny, również będą miały wpływ na wydajność systemu. Moje pytanie brzmi: jeśli muszę wybrać pomiędzy dodatkowym rdzeniem procesora lub większą pamięcią podręczną, co powinienem wybrać?

David
źródło
2
Zależy to także od twojego scenariusza użycia. Oprogramowanie, którego używasz (co robią i jak są programowane) może mieć duży wpływ na to, co da lepszą wydajność. Na przykład w przeszłości szybsze Celerony często były lepsze do przeglądania stron internetowych i zwykłych gier, podczas gdy wolniejsze P4 były lepsze do kompresji i gier 3D.
Synetech,
@Synetech, Cóż, oczywiście miał na myśli typowe aplikacje tego roku + 3 lata. Stare aplikacje nie mają znaczenia.
Pacerier

Odpowiedzi:

12

Pamięć podręczna procesora

Niższa pamięć podręczna procesora spowoduje większe prawdopodobieństwo pominięcia pamięci podręcznej , co znacznie obniży wydajność. To powiedziawszy, kolejny cały rdzeń pozwoli komputerowi na uruchamianie co najmniej dwóch wątków jednocześnie, więc jest to kompromis, gdy musisz wybrać jeden nad drugim.

Rozmiar pamięci podręcznej procesora a wskaźnik pominięć

Z powyższego wykresu możemy zobaczyć, że gdy rozmiar pamięci podręcznej przekracza 1 MB, prawdopodobieństwo braku pamięci podręcznej jest już bardzo niskie i pokazuje malejące zwroty wraz ze wzrostem wielkości pamięci podręcznej.

Rdzenie procesora

Z drugiej strony dodatkowe rdzenie procesora mogą wykazywać drastyczny wzrost prędkości, gdy aplikacje korzystają z wielu rdzeni.

W przypadku większości rzeczywistych aplikacji dodatkowy rdzeń wykonawczy zapewni lepszy wzrost wydajności w porównaniu do dodatkowej pamięci podręcznej. Zarówno rozmiar pamięci podręcznej, jak i liczba rdzeni są niezwykle ważne przy ważeniu wydajności komputera, ale gdy masz do czynienia z relatywnie małą liczbą rdzeni na początku, dodatkowe rdzenie zwykle zapewniają znaczny wzrost wydajności.

...

Przełom
źródło
Mniej więcej tak myślałem ... ale nie byłem pewien, gdzie można uzyskać malejące zyski dzięki pamięci podręcznej. Dzięki!
David
Czy to ja, czy oś X wykresu jest całkiem błędna? 4-1 = 3; 16-4 = 12; 64-16 = 48 itd., Ale wszystkie są reprezentowane w tej samej odległości. Ale chyba dane przedstawione na wykresie są nadal poprawne, prawda? Uświadomiłem sobie również, że oś Y ma to również.
Utku
@Utku zarówno oś x, jak i oś y używają skal logarytmicznych, przy czym oś x używa podstawy-2, a oś y używa podstawy-10.
Przełom
6

Dodatkowy rdzeń, łatwy do większości zastosowań. Możesz wykonać dwa razy obliczenia w optymalnych warunkach. Pamięć podręczna pomaga, ale nie podwaja prędkości.

soandos
źródło
3

Właściwy wybór (dwurdzeniowy vs dodatkowa pojemność pamięci podręcznej) zależy od aplikacji docelowych, które będą uruchamiane na laptopie.

Procesory dwurdzeniowe teoretycznie skracają czas wykonania o połowę w porównaniu do procesorów jednordzeniowych. Jednak w praktyce przyspieszenie 2x jest rzadko osiągane ze względu na wyzwania związane z pisaniem aplikacji równoległych. Prawo Amdahla (link) pokazuje, że nawet jeśli aplikacja ma 90% wykonania idealnie zrównoleglonego (trudne zadanie dla dużych aplikacji), przyspieszenie wynosi 1,82X zamiast 2x. Przyspieszenie od drugiego rdzenia zmniejszy się tylko w przypadku aplikacji, które nie są implementowane w sposób skalowalny.

Większa pojemność pamięci podręcznej L2 zmniejszy wskaźnik braków w pamięci podręcznej, jak pokazano w odpowiedzi @Breakthrough. Jednak odpowiedź wyciąga błędny wniosek z wykresu, że pojemność pamięci podręcznej przekraczająca 1 MB zapewni jedynie nieznaczne ulepszenia. Punkt malejących zwrotów zależy od aplikacji (w szczególności łącza rozmiaru zestawu roboczego ) aplikacji. Większość aplikacji może mieć ustawiony rozmiar roboczy przekraczający 1 MB, a zatem większe pamięci podręczne pomogą poprawić wydajność, unikając dostępu do pamięci DRAM o dużych opóźnieniach (procesory działają do 3 rzędów wielkości szybciej niż pamięć główna)

Wreszcie, chociaż moja odpowiedź może brzmieć jak faworyzowanie większej pamięci podręcznej w stosunku do drugiego procesora, chciałbym zauważyć, że większość współczesnych programów nauczania CS koncentruje się na wprowadzeniu programowania równoległego dla studentów. Dlatego procesory wielordzeniowe mają większy sens, nawet jeśli nie są wyraźnie lepszym wyborem pod względem wydajności

YetAnotherPseudoName
źródło
1

Poleciłbym maszynę dwurdzeniową zamiast jednordzeniowej.

Ponieważ system Windows robi wiele w tym samym czasie (np. Przeglądasz Internet, podczas gdy pobierana jest aktualizacja Windows, a program antywirusowy skanuje właśnie pobrany plik), system dwurdzeniowy jest w większości bardziej „responsywny” niż pojedynczy rdzeń maszyny

Tex Hex
źródło
0

Rozmiar pamięci podręcznej jest ważny, ponieważ zmniejsza prawdopodobieństwo braku pamięci podręcznej. Brak pamięci podręcznej jest kosztowny, ponieważ procesor musi przejść do pamięci głównej, aby uzyskać dostęp do adresu pamięci, trwa to znacznie dłużej, a tym samym powoduje wolniejszy komputer.

Ważna jest także liczba rdzeni, ponieważ im więcej rdzeni, tym więcej procesów można uruchomić w tym samym czasie. Oznacza to, że wiele instrukcji może być uruchomionych równolegle, co skutkuje szybszym komputerem.

Jak widać, oba są dość krytyczne, a optymalizacja obu jest ważna, chociaż z własnego doświadczenia wielordzeniowy procesor jest bardziej korzystny niż większy bufor, jeśli musisz zoptymalizować tylko jedną rzecz ...

rrazd
źródło