Procesory wielordzeniowe są w dzisiejszych czasach powszechne w użyciu, spotyka się je zarówno w komputerach stacjonarnych, laptopach, ultrabookach, smartfonach, konsolach czy tabletach. Ale czym tak naprawdę są oraz czy tak naprawdę wielordzeniowość wpływa na poprawę wydajności urządzenia? Jeśli tak, to w jakim stopniu?
Sama nazwa – procesor wielordzeniowy, mówi nam, czym jest taki procesor. Prostymi słowami, posiada więcej niż jeden fizyczny rdzeń. Jednakże istnieje mylne zrozumienie procesorów wielordzeniowych, gdyż powszechnie uważa się, że komputery z procesorem np. czterordzeniowym są dużo szybsze, wydajniejsze i pobierają mniej mocy niż z procesorem dwurdzeniowym. Mówiąc „dużo szybsze”, mamy na myśli prędkość działania aplikacji, programów czy gier. Jednak zanim przejdziemy do odpowiedzenia na te pytania, trochę historii.
Pierwszym procesorem wykorzystującym wiele rdzeni był 64-bitowy i oparty na architekturze RISC (komputer posiadający zredukowany zestaw rozkazów) Power3 firmy IBM. Zaraz po nim pojawiła się wersja przeznaczona na rynek komercyjny – Power4, posiadający dwa rdzenie oraz również był 64-bitowy. Sam pomysł na stworzenie procesora wielordzeniowego powstał już w 1990 roku wraz z konstrukcją procesora Power1. Zdecydowanie pomocnym przy konstrukcji procesora wielordzeniowego było zastosowanie znacząco lepszych półprzewodników wykonanych zarówno z ditlenka krzemu, jak i z arsenka galu. Dlaczego już wtedy nie zbudowano pierwszego procesora dwurdzeniowego? Powód był prosty. Nie znano jeszcze technologii, która pozwalałaby zmniejszyć bardzo duży pobór mocy przez procesor.
Po nim pojawiły się następne procesory wielordzeniowe, jednakże oparte już na architekturze x86 – Opteron oraz Pentium Extreme Edition, pierwszy wprowadzony na rynek przez AMD, drugi – przez Intel. Największą jednak popularność zdobył procesor Intel Core 2 Duo, montowany w tamtych czasach praktycznie w każdym nowym komputerze stacjonarnym i laptopie.
Obecnie w sprzedaży istnieją procesory 6-rdzeniowe (np. Phenom II X6) oraz 16-rdzeniowe,z tymże te ostatnie przeznaczone są szczególnie do obsługi serwerów. Głośno mówi się o pewnej zależności pomiędzy liczbą rdzeni procesorów, a liczbą tranzystorów w jednym układzie – ich liczba, zgodnie z prawem Moore’a, ma podwajać się co 2 lata. Jak będzie naprawdę z procesorami, czas pokaże.
Wróćmy jednak do odpowiedzi na pytanie, czy rzeczywiście im więcej rdzeni, tym procesy są wykonywane tyle razy szybciej? Jako przykład posłuży nam kobieta, która spodziewa się bliźniaków (procesor 2-rdzeniowy). Ciąża trwa 9 miesięcy (czas na wykonanie danej operacji), czy więc fakt, że spodziewa się ona bliźniaków sprawi, że każdy z nich urodzi się po 4,5 miesiąca? Odpowiedź jest jasna. Skoro n-liczba rdzeni nie czyni procesów n-razy szybszym, co sprawia więc że procesory wielordzeniowe są wydajniejsze od np. tych pojedynczych? Z odpowiedzią przychodzi nam technologia opracowana przez Intel, a nazwana Hyper-Threading, czyli technologią wielowątkowości, gdzie każdy rdzeń emuluje dwa rdzenie. Każdy program, gra, działa na zasadzie instrukcji, które są wykonywane w tym samym czasie, a znajdują się w rozmaitych wątkach. Istnieje wątek główny, który np. w przypadku aplikacji odpowiada za interakcję z użytkownikiem oraz wątki poboczne. W momencie przeciążenia systemu np. przez zbyt duża liczbę włączonych aplikacji, nasz program zawiesza się i nie reaguje na nasze polecenia (np. aby go zamknąć czy zminimalizować okno). Spowodowane jest to tym, że ów program rozpoczął obliczenia właśnie w wątku głównym, blokując go. Mając procesor wielordzeniowy wątki te wykonywane są raz przez jeden rdzeń, raz przez drugi, czyli obciążają go po połowie. Czyli, im na więcej wątków dany problem zostaje rozbity, na tyle rdzeni jest on rozłożony, powodując szybszą pracę programu.
Rzeczywista wydajność procesora 2-rdzeniowego jest w tym przypadku około 1,5 raza większa niż procesora z pojedynczym rdzeniem.
Komputer z procesorem wielordzeniowym szybciej jest w stanie wykonać obliczenia prostsze, które występują w dużej ilości naraz – wiele wątków rozkładanych jest równomiernie na kilka rdzeni (np. obróbka wideo), jednakże pojedynczy rdzeń procesora posiadający wyższe taktowanie zegara obliczy szybciej zadania bardziej złożone, i nie wymagające obliczeń na kilku wątkach w tym samym czasie.
Nie da się ukryć, że procesory wielordzeniowe są przyszłością, a przy zastosowaniu technologii Hyper-Threading możemy być pewni, że nasze urządzenia będą w stanie obsłużyć wiele wątków naraz.