Procesor wielordzeniowy to układ scalony, do którego podłączone są co najmniej dwa procesory w celu szybszego jednoczesnego przetwarzania kilku zadań, mniejszego zużycia energii i większej wydajności. Ogólnie rzecz biorąc, składa się z dwóch lub więcej procesorów, które odczytują i wykonują instrukcje programu.
Innymi słowy, w jednym chipie wielordzeniowy procesor składa się z wielu jednostek przetwarzających, czyli „rdzeń”, z których każdy może wykonywać odrębne zadania. Na przykład, jeśli wykonujesz wiele zadań jednocześnie, takich jak oglądanie filmu i korzystanie z WhatsApp, jeden rdzeń zajmie się takimi czynnościami, jak oglądanie filmu, a drugi innymi obowiązkami, takimi jak WhatsApp.
Konfigurację dwurdzeniową można porównać do zainstalowania kilku różnych procesorów na tym samym komputerze, ale połączenie między nimi jest szybsze, ponieważ oba procesory są podłączone do tego samego gniazda. Poszczególne rdzenie mogą wykonywać kilka instrukcji równolegle, zwiększając szybkość oprogramowania zbudowanego w celu wykorzystania unikalnych funkcji architektury.
W porównaniu z procesorem jednordzeniowym, w idealnych warunkach procesor dwurdzeniowy jest zwykle dwukrotnie wydajniejszy. W rzeczywistości oczekuje się wzrostu wydajności o około 50%: dwurdzeniowy procesor jest około 1,5 razy silniejszy niż procesor jednordzeniowy.
W miarę jak procesory jednordzeniowe osiągają fizyczne granice złożoności i szybkości, przetwarzanie wielordzeniowe staje się coraz bardziej popularne. W dzisiejszych czasach większość systemów jest wielordzeniowych. Systemy wielordzeniowe lub masowo wielordzeniowe odnoszą się do systemów z ogromną liczbą rdzeni procesora, na przykład dziesiątkami lub setkami.
Na początku XXI wieku Intel i AMD wypuściły pierwsze procesory wielordzeniowe. W dzisiejszych czasach procesory są wyposażone w dwa („dwurdzeniowe”), cztery („czterordzeniowe”), sześć („sześciordzeniowy”) i osiem („ośmiordzeniowych”) rdzeni („ośmiordzeniowy” ). Procesory oparte na FPGA zawierają do 100 rdzeni fizycznych i 1000 efektywnych niezależnych rdzeni (macierze bramek programowalnych przez użytkownika).
Architektura procesora wielordzeniowego
Konstrukcja procesora wielordzeniowego umożliwia komunikację pomiędzy wszystkimi dostępnymi rdzeniami, które odpowiednio dzielą i przydzielają wszystkie zadania przetwarzania. Przetworzone dane z każdego rdzenia są przesyłane z powrotem do płyty głównej komputera (płyty głównej) poprzez jedną wspólną bramkę po zakończeniu wszystkich operacji przetwarzania. Ta metoda przewyższa jednordzeniowy procesor pod względem całkowitej wydajności.
Zalety procesora wielordzeniowego
Procesory wielordzeniowe mają wiele zalet (zalet), do których należą:
Wydajność
Procesor wielordzeniowy z natury może wykonać więcej pracy w porównaniu z procesorem jednordzeniowym. Odstęp między rdzeniami układu scalonego pozwala na szybsze taktowanie. W rezultacie sygnały nie muszą pokonywać dużej odległości, aby dotrzeć do celu, a także są trwałe. W porównaniu do korzystania z oddzielnego procesora, prędkości są znacznie większe.
Niezawodność
W procesorach wielordzeniowych oprogramowanie jest zawsze przypisane do różnych rdzeni. Kiedy jeden element oprogramowania ulegnie awarii, pozostałe pozostają nienaruszone. Ilekroć pojawia się defekt, dotyczy on tylko jednego rdzenia. W rezultacie wielordzeniowe procesory są lepiej odporne na awarie.
Interakcje oprogramowania
Nawet jeśli oprogramowanie działa na wielu rdzeniach, będzie się ze sobą komunikować. Izolacja przestrzenna i czasowa to proces, przez który przechodzi procesor wielordzeniowy. Wątki podstawowe nigdy nie są opóźniane w wyniku tych procesów.
Wielozadaniowość
System operacyjny może wykorzystywać wielordzeniowy procesor do jednoczesnego uruchamiania dwóch lub więcej procesów, nawet jeśli wiele programów może być wykonywanych jednocześnie. Na przykład aplikacja Photoshop może służyć do wykonywania dwóch zadań jednocześnie.
Pobór energii
Z drugiej strony wielozadaniowość przy użyciu wielordzeniowego procesora wymaga mniej energii. Wykorzystywana będzie tylko część procesora generująca ciepło. Ostatecznie zużycie energii zostaje zminimalizowane, co skutkuje mniejszym zużyciem baterii. Z drugiej strony niektóre systemy operacyjne wymagają więcej zasobów w porównaniu do innych.
Unikanie starzenia się
Architekci mogą uniknąć starzenia się technologii i zwiększyć łatwość konserwacji, używając procesorów wielordzeniowych. Producenci chipów wykorzystują najnowsze osiągnięcia technologiczne w swoich wielordzeniowych procesorach. Wraz ze wzrostem liczby rdzeni coraz trudniej jest zdobyć chipy jednordzeniowe.
Izolacja
Procesory wielordzeniowe mogą zwiększać (ale nie gwarantują) izolację geograficzną i czasową w porównaniu z systemami jednordzeniowymi. Oprogramowanie na jednym rdzeniu jest mniej prawdopodobne, że będzie miało wpływ na oprogramowanie na drugim rdzeniu, jeśli oba rdzenie działają na tym samym pojedynczym rdzeniu. To oddzielenie następuje z powodu izolacji geograficznej i czasowej (wątki na jednym rdzeniu nie są opóźniane przez wątki na innym rdzeniu). Dzięki ograniczeniu wpływu błędów do jednego rdzenia przetwarzanie wielordzeniowe może zwiększyć niezawodność. W przypadku oddzielnego wykonywania programów o mieszanej krytyczności ta zwiększona izolacja jest bardzo ważna (krytyczne dla bezpieczeństwa, krytyczne dla misji i krytyczne dla bezpieczeństwa).
Kilka innych kluczowych punktów zalet procesora wielordzeniowego:
- W porównaniu z procesorami jednordzeniowymi procesor wielordzeniowy może wykonywać więcej zadań.
- Niskie zużycie energii przy wykonywaniu wielu czynności jednocześnie.
- Dane docierają do miejsca przeznaczenia w krótszym czasie, ponieważ oba rdzenie są zintegrowane w jednym chipie.
- Za pomocą małego obwodu można zwiększyć prędkość.
- Przykładem wielozadaniowości jest wykrywanie infekcji za pomocą oprogramowania antywirusowego podczas grania w grę.
- Wykorzystując niską częstotliwość może realizować wiele zadań jednocześnie.
- W porównaniu do procesora jednordzeniowego jest on w stanie przetwarzać duże ilości danych.
Wady procesorów wielordzeniowych
Omówimy niektóre ograniczenia (wady) procesora wielordzeniowego, w tym:
Szybkość aplikacji
Pomimo tego, że wielordzeniowy procesor jest przeznaczony do wielozadaniowości, jego wydajność jest niewystarczająca. Ma tendencję do przeskakiwania z jednego rdzenia do drugiego za każdym razem, gdy aplikacja jest przetwarzana. W rezultacie pamięć podręczna zapełnia się, zwiększając jej prędkość.
Drganie
Większe zakłócenia powstają wraz ze wzrostem liczby rdzeni wielordzeniowego procesora, co skutkuje nadmiernymi wahaniami. W rezultacie może to spowodować pogorszenie wydajności programu systemu operacyjnego i częste awarie. Tylko stosując odpowiednią synchronizację i mikrojądro użytkownik będzie w stanie uporać się z jitterem.
Analiza
Kiedy robisz dwie lub więcej rzeczy na raz, będziesz musiał zastosować dodatkowe modele pamięci. W przypadku maszyny wielordzeniowej utrudnia to analizę. W szczególności ograniczenia czasowe są trudne do ustalenia i mogą być niedokładne.
Co więcej, analiza zakłóceń staje się bardziej złożona wraz ze wzrostem liczby rdzeni. W rezultacie O/S nie będzie w stanie zapewnić obiecanych wyników.
lekcja matematyki w Javie
Udostępnianie zasobów
Procesor wielordzeniowy korzysta z różnych zasobów, zarówno wewnętrznych, jak i zewnętrznych. Do zasobów tych zaliczają się sieci, magistrale systemowe i pamięć główna. W rezultacie ryzyko przerwania każdego programu działającego na tym samym rdzeniu będzie większe. W tej formie interferencji może wystąpić izolacja geograficzna i czasowa.
Zakłócenia oprogramowania
Ze względu na współdzielenie zasobów ingerencja oprogramowania może powodować problemy z izolacją przestrzenną i czasową. Jeśli są dodatkowe rdzenie, szansa ta wzrasta jeszcze bardziej. Obecność większej liczby rdzeni oznacza większą liczbę dróg zakłócających. Zbadanie wszystkich możliwych ścieżek interferencji jest prawie niemożliwe.
Niektóre inne kluczowe punkty ograniczeń procesora wielordzeniowego:
- Choć zawiera kilka procesorów, nie jest dwa razy szybszy od prostego procesora.
- Zadanie zarządzania jest bardziej skomplikowane w porównaniu do zarządzania jednordzeniowym procesorem.
- Wydajność procesora wielordzeniowego jest całkowicie zależna od zadań wykonywanych przez użytkowników.
- Jeśli inne procesory wymagają przetwarzania liniowego/sekwencyjnego, przetwarzanie w przypadku procesorów wielordzeniowych zajmuje więcej czasu.
- Bateria rozładowuje się szybciej.
- Jego zużycie energii jest tak wysokie w porównaniu do prostszego procesora.
- Ponadto w porównaniu do procesora jednordzeniowego jest droższy.
Dlaczego używany jest procesor wielordzeniowy?
Konfiguracja jest podobna do procesora dwurdzeniowego. Procesory wielordzeniowe są klasyfikowane według liczby rdzeni i typów rdzeni. Celem wielordzeniowego procesora jest uzyskanie doskonałej wydajności. Został zaprojektowany, aby ominąć fizyczne ograniczenia jednordzeniowego procesora.
Obsługiwane systemy operacyjne procesora wielordzeniowego obejmują:
- Linuksa
- Microsoft Windows (Windows XP lub nowszy)
- Większość systemów opartych na BSD
- Solaris
- Mac OS X
Krótka historia procesorów wielordzeniowych
Ponieważ firmy, które stworzyły pierwsze procesory oparte na chipach, mogły umieścić tylko jeden procesor w jednym chipie, mogły zmieścić tylko jeden procesor w jednym chipie. W miarę postępu technologii wytwarzania chipów producenci chipów byli w stanie konstruować chipy z większą liczbą obwodów i wreszcie twórcy chipów byli w stanie produkować chipy z więcej niż jednym procesorem, w wyniku czego powstał chip wielordzeniowy.
W 1998 roku Kunle Olukotun, profesor inżynierii elektrycznej na Uniwersytecie Stanforda, wraz ze swoimi uczniami wynalazł pierwszy procesor wielordzeniowy. Chipy wielordzeniowe po raz pierwszy pojawiły się na rynku w 2005 roku od firm Advanced Micro Devices (AMD) i Intel. Od tego czasu prawie każdy producent chipów zaczął tworzyć procesory wielordzeniowe.
Gdzie stosowane są procesory wielordzeniowe?
W dzisiejszych czasach procesory wielordzeniowe znajdują się w większości urządzeń, takich jak tablety, komputery stacjonarne, laptopy, smartfony i systemy do gier.
Dwie podstawowe opcje pokazują, że model procesora nie mówi wszystkiego o wydajności. W porównaniu z dwurdzeniowym procesorem i5 wydajność czterordzeniowego i5 jest znacznie lepsza, co odzwierciedla cena komputera. Wszystkie obecne modele laptopów z modelem i5 są dwurdzeniowe, podczas gdy wszystkie modele komputerów stacjonarnych są czterordzeniowe. Ponieważ wersje laptopów są dwurdzeniowe, a nie czterordzeniowe, procesor i5 w laptopie będzie miał gorszą wydajność niż i5 w komputerze stacjonarnym. Typ dwurdzeniowy lepiej nadaje się do laptopów przenośnych, które wymagają dłuższej żywotności baterii i zużywają mniej energii, ale komputer stacjonarny wykorzystuje procesor, który zużywa więcej energii, na przykład model czterordzeniowy, ponieważ nie wymaga pracy na baterii. Niektóre zastosowania procesora wielordzeniowego są następujące:
- Gry z wysoką grafiką, takie jak Overwatch i Star Wars Battlefront, a także gry 3D.
- Procesor wielordzeniowy jest bardziej odpowiedni w programach Adobe Premiere, Adobe Photoshop, iMovie i innym oprogramowaniu do edycji wideo.
- Solidworks z projektowaniem wspomaganym komputerowo (CAD).
- Duży ruch sieciowy i serwery baz danych.
- Na przykład roboty przemysłowe są systemami wbudowanymi.