W nowoczesnych procesorach wielordzeniowych dwa lub więcej rdzeni obliczeniowych znajduje się na pojedynczym krysztale krzemu. Co więcej, każdy rdzeń może obsługiwać obliczenia dwóch lub więcej wątków. Zastosowanie procesorów wielordzeniowych może przyspieszyć działanie systemów operacyjnych i aplikacji obsługujących wielowątkowość.
Procesory wielordzeniowe to jednostki centralne zawierające więcej niż dwa rdzenie przetwarzania. Takie rdzenie mogą znajdować się zarówno w jednym pakiecie, jak i na jednej matrycy procesora.
Co to jest procesor wielordzeniowy?
Najczęściej procesory wielordzeniowe są rozumiane jako procesory centralne, w których kilka rdzeni obliczeniowych jest zintegrowanych w jeden mikroukład (czyli znajdują się na jednym krysztale krzemu).
Zwykle szybkość zegara w procesorach wielordzeniowych jest celowo niedoceniana. Odbywa się to w celu zmniejszenia zużycia energii przy zachowaniu wymaganej wydajności procesora. Jednocześnie każdy rdzeń jest pełnoprawnym mikroprocesorem, co jest charakterystyczne dla wszystkich nowoczesnych procesorów - wykorzystuje wielopoziomową pamięć podręczną, obsługuje wykonywanie kodu poza kolejnością i instrukcje wektorowe.
Hyper Threading
Rdzenie w procesorach wielordzeniowych mogą obsługiwać SMT, co pozwala na wykonywanie wielu wątków obliczeń i wielu procesorów logicznych opartych na każdym rdzeniu. W procesorach produkowanych przez firmę Intel ta technologia nosi nazwę „Hyper-threading”. Pozwala podwoić liczbę procesorów logicznych w porównaniu do liczby fizycznych chipów. W mikroprocesorach obsługujących tę technologię każdy procesor fizyczny może jednocześnie utrzymywać stan dwóch wątków. Dla systemu operacyjnego będzie to wyglądało na dwa procesory logiczne. Jeśli nastąpi przerwa w pracy jednego z nich (na przykład czeka na odebranie danych z pamięci), drugi procesor logiczny rozpoczyna wykonywanie własnego wątku.
Rodzaje procesorów wielordzeniowych
Procesory wielordzeniowe są podzielone na kilka typów. Mogą, ale nie muszą obsługiwać korzystania ze współdzielonej pamięci podręcznej. Komunikacja między rdzeniami realizowana jest za pomocą współdzielonej magistrali, sieci punkt-punkt, sieci z przełącznikiem lub współdzielonej pamięci podręcznej.
Zasada działania
Większość nowoczesnych procesorów wielordzeniowych działa zgodnie z następującym schematem. Jeśli uruchomiona aplikacja obsługuje wielowątkowość, może to zmusić procesor do wykonywania wielu zadań jednocześnie. Na przykład, jeśli komputer korzysta z 4-rdzeniowego procesora o częstotliwości taktowania 1,8 GHz, program może „załadować” wszystkie cztery rdzenie pracą jednocześnie, podczas gdy całkowita częstotliwość procesora wyniesie 7,2 GHz. Jeśli kilka programów działa jednocześnie, każdy z nich może wykorzystywać część rdzeni procesora, co również prowadzi do wzrostu wydajności komputera.
Wiele systemów operacyjnych obsługuje wielowątkowość, więc zastosowanie procesorów wielordzeniowych może przyspieszyć działanie komputera nawet w przypadku aplikacji, które nie obsługują wielowątkowości. Jeśli weźmiemy pod uwagę działanie tylko jednej aplikacji, to użycie procesorów wielordzeniowych będzie uzasadnione tylko wtedy, gdy ta aplikacja jest zoptymalizowana pod kątem wielowątkowości. W przeciwnym razie prędkość procesora wielordzeniowego nie będzie się różnić od konwencjonalnego procesora, a czasami będzie działał jeszcze wolniej.