Co to jest procesor wielordzeniowy? (Ze zdjęciami)
Procesor wielordzeniowy to układ scalony, który wykorzystuje dwa lub więcej pojedynczych procesorów lub rdzeni do obsługi danych. Rdzenie można podłączyć do jednego układu scalonego lub wbudować w oddzielne matryce w pakiecie układów scalonych. Każdy rdzeń ma własną pamięć podręczną i każdy ma osobną pojemność do przetwarzania danych.
Zaletą procesora wielordzeniowego jest większa prędkość. Tradycyjny, jednordzeniowy procesor przechowuje niektóre dane w pamięci podręcznej, a gdy dane poza pamięcią podręczną są wymagane, należy je odzyskać z innych miejsc, takich jak pamięć o dostępie swobodnym (RAM). Gdy tak się dzieje, szybkość procesora spada do maksymalnej prędkości pamięci RAM lub innego urządzenia pamięci masowej. Ta prędkość jest zwykle znacznie wolniejsza niż maksymalna prędkość procesora.
Procesory wielordzeniowe są szybsze, ponieważ każdy rdzeń może obsługiwać własny strumień danych. Podczas gdy procesory wielordzeniowe nadal wybiórczo buforują dane i pobierają niebuforowane dane z innych lokalizacji pamięci, dodatkowy rdzeń lub rdzenie mogą kontynuować wykonywanie poleceń i odbieranie informacji z normalną szybkością procesora, podczas gdy inny procesor pobiera potrzebne informacje z powolnych 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 wielozadaniowości, w której więcej niż jeden program 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 posiadać technologię jednoczesnego wielowątkowości (SMT), która umożliwia wysyłanie równoległych zestawów instrukcji dla wielu 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, z wykorzystaniem wszystkich identycznych rdzeni lub heterogeniczne, z wykorzystaniem nieidentycznych rdzeni.
Chociaż procesory wielordzeniowe mają na celu zwiększenie ogólnej szybkości i wydajności, nie wszystkie programy korzystają z technologii przetwarzania wielordzeniowego. Wiele programów, a nawet niektóre systemy operacyjne, nie posiadają SMT potrzebnego do użycia więcej niż jednego rdzenia procesora. Systemy operacyjne korzystające z przetwarzania wielordzeniowego nie zawsze są zaprojektowane tak, aby zmaksymalizować potencjał przetwarzania wielordzeniowego, więc pełna zdolność przetwarzania często pozostaje niezrealizowana.
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 zwykle rośnie wykładniczo z każdym dodatkowym rdzeniem. Wysokie temperatury mogą powodować przegrzanie procesorów, powodując problemy operacyjne i zagrożenia bezpieczeństwa. Producenci procesorów musieli poświęcić sporo czasu i technologii na tworzenie rozwiązań problemów termicznych stawianych przez procesory wielordzeniowe.