Co to jest procesor wielordzeniowy?

Procesor wielordzeniowy to układ scalony wykorzystujący co najmniej dwa indywidualne procesory lub rdzenie do obsługi danych. Rdzenie mogą być dołączone do jednego układu scalonego lub wbudowane w osobne matryce w pakiecie chipowym. Każdy rdzeń ma własną pamięć podręczną i każdy ma oddzielną pojemność do przetwarzania danych.

Zaletą procesora wielordzeniowego jest zwiększona szybkość. Tradycyjny, jednordzeniowy procesor przechowuje niektóre dane w swojej pamięci podręcznej, a gdy wymagane są dane spoza pamięci podręcznej, muszą one zostać pobrane z innych miejsc, takich jak pamięć o dostępie swobodnym (RAM). W takim przypadku szybkość procesora spada do maksymalnej szybkości pamięci RAM lub innego urządzenia pamięci masowej. Szybkość ta jest zwykle znacznie mniejsza niż maksymalna szybkość procesora.

Procesory wielordzeniowe są szybsze, ponieważ każdy rdzeń może obsługiwać własny strumień danych. Podczas gdy procesory wielordzeniowe nadal selektywnie buforują dane i pobierają dane niebuforowane z innych lokalizacji pamięci, dodatkowy rdzeń lub rdzenie mogą nadal wykonywać polecenia i otrzymywać informacje z normalną szybkością procesora, podczas gdy inny procesor pobiera potrzebne informacje z wolnych urządzeń pamięci masowej. W ten sposób cały system nie musi zwalniać podczas pobierania danych.

Procesor wielordzeniowy jest szczególnie cenny w przypadku pracy wielozadaniowej, w której każdy z więcej niż jednego programu obsługuje własny zestaw danych do przetwarzania. Oddzielne strumienie danych mogą być obsługiwane przez różne rdzenie, zwiększając ogólną szybkość przetwarzania. Aby pojedynczy program mógł korzystać z technologii wielordzeniowej, musi mieć technologię jednoczesnej wielowątkowości (SMT), która umożliwia wysyłanie równoległych zestawów instrukcji do wykorzystania przez wiele rdzeni.

Pierwszym dostępnym na rynku procesorem wielordzeniowym był procesor dwurdzeniowy. Istnieją również procesory wielordzeniowe z czterema, sześcioma i ośmioma rdzeniami. Wiele płyt głównych nie jest jednak w stanie obsłużyć tak wielu rdzeni. Systemy wielordzeniowe mogą być jednorodne, wykorzystujące wszystkie identyczne rdzenie, lub heterogeniczne, wykorzystujące rdzenie nieidentyczne.
Chociaż procesory wielordzeniowe mają na celu zwiększenie ogólnej szybkości i wydajności, nie wszystkie programy wykorzystują technologię przetwarzania wielordzeniowego. Wiele programów, a nawet niektóre systemy operacyjne, nie mają SMT potrzebnego do korzystania z więcej niż jednego rdzenia przetwarzania. Systemy operacyjne wykorzystujące przetwarzanie wielordzeniowe nie zawsze są projektowane z myślą o maksymalizacji potencjału przetwarzania wielordzeniowego, dlatego często nie wykorzystuje się pełnych możliwości przetwarzania.
Procesor wielordzeniowy zwykle wytwarza więcej ciepła niż procesor jednordzeniowy, co powoduje problemy z zarządzaniem ciepłem. Ilość ciepła wytwarzanego przez procesor ma tendencję do gwałtownego wzrostu z każdym dodatkowym rdzeniem. Wysokie temperatury mogą powodować przegrzewanie się procesorów, powodując problemy operacyjne i zagrożenie bezpieczeństwa. Producenci procesorów musieli zainwestować dużo czasu i technologii w tworzenie rozwiązań problemów termicznych stawianych przez procesory wielordzeniowe.