...

Co jest ważniejsze – liczba rdzeni czy szybkość zegara procesora

Jeśli rozejrzysz się po dzisiejszym rynku procesorów, może się wydawać, że producenci układów scalonych postanowili wpisać się do Księgi Rekordów Guinnessa. „AMD zaprezentowało 32-rdzeniowy procesor Threadripper 2290WX”! „Intel wypuścił procesor Core i7-8086K, który można podkręcić do 5.0GHz”! Co roku ustanawiane są nowe rekordy wydajności i łatwo się pogubić, czy lepsza jest liczba rdzeni czy prędkość zegara?

Spróbujmy to rozgryźć.

CPU

Mała analogia

Załóżmy, że trzeba przenieść ładunek. Dużo ładunku. I są dwie opcje – przenieść jedną bardzo szybką maszynę lub kilka wolnych.

Użycie kilku wolnych maszyn pozwala na przemieszczanie dużej ilości ładunku, ale niezbyt szybko. Powiedzmy, że przejazd z jednego miasta do drugiego zajmuje trzy dni. Ale przyjdzie wszystko na raz i to jest wspaniałe.

Jedna szybka maszyna będzie w stanie udźwignąć nieco mniejszy ciężar. Ale z jednego miasta do drugiego to tylko jeden dzień. Wtedy naprawdę musi wrócić, odebrać resztę ładunku, przynieść go z powrotem, i jeszcze raz, i jeszcze raz.

Idealnym rozwiązaniem tego problemu jest użycie kilku szybkich maszyn! Wtedy zostanie przeniesiona duża ilość ładunków, a zajmie to tylko jeden dzień. Ale niestety nie żyjemy w idealnym świecie.

Co mają z tym wspólnego procesory, wydawać by się mogło?? Po prostu „kupa ładunku” to strumień obliczeń, które musi wykonać układ scalony. 'Wiele wolnych maszyn’ to kilka mało wydajnych jąder. A „jeden szybki” to jeden wydajny rdzeń, o zwiększonej częstotliwości zegara.

A pytanie „wysoka częstotliwość zegara czy wiele rdzeni” zależy przede wszystkim od planowanego zastosowania.

Jak działa procesor

Sposób działania procesora

Procesor jest zajęty wykonywaniem prostych obliczeń arytmetycznych. System operacyjny i środowisko programowe przekształcają polecenia użytkownika w same zadania arytmetyczne, które musi wykonać układ scalony. Odbywa się to poprzez interpretery i algorytmy określające powiązania między wysokopoziomowymi i niskopoziomowymi językami programowania.

Do procesora cały czas wydawanych jest wiele poleceń. Każda akcja użytkownika wymaga wykonania kilku obliczeń (a nawet kilkudziesięciu tysięcy) jednocześnie. I te komendy muszą być wykonane, inaczej komputer po prostu nie będzie działał.

Polecenia mogą być różne. Na przykład, aby zinterpretować kod HTML strony (w tym tej) na graficzny obraz na ekranie. Albo odszyfrować skompresowany plik ZIP. Albo nawet coś zaszyfrowanego kryptograficznie, co można wyświetlić w postaci zwykłego tekstu. Ogólnie rzecz biorąc, zadania są bardzo różne i wymagają różnych zasobów do wykonania.

Tak więc, na przykład, konwersja kodu HTML wymaga minimalnych zasobów i może być wykonana dość szybko nawet na stosunkowo wolnym chipie. Archiwa ZIP wymagają znacznie więcej czasu maszynowego. A algorytmy kryptograficzne, takie jak obliczenia SHA-256, po prostu obciążają nieszczęsny układ scalony jak szalony i nie mogą być wykonywane na konfiguracjach wielowątkowych.

Obliczanie sztucznej inteligencji – na przykład w grach – wymaga dużej ilości obliczeń. Ale są one małe, izolowane i dlatego mogą być doskonale wykonywane wielowątkowo – na kilku rdzeniach jednocześnie. Efektem tego jest wysoka wydajność w grach.

A archiwizacja i niearchiwizacja plików jest operacją czysto jednowątkową. Więc potrzeba jednego mocnego chipa, inaczej ten proces zajmuje dużo czasu. Szczególnie jeśli archiwum zawiera wiele małych, heterogenicznych plików.

I jeszcze co jest lepsze – liczba rdzeni czy prędkość zegara procesora?

Problem polega na tym, że komputery są wykorzystywane w różny sposób. Rano ściągasz z internetu firmware do telefonu, a tam dwa tysiące plików po 500 Kb w jednym archiwum. Siedząc w porze obiadowej, oglądając w internecie gifty z kotkami. Granie w gry nocą, walka z wieloma wrogami w wirtualnej rzeczywistości.

Czyli komputer potrzebuje rano procesora o wysokiej częstotliwości zegara, po południu „chipa”, a wieczorem komputera z wieloma rdzeniami. I oczywiście nie jest dobrym pomysłem mieszanie i dopasowywanie „rdzeni” w zależności od przeznaczenia.

Dlatego producenci starają się produkować konfiguracje wielordzeniowe o wysokiej prędkości zegara. I tak na przykład Intel Core i7-8086K (w chwili pisania tego tekstu topowy model z linii Kabu Lake) ma sześć rdzeni obliczeniowych z technologią HyperThreading i bazową częstotliwością taktowania 4.0 GHz. Może zrobić wszystko! Drogie, choć – 425 dolarów w momencie premiery.

Do użytku domowego wybór, co jest lepsze – prędkość zegara czy liczba rdzeni – nie jest wyborem. Idealnym rozwiązaniem byłoby osiągnięcie równowagi. Przykładowo, kupując jakiś czterordzeniowy układ o bazowym taktowaniu 3.0GHz. Jest wystarczająco wydajny do większości codziennych zadań.

Oceń artykuł
( Brak ocen )
Viktor Mateush

Witajcie wszyscy! Jestem Viktor Mateush i cieszę się, że mogę podzielić się swoją pasją do naprawy i instalacji urządzeń z Wami. Jako autor na tej stronie internetowej, napędza mnie moja miłość do technologii oraz chęć pomocy innym w zrozumieniu i rozwiązaniu problemów związanych z ich urządzeniami.

Budujemy-dom.info - Budowa i remont, Domek letniskowy, mieszkanie i Dom Wiejski, przydatne porady i zdjęcia
Comments: 2
  1. Piotr Słowik

    Co jest ważniejsze – liczba rdzeni czy szybkość zegara procesora? Zastanawiam się, czy powinienem bardziej zwracać uwagę na ilość rdzeni w procesorze, czy na szybkość zegara? Czy jest jakaś konkretna zależność między nimi, która wpływa na wydajność procesora? Chciałbym dowiedzieć się, co eksperci uważają za bardziej istotne w kontekście wydajności komputera.

    Odpowiedz
  2. Łukasz Skowroński

    Cóż, to zależy od tego, do jakich zastosowań potrzebujesz procesora. Jeśli często pracujesz na wielu programach jednocześnie, to liczba rdzeni może być kluczowa dla wydajności. Jeśli natomiast zależy Ci na szybkim działaniu pojedynczego programu, to szybkość zegara procesora może mieć większe znaczenie. Czym dokładnie zamierzasz się zajmować?

    Odpowiedz
Dodaj komentarze