- Procesory wielordzeniowe integrują kilka kompletnych rdzeni w jednym układzie scalonym, dzieląc się częścią obwodów, co pozwala na obniżenie kosztów, zużycia energii i wydajności.
- System wieloprocesorowy składa się z kilku fizycznych procesorów na płycie głównej, co pozwala uzyskać podobne efekty na poziomie wątków, ale wiąże się z większą złożonością i wyższymi kosztami.
- Aby w pełni wykorzystać potencjał wielu rdzeni, potrzebne są równoległe systemy operacyjne i aplikacje, a także technologie takie jak HyperThreading czy SMT, pozwalające w pełni wykorzystać potencjał każdego rdzenia.
- Zużycie energii, rozpraszanie ciepła i miniaturyzacja tranzystorów wpływają na rozwój procesorów CPU, GPU i specjalistycznych układów scalonych stosowanych w sztucznej inteligencji i innych zastosowaniach wymagających dużej mocy obliczeniowej.
Jeśli dziś otworzysz praktycznie dowolny komputer stacjonarny, laptop, a nawet smartfon, znajdziesz wielordzeniowy procesor zaprojektowany do pracy równoległejMimo że technologia ta jest znana już od wielu lat, wciąż panuje spore zamieszanie co do tego, co oznacza posiadanie wielu rdzeni, czym różni się to od posiadania wielu fizycznych procesorów i jak to wszystko ma się do takich koncepcji jak HyperThreading, SMT czy GPU.
Aby wyjaśnić cały ten bałagan, przyjrzyjmy się temu spokojnie, ale bez owijania w bawełnę, jak jest architektura procesora wielordzeniowegojaką rolę odgrywa każdy z jego komponentów i w jaki sposób jest on wykorzystywany przez system operacyjny i oprogramowaniePrzyjrzymy się również rzeczywistym różnicom między systemami wielordzeniowymi i wieloprocesorowymi, poruszymy kwestię zużycia energii i rozpraszania ciepła, a na koniec omówimy rolę procesorów graficznych i układów scalonych specjalizujących się w takich zadaniach, jak sztuczna inteligencja czy edycja wideo.
Podstawowa funkcja procesora w komputerze
Procesor, znany procesor CPU lub Centralna jednostka przetwarzającaJest to układ elektroniczny, który interpretuje i wykonuje instrukcje programów.Składa się z milionów lub miliardów tranzystorów, zorganizowanych w bramki logiczne i wewnętrzne ścieżki, którymi krążą sygnały elektryczne, reprezentujące dane i polecenia.
To właśnie ten procesor pozwala komputerowi przejść od stanu zbioru chipów i przewodów do stanu maszyna zdolna do przekształcania sygnałów elektrycznych w operacje na danych, a w wielu przypadkach w działania fizyczne w świecie rzeczywistymBez procesora komputer, konsola, telefon komórkowy, a nawet „inteligentne” urządzenie byłoby niewiele więcej niż drogą ozdobą.
Gdy uruchamiasz aplikację biurową, kompilujesz kod, renderujesz wideo lub po prostu przeglądasz Internet, Twój procesor odczytuje instrukcje, przesyła dane pomiędzy pamięcią, rejestrami i urządzeniami peryferyjnymi oraz koordynuje pracę reszty systemu.Tę orkiestrację operacji mierzy się w hercach (Hz), co wskazuje, ile cykli zegara na sekundę może wykonać procesor.
Przez lata branża kładła nacisk przede wszystkim na częstotliwość: Wyścig o osiągnięcie i przekroczenie gigaherców doprowadził do powstania architektur takich jak NetBurst firmy Intel, zaprojektowanych do skalowania w GHzJednak później natrafili na przeszkodę: każde zwiększenie częstotliwości powodowało gwałtowny wzrost zużycia energii i temperatury do poziomów trudnych do kontrolowania przy użyciu konwencjonalnych radiatorów.
Czym właściwie jest rdzeń procesora?
Wewnątrz obudowy nowoczesnego procesora nie znajduje się pojedyncza monolityczna jednostka obliczeniowa, lecz kilka powtarzających się bloków: Każdy rdzeń to w zasadzie kompletny procesor zintegrowany w tym samym układzie scalonymPołączenie wszystkich rdzeni, ich pamięci podręcznych i wewnętrznych magistrali to to, co zwykle nazywamy architekturą procesora.
Na rynku komputerów osobistych dominującą architekturą jest x86 i jego 64-bitowe rozszerzenia. Architektura ta definiuje zestaw instrukcji, rejestry, tryby adresowania i ogólne zachowanie jąderZbudowano na nim procesory posiadające 2, 4, 8, 16 i więcej rdzeni, wszystkie zdolne do wykonywania tego samego typu kodu maszynowego.
Jeśli przyjrzymy się szczegółom, zobaczymy, że Każdy rdzeń składa się z kilku bloków kluczowych, które współpracują ze sobą, aby wykonywać instrukcje szybko i w uporządkowany sposób.Mimo że konkretne implementacje różnią się w zależności od producenta i generacji, podstawowe elementy są bardzo podobne.
Typowy rdzeń zawiera między innymi następujące komponenty:
- Jednostka sterująca (CU):jest odpowiedzialny za kierować przepływem instrukcji i koordynować w sposób zsynchronizowany pracę jądra oraz jego komunikację z pamięcią i urządzeniami peryferyjnymiGeneruje sygnały sterujące, które wskazują, co należy odczytać, zapisać lub zdekodować w każdym cyklu.
- Jednostka arytmetyczno-logiczna (ALU): to jest ta część, która Wykonuje operacje arytmetyczne (dodawanie, odejmowanie, przesunięcie) i logiczne (AND, OR, XOR, porównania) na otrzymanych danychZwykle istnieje kilka jednostek ALU służących do równoległego wykonywania mikrooperacji.
- Dokumentacja:Są to małe komórki ultraszybkiej pamięci gdzie tymczasowo przechowywane są dane, adresy i wyniki pośrednie wykonywanych instrukcjiDziałają jako bezpośrednia „grupa robocza” rdzenia.
Wokół tych elementów znajdują się również pamięci podręczne różnych poziomów (L1, L2, czasami współdzielona L3), kolejki instrukcji, logika przewidywania rozgałęzień oraz jednostki specjalizujące się w operacjach zmiennoprzecinkowych lub wektorowychWszystko to pozwala na przetwarzanie ciągłego strumienia instrukcji z najwyższą możliwą wydajnością.
Dlaczego przeszliśmy od zwiększania GHz do dodawania większej liczby rdzeni?
Na początku ery komputerów osobistych najprostszym sposobem na zwiększenie mocy obliczeniowej było zwiększenie częstotliwości taktowania: Im więcej cykli zegara na sekundę, tym więcej instrukcji można by wykonać, gdyby architektura na to pozwalała.Osiągnięcie pierwszego procesora 1 GHz było kamieniem milowym zarówno dla serwerów, jak i komputerów domowych.
Pierwszym komercyjnym układem scalonym, który osiągnął gigaherce, był DEC Alpha z początku lat 90., procesor przeznaczony do stacji roboczych i serwerówNa rynku krajowym już w 1999 r. Intel ze swoim Pentium III i AMD ze swoim Athlonem również osiągnęły barierę GHz i przez pewien czas marketing koncentrował się na haśle „im więcej GHz, tym lepiej”.
Jednak po przekroczeniu pewnego punktu producenci stwierdzili, że Dalsze zwiększenie częstotliwości drastycznie zwiększyło generowanie ciepła i zużycie energii.Rdzeń był narażony na ogromne obciążenia termiczne, a niezbędne systemy chłodzenia nie były już dostępne dla przeciętnego użytkownika.
W tym kontekście pojawiła się zmiana strategii: jeśli skalowanie w MHz i GHz stawało się coraz mniej wykonalne, Logiczną alternatywą było wprowadzenie kilku rdzeni mogących pracować jednocześnie nad różnymi zadaniami.Zamiast pojedynczego rdzenia o częstotliwości 10 GHz branża zaczęła oferować dwa, cztery, osiem lub więcej rdzeni pracujących na niższych częstotliwościach.
Pomysł jest stosunkowo prosty: Jeśli pojedynczy rdzeń jest w stanie przetworzyć określoną liczbę instrukcji na jednostkę czasu, zastosowanie większej liczby rdzeni może rozłożyć obciążenie i zwiększyć ogólną wydajność, zwłaszcza jeśli oprogramowanie jest zaprojektowane do równoległego działania.Stanowi to podstawę nowoczesnej architektury wielordzeniowej.
Pierwsze procesory wielordzeniowe i ich ewolucja
Chociaż użytkownicy domowi zaczęli słyszeć o procesorach dwurdzeniowych w połowie lat 2000., Pierwsze procesory wielordzeniowe były już stosowane w środowiskach serwerowych i dużych systemachJak to często bywa, technologia ta najpierw wyciekła ze świata korporacji.
Jednym z pierwszych kamieni milowych było IBM POWER4, uważany za pierwszy komercyjny procesor z dwoma rdzeniami zintegrowanymi na jednym chipiePojawił się około 2000-2001 roku z częstotliwością około 1,1 GHz i był przeznaczony dla serwerów wysokiej klasy.
Na rynku konsumenckim skok nastąpił nieco później. W 2005 roku Firma Intel wprowadziła na rynek procesor Pentium Extreme Edition 840, dwurdzeniowy procesor do komputerów stacjonarnych, który zawierał również technologię HyperThreadingW systemie operacyjnym zastosowano więc cztery procesory logiczne. Wkrótce potem AMD odpowiedziało procesorem Athlon X2.
Jednocześnie rozważano inną możliwość: Systemy wieloprocesorowe, w których płyta główna zawiera dwa lub więcej kompletnych fizycznych procesorówOpcja ta oferowała wysoką wydajność, ale okupiona była złożonością, poborem energii i ceną, dlatego też była przeznaczona głównie do wydajnych serwerów i stacji roboczych.
Z biegiem czasu i dzięki miniaturyzacji tranzystorów możliwe stało się zintegrowanie Coraz więcej rdzeni na jednym układzie scalonym, co zmniejsza rozmiar i zużycie energii na jednostkę wydajnościProcesy produkcyjne rzędu 7 nm, a nawet mniejsze, pozwoliły na wprowadzenie na rynek profesjonalnych procesorów o prawdziwie potężnych rdzeniach, nawet 32 lub 64 rdzeniach.
Procesor wielordzeniowy a wieloprocesorowy: czy to to samo?
Na poziomie koncepcyjnym system wielordzeniowy i system wieloprocesorowy są bardzo podobne: W obu przypadkach istnieje kilka „mózgów obliczeniowych” zdolnych do jednoczesnego wykonywania wątkówDlatego wiele wyjaśnień (jak choćby to podane przez Superusera, o którym wspomniałeś) podsumowuje tę różnicę jako coś przede wszystkim fizycznego i ekonomicznego.
W zespole klasyczny multiprocesor masz wiele fizycznych procesorów zainstalowanych w różnych gniazdach na płycie głównej, każdy z własnymi rdzeniami, pamięcią podręczną i kontroleramiW nowoczesnych układach wielordzeniowych wszystkie rdzenie znajdują się w jednej obudowie i współdzielą część obwodów, na przykład niektóre pamięci podręczne lub dostęp do pamięci.
Co to oznacza w praktyce? Oznacza to, że System wielordzeniowy jest zazwyczaj bardziej wydajny pod względem kosztów, przestrzeni i zużycia energii niż montaż kilku oddzielnych fizycznych procesorów w celu uzyskania podobnej liczby rdzeni.Logika spójności pamięci podręcznej i wewnętrzne magistrale są znacznie bardziej zintegrowane i zoptymalizowane.
Jednak z perspektywy systemu operacyjnego i większości aplikacji, Rdzeń to po prostu jednostka wykonawcza zdolna do uruchamiania wątków, niezależnie od tego, czy znajduje się na tym samym układzie scalonym co inne rdzenie, czy w osobnym procesorze.Dlatego wiele opisów jest uproszczonych i mówi, że wielordzeniowość i wieloprocesorowość „robią to samo”.
Tabele porównawcze na niektórych stronach internetowych (takich jak te, do których podałeś linki z GeeksforGeeks lub Javatpoint) czasami wyolbrzymiają różnice, idąc nawet tak daleko, by twierdzić takie rzeczy „System wielordzeniowy jest przydatny wyłącznie do uruchamiania jednego szybkiego programu, natomiast do uruchamiania wielu programów niezbędne są procesory wielordzeniowe”.Co jest niepoprawne. Oba typy systemów mogą obsługiwać wiele procesów i wątków; prawdziwa różnica tkwi w sposobie fizycznego rozwiązania implementacji oraz w niuansach spójności pamięci, opóźnień i skalowalności.
Co jest potrzebne, aby w pełni wykorzystać potencjał wielu rdzeni?
Umieszczenie wielu rdzeni na krzemie to tylko połowa sukcesu. Aby w pełni wykorzystać ich możliwości, trzeba… System operacyjny i przede wszystkim aplikacje są zaprojektowane tak, aby ich obciążenie było przetwarzane równolegle na wiele wątków.Przez pewien czas stanowiło to prawdziwą przeszkodę w przejściu na procesory wielordzeniowe.
Nowoczesne systemy operacyjne (Windows, Linux, macOS itp.) Są w pełni wieloprocesorowe i potrafią rozdzielać procesy i wątki pomiędzy różne dostępne rdzenie fizyczne i logiczne.. planista Odpowiada za decydowanie, który wątek będzie wykonywany na którym rdzeniu i jak długo.
Problem historyczny nie leżał w samym systemie operacyjnym, lecz w oprogramowaniu użytkownika. Wiele starszych programów było pisanych z myślą o wykonywaniu pojedynczego wątku, więc nawet jeśli komputer miał 4 lub 8 rdzeni, dana aplikacja wykorzystywała tylko jeden.W takich przypadkach dodanie większej liczby rdzeni ledwo poprawiało wydajność konkretnego zadania.
Z biegiem czasu, podyktowane koniecznością (edycja wideo, projektowanie 3D, symulacje, serwery baz danych itp.), Programiści zaczęli projektować aplikacje z prawdziwym wsparciem wielordzeniowym, dzieląc pracę na wątki mogące wykonywać się równolegle.W tym kontekście istotne stają się koncepcje wątków procesów, podprocesów i wątków.
Dzisiaj profesjonalne programy do projektowania, renderowania, edycji wideo lub CAD Mają tendencję do bardzo dobrej skalowalności w zależności od liczby rdzeni i wątkówpodczas gdy wiele gier wideo nadal jest ograniczonych przez jeden lub kilka wątków (choć poczyniono także znaczne postępy w zakresie paralelizmu w grach).
HyperThreading, SMT i wątki logiczne
Oprócz zwiększenia liczby rdzeni fizycznych producenci wprowadzili jeszcze jeden ciekawy pomysł: aby umożliwić każdemu rdzeniowi fizycznemu obsługę więcej niż jednego wątku wykonania „naraz” poprzez jednoczesną wielowątkowośćW firmie Intel technologia ta zyskała popularność pod nazwą HyperThreading; w firmie AMD jest zwykle określana jako SMT (Simultaneous Multi-Threading).
Podstawą tej techniki jest to, że W jądrze istnieje wiele jednostek wykonawczych, które nie zawsze są w 100% zajęteJeśli obsługujesz tylko jeden wątek, zdarzają się sytuacje, w których jądro musi czekać na dane z pamięci lub wyniki z innego bloku wewnętrznego, marnując w ten sposób potencjał.
Jednoczesna wielowątkowość pozwala dwa (lub więcej) logiczne wątki współdzielą ten sam rdzeń fizyczny i jego zasoby wewnętrzne, wypełniając luki w procesie wykonywaniaW przypadku systemu operacyjnego mogłoby się wydawać, że dostępnych jest więcej „procesorów”, ale w rzeczywistości chodzi o lepsze wykorzystanie istniejącego sprzętu.
Na przykład procesor 4-rdzeniowy z włączoną technologią HyperThreading będzie widziany przez system jako 8 procesorów logicznych, co jest pomocne w scenariuszach z wieloma lekkimi zadaniami lub dużą ilością oczekującej pamięci.Firma Intel oferuje tę technologię w wielu swoich seriach procesorów Core i Xeon, natomiast AMD używa jej w procesorach Ryzen i EPYC w ramach technologii SMT.
Ważne: Wątek logiczny nie zapewnia takiej samej wydajności jak dodatkowy rdzeń fizyczny, jednak zapewnia zauważalną poprawę w przypadku niektórych typów obciążeń.Dlatego w Menedżerze zadań systemu Windows i innych narzędziach monitorujących mówimy o „rzeczywistych rdzeniach” a nie o „procesorach logicznych”.
Jak dowiedzieć się, ile rdzeni i wątków ma Twój procesor
W systemach Windows, jeśli otworzysz Otwórz Menedżera zadań i przejdź do karty Wydajność. Zobaczysz tam sekcję poświęconą procesorowi.Wskazuje zarówno liczbę rdzeni fizycznych, jak i liczbę dostępnych procesorów logicznych (wątków).
Warto zauważyć, że niektóre narzędzia systemowe lub klasyczne Nie zawsze rozróżniają rdzeń fizyczny i wątek logiczny i mogą nazywać oba po prostu „procesorami”Dlatego też często zdarza się, że 6-rdzeniowy procesor z włączoną technologią SMT pojawia się w niektórych zestawieniach jako 12 „CPU”.
Podobnie wygląda sytuacja w innych systemach operacyjnych: W systemie Linux dostępne są polecenia takie jak lscpu lub cat /proc/cpuinfo umożliwiające przeglądanie zestawienia rdzeni fizycznych i wątków.W systemie macOS można przeglądać informacje o systemie lub korzystać z narzędzi wiersza poleceń.
Różnica między rdzeniami i wątkami jest istotna, gdy chcemy zrozumieć, co kupujemy i czego możemy oczekiwać od naszego komputera: Procesor z 4 rdzeniami i 8 wątkami nie jest tym samym, co procesor z 8 rdzeniami i 8 wątkami, nawet jeśli oba są reklamowane jako „8-wątkowe”.Drugie ćwiczenie zazwyczaj charakteryzuje się większą ilością surowego mięśnia i umożliwia wykonywanie bardzo równoległych obciążeń.
Procesory graficzne, mikroprocesory i inne powiązane komponenty
Chociaż myśląc o architekturze wielordzeniowej zazwyczaj skupiamy się na procesorze, Istnieją również inne wyspecjalizowane procesory, które również pracują z dziesiątkami lub tysiącami rdzeni, aby przyspieszyć realizację określonych zadań.Najbardziej znanym przykładem są procesory graficzne.
A Jednostka przetwarzania grafiki (GPU) to typ procesora zaprojektowany do wykonywania dużej liczby prostych operacji równolegle.Został stworzony w celu przyspieszenia renderowania grafiki na komputerach PC, konsolach i urządzeniach mobilnych, ale dziś jest szeroko wykorzystywany w sztucznej inteligencji, wydobywaniu kryptowalut i obliczeniach naukowych.
Podobnie jak procesor CPU, procesor graficzny składa się z tranzystorów i bloków logicznych, ale Jego wewnętrzna architektura jest zoptymalizowana pod kątem masowego przetwarzania równoległego, z wieloma małymi rdzeniami zorganizowanymi w grupy zdolne do regularnego przetwarzania dużych ilości danych.Dlatego tak dobrze sprawdzają się w grafice i sieciach neuronowych.
W dziedzinie klasycznych procesorów miniaturyzacja doprowadziła do powstania mikroprocesorów: Kompletne procesory zintegrowane na pojedynczym układzie scalonym, z jednym lub większą liczbą rdzeni fizycznychObecnie praktycznie wszystkie procesory konsumenckie to mikroprocesory wielordzeniowe.
W tym mikroprocesorze każde fizyczne jądro Opiera się na ekosystemie pamięci podręcznych, wewnętrznych magistrali, kontrolerów pamięci i wejścia/wyjścia, wszystko to umieszczone w bardzo małej przestrzeni.Umożliwia to montaż bardzo wydajnych systemów na kompaktowych płytach głównych, co jest kluczowe w przypadku laptopów, mini komputerów PC i urządzeń wbudowanych.
Zużycie energii, ciepło i projektowanie centrów danych
Pobór mocy jest jednym z czynników mających największy wpływ na rozwój procesorów wielordzeniowych. Im więcej rdzeni dodamy i im wyższą częstotliwość zastosujemy, tym więcej mocy zostanie rozproszone w postaci ciepła.Ciepło to musi zostać fizycznie usunięte z układu, aby nie uległ on zniszczeniu.
Na komputerze domowym oznacza to: większe radiatory, mocniejsze wentylatory, a nawet systemy chłodzenia ciecząW centrum danych, w którym tysiące serwerów pracuje na pełnych obrotach, równanie staje się krytyczne: koszty chłodzenia mogą być ogromne.
Dlatego duzi dostawcy usług w chmurze i centra danych o dużej skali Projektują infrastrukturę obejmującą starannie przemyślane systemy klimatyzacji, alejki z gorącymi i zimnymi elementami, a w niektórych przypadkach bezpośrednie chłodzenie cieczą poszczególnych podzespołów.Ostatecznie każdy wat zaoszczędzony na procesor mnoży się przez tysiące maszyn.
Zrównoważony rozwój odgrywa rolę również na poziomie krajowym: Bardzo mocne urządzenie może zużywać dużo energii, jeżeli jest stale obciążone.Jest to dopuszczalne w przypadku sporadycznie wykonywanych, ciężkich zadań, ale nie ma większego sensu, jeśli zamierzamy tylko przeglądać internet, oglądać filmy i wykonywać proste prace biurowe.
Dlatego producenci zwracają coraz większą uwagę na wydajność: Hybrydowa architektura z rdzeniami o wysokiej wydajności i sprawności, dynamiczne skalowanie częstotliwości i napięcia oraz tryby głębokiego uśpienia pozwalają ograniczyć zużycie energii, gdy nie jest potrzebna pełna moc..
Specjalistyczne układy scalone i rola sztucznej inteligencji
Ostatnia eksplozja sztucznej inteligencji doprowadziła do powstania procesory i akceleratory zaprojektowane specjalnie do zadań związanych z uczeniem maszynowym i sieciami neuronowymiNie mówimy tu już tylko o procesorach CPU i GPU, ale także o jednostkach takich jak Tensor Processing Units (TPU) czy Tensor Streaming Processors (TSP).
Te chipy skupiają się na zapewnić brutalną wydajność w operacjach na macierzach i wektorach, typową dla szkolenia i wnioskowania modeli sztucznej inteligencjiZazwyczaj składają się z setek lub tysięcy prostych, ale bardzo dobrze zorganizowanych jednostek obliczeniowych, które mają na celu maksymalizację paralelizmu danych.
W segmencie procesorów ogólnego przeznaczenia istnieją również modele zaprojektowane specjalnie do tego typu obciążeń. Na przykład: Procesory wyposażone w kilkadziesiąt rdzeni, takie jak niektóre procesory AMD Threadripper lub zaawansowane procesory Intel Core i Intel Xeon, są wysoko cenione w zastosowaniach związanych z edycją wideo, renderowaniem, a także zadaniami mieszanymi z zakresu sztucznej inteligencji i kreatywności..
W zależności od tego, w jaki sposób zamierzasz używać urządzenia, warto nadać priorytet pewnym funkcjom: Do profesjonalnej edycji wideo będziesz potrzebować procesora z wieloma rdzeniami i dobrej karty graficznej; w grach bardzo ważne są opóźnienia i wydajność na rdzeń; do ogólnych zadań wystarczy praktycznie każdy nowoczesny procesor średniej klasy..
Wszystko to współistnieje ze stałym wzrostem gęstości tranzystorów: Każda nowa generacja procesu produkcyjnego pozwala na umieszczenie większej ilości logiki w tej samej przestrzeni lub na zmniejszenie zużycia energii przy zachowaniu podobnej wydajności.Dlatego też widzimy, że nowe procesory znacznie przewyższają modele sprzed zaledwie kilku lat, zarówno pod względem wydajności, jak i efektywności.
Tranzystory: podstawa całej tej architektury
Pod całym żargonem rdzeni, wątków, pamięci podręcznej i procesorów graficznych kryje się skromny, ale podstawowy element: Tranzystor, czyli małe urządzenie półprzewodnikowe, które kontroluje przepływ prądu w obwodzieNazwa pochodzi od słowa „transfer resist” (rezystor transferowy).
W informatyce tranzystory wykorzystuje się do budowy bramek logicznych, rejestrów, pamięci i wszelkiego rodzaju bloków cyfrowych. Odpowiadają za fizyczną implementację języka binarnego składającego się z zer i jedynek, którego komputery używają do reprezentowania informacji oraz logiki Boole'a..
Ewolucję współczesnej elektroniki można podsumować następująco: wyścig mający na celu umieszczenie coraz większej liczby tranzystorów na coraz mniejszej przestrzeni, przy jednoczesnym zmniejszeniu zużycia energii na tranzystorTo właśnie jest istotą kolejnych generacji procesów produkcyjnych: od mikrometrów (µm) przeszliśmy do nanometrów (nm) i nadal schodzimy.
Współczesne procesory wielordzeniowe zawierają miliardy takich maleńkich przełączników elektronicznych, pracujących z pełną prędkością. Niezawodność, rozmiar i wydajność ostatecznie decydują o wydajności i ograniczeniach każdej architektury procesora..
Jeśli pomyślimy o tym z perspektywy, cała magia uruchamiania wielu wątków, koordynowania wielu rdzeni, współdzielenia pamięci podręcznej lub przesyłania danych między procesorami, procesorami graficznymi i specjalistycznymi akceleratorami to nic więcej niż gigantyczna choreografia tranzystorów włączających się i wyłączających według bardzo dobrze zdefiniowanych wzorców.
Mając na uwadze powyższe, możemy uzyskać znacznie wyraźniejszy obraz tego, co tak naprawdę kryje się za „procesorem wielordzeniowym”, wykraczający poza prostą liczbę rdzeni. Liczba rdzeni i ich częstotliwość mają znaczenie, ale równie ważna jest wewnętrzna architektura, obsługa technologii takich jak HyperThreading czy SMT, energooszczędność, konstrukcja oprogramowania, które z nich korzysta, oraz kompatybilność z innymi procesorami, takimi jak GPU.Zrozumienie tych komponentów pozwoli Ci lepiej wybrać sprzęt, a przede wszystkim zrozumieć, co naprawdę oznaczają specyfikacje podane w kartach danych technicznych.
Spis treści
- Podstawowa funkcja procesora w komputerze
- Czym właściwie jest rdzeń procesora?
- Dlaczego przeszliśmy od zwiększania GHz do dodawania większej liczby rdzeni?
- Pierwsze procesory wielordzeniowe i ich ewolucja
- Procesor wielordzeniowy a wieloprocesorowy: czy to to samo?
- Co jest potrzebne, aby w pełni wykorzystać potencjał wielu rdzeni?
- HyperThreading, SMT i wątki logiczne
- Jak dowiedzieć się, ile rdzeni i wątków ma Twój procesor
- Procesory graficzne, mikroprocesory i inne powiązane komponenty
- Zużycie energii, ciepło i projektowanie centrów danych
- Specjalistyczne układy scalone i rola sztucznej inteligencji
- Tranzystory: podstawa całej tej architektury