Podstawy procesora: czym są rdzenie, hiperwątkowość i wiele procesorów?
Opublikowany: 2023-03-19Jednostka centralna (CPU) w twoim komputerze wykonuje pracę obliczeniową - w zasadzie uruchamia programy. Ale nowoczesne procesory oferują takie funkcje, jak wiele rdzeni i hiperwątkowość. Niektóre komputery używają nawet wielu procesorów. Wyjaśnimy różnice i sposób ich działania.
Czym jest hiperwątkowość i jednoczesna wielowątkowość?
Co to są rdzenie procesora?
Czy wszystkie konfiguracje procesorów wielordzeniowych są takie same?
A co z wieloma procesorami?
Czym jest hiperwątkowość i jednoczesna wielowątkowość?
Jednoczesna wielowątkowość (nazywana przez firmę Intel Hyper-Threading) umożliwia jednemu procesorowi wykonywanie wielu zadań jednocześnie, a nie sekwencyjnie, co poprawia wydajność w większości sytuacji.
Hyper-threading była pierwszą próbą Intela wprowadzenia obliczeń równoległych do konsumenckich komputerów PC w 2002 roku. Pentium 4 w tamtych czasach miało tylko jeden rdzeń procesora, więc mógł wykonywać tylko jedno zadanie naraz — nawet gdyby mógł przełączać się między zadań na tyle szybko, że wydawało się to wielozadaniowością. Hyper-Threading — zwany równoczesnym wielowątkowością (SMT) na procesorach AMD i innych procesorach innych niż Intel — próbował to nadrobić.
Uwaga: Ściśle mówiąc, hiperwątkowość jest dostępna tylko w procesorach firmy Intel, jednak termin ten jest czasem używany potocznie w odniesieniu do dowolnego rodzaju jednoczesnej wielowątkowości.
Pojedynczy fizyczny rdzeń procesora z hiperwątkowością lub jednoczesną wielowątkowością pojawia się w systemie operacyjnym jako dwa logiczne procesory. Procesor jest nadal pojedynczym procesorem, więc jest to trochę oszustwo. Podczas gdy system operacyjny widzi dwa procesory dla każdego rdzenia, rzeczywisty sprzęt procesora ma tylko jeden zestaw zasobów wykonawczych dla każdego rdzenia. Procesor udaje, że ma więcej rdzeni niż jest w rzeczywistości i używa własnej logiki, aby przyspieszyć wykonywanie programu. Innymi słowy, system operacyjny jest oszukiwany, aby widzieć dwa procesory dla każdego rzeczywistego rdzenia procesora.
Hyper-threading umożliwia dwóm logicznym rdzeniom procesora współdzielenie fizycznych zasobów wykonawczych. Może to nieco przyspieszyć — jeśli jeden wirtualny procesor jest zablokowany i czeka, drugi wirtualny procesor może pożyczyć swoje zasoby wykonawcze. Hyper-threading może przyspieszyć twój system, ale nie jest tak dobry, jak posiadanie dodatkowych rdzeni.
Na szczęście hiperwątkowość jest teraz tylko dodatkiem. Podczas gdy oryginalne procesory konsumenckie z hiperwątkowością miały tylko jeden rdzeń, który udawał wiele rdzeni, nowoczesne procesory mają teraz zarówno wiele rdzeni, jak i technologię hiperwątkowości lub SMT. Twój sześciordzeniowy procesor z hiperwątkowością pojawia się w systemie operacyjnym jako 12 rdzeni, podczas gdy ośmiordzeniowy procesor z hiperwątkowością pojawia się jako 16 rdzeni. Hyper-threading nie zastępuje dodatkowych rdzeni, ale dwurdzeniowy procesor z hyper-threading powinien działać lepiej niż dwurdzeniowy procesor bez hyper-threading.
Co to są rdzenie procesora?
Pierwotnie procesory miały jeden rdzeń. Oznaczało to, że fizyczny procesor miał jedną jednostkę centralną. Aby zwiększyć wydajność, producenci dodali dodatkowe „rdzenie” lub jednostki centralne. Dwurdzeniowy procesor ma dwie jednostki centralne, więc system operacyjny widzi go jako dwa procesory. Na przykład procesor z dwoma rdzeniami może wykonywać jednocześnie dwa różne procesy. Przyspiesza to działanie systemu, ponieważ komputer może wykonywać wiele czynności jednocześnie.
W przeciwieństwie do hiperwątkowości, nie ma tu żadnych sztuczek — dwurdzeniowy procesor ma dosłownie dwie jednostki centralne na chipie procesora. Czterordzeniowy procesor ma cztery jednostki centralne, ośmiordzeniowy procesor ma osiem jednostek centralnych i tak dalej.
Pomaga to radykalnie poprawić wydajność, jednocześnie utrzymując fizyczną jednostkę procesora na tyle małą, aby zmieściła się w jednym gnieździe. Wystarczy jedno gniazdo procesora z włożoną do niego pojedynczą jednostką procesora — nie cztery różne gniazda procesora z czterema różnymi procesorami, z których każde wymaga własnego zasilania, chłodzenia i innego sprzętu. Opóźnienia są mniejsze, ponieważ rdzenie mogą komunikować się szybciej, ponieważ wszystkie znajdują się na tym samym chipie.
Menedżer zadań systemu Windows pokazuje to dość dobrze. Tutaj na przykład widać, że ten system ma jeden rzeczywisty procesor (gniazdo) i 8 rdzeni. Jednoczesna wielowątkowość sprawia, że każdy rdzeń wygląda dla systemu operacyjnego jak dwa procesory, więc pokazuje 16 procesorów logicznych.
Czy wszystkie konfiguracje procesorów wielordzeniowych są takie same?
Nie, nie wszystkie konfiguracje procesorów wielordzeniowych są takie same. Istnieją dwie różne filozofie projektowania, z którymi można się spotkać, patrząc na wielordzeniowe procesory.
Jeden rodzaj konfiguracji — i to taki, który od lat jest powszechny w komputerach konsumenckich — wykorzystuje wiele identycznych rdzeni. W tych konfiguracjach, jeśli masz system ośmiordzeniowy, wszystkie osiem z tych procesorów to procesory o wysokiej wydajności i wszystkie są zoptymalizowane w ten sam sposób.
Drugi wykorzystuje mieszankę różnych rdzeni (czasami nazywaną heterogeniczną architekturą rdzenia). Zazwyczaj te konfiguracje będą wykorzystywać dwa różne typy: rdzenie wydajności i rdzenie wydajności.
Dokładny schemat nazewnictwa różni się nieco w zależności od firmy i aplikacji, ale podstawowa idea jest taka sama. Rdzenie wydajności są zarezerwowane dla zadań w tle i zadań o niskim zapotrzebowaniu. Rdzenie te zużywają mniej energii. Rdzenie wydajnościowe są dokładnym przeciwieństwem. Zużywają znacznie więcej energii, ale zapewniają znacznie lepszą wydajność w wymagających zadaniach, takich jak granie. Połączenie zapewnia wydajność wtedy, gdy jej potrzebujesz, ale mniejsze zużycie energii w tle.
POWIĄZANE: Co to jest niedoładowanie GPU lub procesora i kiedy należy to zrobić?
Ta heterogeniczna konfiguracja wielordzeniowa (nazwana przez firmę ARM big.LITTLE) po raz pierwszy stała się popularna w telefonach komórkowych i innych urządzeniach mobilnych ze względu na oferowaną przez nie oszczędność energii. Kiedy chcesz, aby telefon działał przez cały dzień, nie ma sensu niepotrzebnie wyczerpywać baterii przez ciągłe uruchamianie rdzenia o dużej mocy. Intel wprowadził również ten pomysł do głównych procesorów do komputerów stacjonarnych, zaczynając od procesorów Alder Lake.
A co z wieloma procesorami?
Większość komputerów ma tylko jeden procesor. Ten pojedynczy procesor może mieć wiele rdzeni lub technologię hiperwątkowości — ale nadal jest to tylko jeden fizyczny procesor umieszczony w pojedynczym gnieździe procesora na płycie głównej.
POWIĄZANE: Dlaczego nie można użyć szybkości zegara procesora do porównania wydajności komputera
Zanim pojawiły się wielowątkowe i wielordzeniowe procesory, ludzie próbowali zwiększyć moc obliczeniową komputerów, dodając dodatkowe procesory. Wymaga to płyty głównej z wieloma gniazdami procesora. Płyta główna potrzebuje również dodatkowego sprzętu, aby połączyć te gniazda procesora z pamięcią RAM i innymi zasobami. W tego rodzaju konfiguracji jest dużo kosztów ogólnych. Istnieje dodatkowe opóźnienie, jeśli procesory muszą się ze sobą komunikować, systemy z wieloma procesorami zużywają więcej energii, a płyta główna potrzebuje więcej gniazd i sprzętu.
Systemy z wieloma procesorami nie są dziś zbyt popularne wśród komputerów domowych. Nawet komputer stacjonarny do gier o dużej mocy z wieloma kartami graficznymi będzie miał zazwyczaj tylko jeden procesor. W superkomputerach, serwerach, niektórych stacjach roboczych i podobnych zaawansowanych systemach, które wymagają tak dużej mocy obliczeniowej, jak to tylko możliwe, znajdziesz wiele systemów procesorów.
Im więcej procesorów lub rdzeni ma komputer, tym więcej rzeczy może on zrobić jednocześnie, co pomaga poprawić wydajność większości zadań. Większość komputerów ma teraz procesory z wieloma rdzeniami — najbardziej wydajną opcję, o której mówiliśmy. Procesory z wieloma rdzeniami znajdziesz nawet w nowoczesnych smartfonach i tabletach.
Częstotliwość zegara procesora i jego IPC (liczba instrukcji na cykl) była wystarczająca do porównania wydajności. Sprawy nie są już takie proste. Procesor, który oferuje wiele rdzeni i hiperwątkowość, może działać znacznie lepiej niż procesor o tej samej szybkości, który nie obsługuje hiperwątkowości. A komputery z wieloma procesorami mogą mieć jeszcze większą przewagę. Wszystkie te funkcje zostały zaprojektowane, aby umożliwić komputerom PC łatwiejsze uruchamianie wielu procesów jednocześnie — zwiększając wydajność podczas wykonywania wielu zadań jednocześnie lub w przypadku wymagań zaawansowanych aplikacji, takich jak kodery wideo i nowoczesne gry.
Oczywiście wyższa liczba rdzeni nie jest aż tak ważna w każdej sytuacji. Nowoczesne systemy operacyjne dość sprytnie dzielą zadania między wiele rdzeni, ale nie wszystkie programy są tak dobrze zoptymalizowane. W wielu przypadkach (zwłaszcza w grach) wydajność jest ograniczona przede wszystkim maksymalną szybkością pojedynczego rdzenia, a nie liczbą wszystkich posiadanych rdzeni. Więc nie spiesz się z zakupem 64-rdzeniowego procesora Threadripper, myśląc, że zapewni ci miliard klatek na sekundę w Call of Duty — tak nie będzie.