Niektórzy zastanawiają się, czemu kopanie GPU jest bardziej opłacalne niż kopanie CPU. Postaram się to po krótce objaśnić.
Po pierwsze, tylko w celu wyjaśnienia, CPU (Central Processing Unit) to część komputera wykonująca wszystkie żądania oprogramowania, w które jest wyposażony. Jest to mózg komputera oraz część mówiąca wszystkim innym częściom co mają robić, zgodnie z kodem programu, który wykonuje.
W dzisiejszych czasach większość komputerów jest wyposażonych w jednostki wielordzeniowe, co jest równoważne z posiadaniem kilku procesorów jednordzeniowych w jednym komputerze. Zauważyć warto, że nadal buduje się komputery wyposażone w wiele procesorów.
CPU to zwykle komponent wymienialny, pasujący do podstawki w płycie głównej i siedzi pod sporym radiatorem z wentylatorem, czasami chłodzony jest powietrzem.
GPU (Graphics Processing Unit) to część karty graficznej, renderującej obraz wyświetlany za pomocą monitora. Typową funkcją GPU jest renderowanie grafik 3D i efektów wizualnych, czego procesor nie robi.
GPU jest jak CPU, lecz posiada różnice, które sprawiają, że jest on bardziej wydajny w specjalnych zadaniach. Jest to powód dlaczego „mining” jest bardziej wydajny na nich.
Krótko mówiąc, CPU może wykonywać cztery instrukcje 32-bitowe na jeden cykl zegara procesora (przy użyciu 128-bitowego instrukcji SSE) lub 8 przez AVX (256-bit), natomiast jak GPU Radeon HD 5970 może wykonać 3200 instrukcje 32-bitowe na cykl (przy użyciu jego 3200 ALU lub shaderów). Jest to różnica 800 (lub 400 w przypadku AVX) razy więcej instrukcji na jeden cykl zegara. Od 2011, najszybsze procesory posiadły nawet 6, 8 lub 12 rdzeni i nieco wyższy zegar częstotliwości (2000-3000 MHz vs 725 MHz Radeon HD 5970), ale HD5970 jest wciąż pięć razy szybszy niż cztery 12-rdzeniowe procesory na 2.3GHz (które kosztują 4700 dolarów zamiast 350 dolarów za HD5970).
Czyli tak jak wspominałem wcześniej procesor jest przede wszystkim jednostką wykonującą i podejmującą decyzje, zgodnie z zaleceniami oprogramowania. Na przykład gdy wydasz polecenia zapisania dokumentu, to zadaniem procesora jest wybrać odpowiedni typ pliku i zapisać do na dysk twardy. Procesor może również wykonywać wszelkiego rodzaju operacje matematyczne, każdy rdzeń procesora zawiera jedną lub dwie jednostki arytmetyczno-logiczne. Procesor również jest zdolny do następujących instrukcji „jeśli to, zrób to, jeśli nie zrób coś innego”. Znaczna większość struktur wewnątrz CPU ma za zadanie upewnić się, że procesor jest gotowy do przełączenia się na inne zadanie gdy jest taka potrzeba.
Procesory mają również za zadanie kilka innych rzeczy, które dodają złożoności, w tym:
– egzekwowanie poziomów uprawnień oraz granice między programami i systemem operacyjnym,
– tworzenie iluzji „pamięci wirtualnej” dla programów,
– wsteczna kompatybilność z dotychczasowymi instrukcjami.
Tak, GPU również może wykonywać polecenia matematyczne w określonych warunkach. Jednak GPU zostały zaprojektowane tak, aby były bardzo dobre w przetwarzaniu wideo i mniej w pracy wykonawczej. Przy przetwarzaniu wideo jest dużo pracy powtarzalnej, ponieważ duże grupy pikseli na ekranie mają wyświetlać to samo. W celu uzyskania tej efektywności, procesory wideo są znacznie lepsze w wykonywaniu rutynowych zadań, niż do ich szybkiego przełączania. GPU mają duże ilości ALU w porównaniu do procesorów. W wyniku tego, mogą one wykonywać duże ilości zadań matematycznych w odróżnieniu od CPU.
Jako analogię podam przykład. Wyobraźmy sobie, że CPU to taka grupka wyspecjalizowanych naukowców, którzy są w stanie w krótkim czasie może wykonywać bardzo skomplikowane zadania. GPU to taki tłum niezbyt mądrych i niezbyt szybkich ludzi, jednak zdolnych do wykonywania w kółko prostego zadania którego się ich nauczy. Mimo, że każdy naukowiec takie zadanie wykonuje znacznie szybciej niż indywidualna jednostka (ta niezbyt mądra i niezbyt szybka), to z powodu, że tych jednostek jest kilkaset razy więcej, działają oni w grupie szybciej niż grupka naukowców.
Nie ustawiono klucza aplikacji GIPHY. Sprawdź ustawienia