Jak działa Hyper Threading w procesorach Intel Core i7?

składniki / Jak działa Hyper Threading w procesorach Intel Core i7? 4 minuty czytania

Wiele razy słyszałeś termin Hyper-Threading. To ma być jakaś magiczna technologia, która po włączeniu podwaja szybkość procesora. Firmy mogą go włączyć lub wyłączyć i naliczać dużo więcej jak premia.



Chciałbym powiedzieć, że to wszystko jest kompletnym nonsensem i że ten artykuł ma na celu edukację, jak lepiej zrozumieć, czym jest Hyper-Threading. Ten artykuł będzie bardzo przyjazny dla początkujących.

Przedmowa

W dawnych czasach, gdyby Intel lub AMD musiały stworzyć szybszy procesor, generalnie zwiększałyby potencjalną liczbę tranzystorów, zmniejszając je i umieszczając więcej w tej samej przestrzeni, i próbowały zwiększyć ich częstotliwości (mierzone w MHz / GHz). Wszystkie procesory miały tylko jeden rdzeń. Procesory stały się 32-bitowe i mogły obsługiwać pamięć RAM do 4 GB. Później przeszli na 64-bitowe procesory, które mogły obsługiwać skoki pamięci RAM i ograniczać więcej niż tylko 4 GB. Następnie zdecydowano się na użycie wielu rdzeni i rozłożenie obciążeń na te wiele rdzeni, aby zwiększyć wydajność obliczeń. Wszystkie rdzenie komunikują się ze sobą, aby rozdzielić dowolne zadanie. O takim zadaniu mówi się, że jest zadaniem wielowątkowym.



Części procesora



Procesor składa się z następujących części, które działają w harmonii. Jak wspomniano powyżej, będzie to nadmierne uproszczenie. To jest po prostu szybki kurs i nie traktuj tej informacji jako słowa Ewangelii. Te części nie są wymienione w żadnej określonej kolejności:



  • Harmonogram (właściwie na poziomie systemu operacyjnego)
  • Fetcher
  • Dekoder
  • Rdzeń
  • Wątek
  • Pamięć podręczna
  • Kontroler pamięci i we / wy
  • FPU (jednostka zmiennoprzecinkowa)
  • Rejestry

Funkcje tych części są następujące

Kontroler pamięci i I / O zarządza wejściem i wyjściem danych do i z CPU. Dane są przenoszone z dysku twardego lub SSD do pamięci RAM, a następnie ważniejsze dane są przenoszone do pamięci podręcznej procesora. Skrzynka ma 3 poziomy. Np. Core i7 7700K ma pamięć podręczną L3 o wielkości 8 MB. Ta pamięć podręczna jest współdzielona przez cały procesor przy 2 MB na rdzeń. Dane z tego miejsca są zbierane przez szybszą pamięć podręczną L2. Każdy rdzeń ma własną pamięć podręczną L2 o łącznej wielkości 1 MB i 256 KB na rdzeń. Podobnie jak Core i7 ma Hyper-Threading. Każdy rdzeń ma 2 wątki, więc ta pamięć podręczna L2 jest współdzielona przez oba wątki. Całkowita pamięć podręczna L1 to 256 KB przy 32 KB na wątek. Tutaj dane są następnie wprowadzane do rejestrów, które są w sumie 8 rejestrami w trybie 32-bitowym i 16 rejestrami w trybie 64-bitowym. System operacyjny (Operating System) planuje procesy lub instrukcje do dostępnego wątku. Ponieważ w i7 jest 8 wątków, będzie przełączać się między wątkami w rdzeniach. Systemy operacyjne takie jak Windows lub Linux są wystarczająco inteligentne, aby wiedzieć, co to są rdzenie fizyczne, a co rdzenie logiczne.

Jak działa Hyper Threading?



W tradycyjnym wielordzeniowym procesorze każdy rdzeń fizyczny ma własne zasoby, a każdy rdzeń składa się z pojedynczego wątku, który ma niezależny dostęp do wszystkich zasobów. Hyper-Threading obejmuje 2 (lub w rzadkich przypadkach więcej) wątków współużytkujących te same zasoby. Harmonogram może przełączać zadania i procesy między tymi wątkami.

W tradycyjnym wielordzeniowym procesorze rdzeń może „zaparkować” lub pozostać w stanie bezczynności, jeśli nie ma przypisanych żadnych danych ani procesów. Ten stan nazywa się głodem i jest zdrowo rozwiązany przez SMT lub Hyper-Threading.

Rdzenie fizyczne i logiczne (i czym są wątki)

Jeśli przeczytasz specyfikację dla prawie każdego Core i5, zauważysz, że ma 4 rdzenie fizyczne i 4 rdzenie logiczne lub 4 wątki (Coffee Lake i5 ma 6 rdzeni i 6 wątków). Wszystkie i7 do 7700K to 4 rdzenie i 8 wątków / rdzeni logicznych. W kontekście architektury procesorów Intela wątki i rdzenie logiczne to to samo. Nie zmienili układu swojej architektury od czasu Nehalem pierwszej generacji aż do dzisiaj, dzięki Coffee Lake, więc te informacje będą się utrzymywać. Te informacje nie będą wystarczające dla starszych procesorów AMD, ale Ryzen również zmienił wiele w ich układzie, a ich procesory są teraz podobne w konstrukcji do procesorów Intela.

Zalety Hyper Threading

  • Hyper-Threading rozwiązuje problem „głodu”. Jeśli rdzeń lub wątek jest wolny, program planujący może przekazać do niego dane, zamiast pozostawać rdzeń w stanie bezczynności lub czekać, aż przepłyną przez niego inne nowe dane.
  • Znacznie większe i równoległe obciążenia można wykonywać z większą wydajnością. Ponieważ istnieje więcej wątków do zrównoleglenia, aplikacje, które w dużym stopniu zależą od wielu wątków, mogą znacznie przyspieszyć ich pracę (choć nie dwukrotnie szybciej).
  • Jeśli grasz i masz jakieś ważne zadanie działające w tle, procesor nie będzie miał problemu z zapewnieniem odpowiednich ramek i płynnie uruchomi to zadanie, ponieważ może przełączać zasoby między wątkami.

Wady Hyper Threading

Poniżej wymieniono niewiele wad, a raczej więcej niedogodności.

  • Technologia Hyper-Threading wymaga implementacji z poziomu oprogramowania, aby móc z niej skorzystać. Mimo że coraz więcej aplikacji jest opracowywanych w celu wykorzystania wielu wątków, aplikacje, które nie korzystają z żadnej technologii SMT (Simultaneous Multi-Threading) lub nawet wiele rdzeni fizycznych, będą działać dokładnie tak samo, niezależnie od tego. Wydajność tych aplikacji jest bardziej zależna od szybkości zegara i IPC procesora.
  • Hyper-Threading może spowodować, że procesor będzie wytwarzał więcej ciepła. Dlatego i5s zwykle taktowały znacznie wyżej niż i7, ponieważ nie nagrzewały się tak bardzo, jak mają mniej wątków.
  • Wiele wątków współdzieli te same zasoby w rdzeniu. Dlatego wydajność nie podwaja się. Jest to natomiast bardzo sprytna metoda maksymalizacji wydajności i zwiększania wydajności tam, gdzie jest to możliwe.

Wniosek

Hyper-Threading to stara technologia, która jednak pozostanie. W miarę jak aplikacje stają się coraz bardziej wymagające, a wskaźnik śmiertelności wynikający z prawa Moore'a rośnie, możliwość zrównoleglenia obciążeń znacznie poprawiła wydajność. Możliwość uruchamiania częściowo równoległych obciążeń pomaga zwiększyć produktywność i przyspieszyć pracę bez jąkania. A jeśli chcesz kupić najlepszą płytę główną do swojego procesora i7 siódmej generacji, spójrz na to artykuł.

#ZapowiedźNazwaNVIDIA SLIAMD CrossFireFazy ​​VRMRGBZakup
1 Formuła ASUS 9 10

Sprawdź cenę
2 MSI Arsenal Gaming Intel Z270 10

Sprawdź cenę
3 MSI Performance Gaming Intel Z270 jedenaście

Sprawdź cenę
4 ASRock Gaming K6 Z270 10 + 2

Sprawdź cenę
5 GIGABYTE AORUS GA-Z270X Gaming 8 jedenaście

Sprawdź cenę
#1
Zapowiedź
NazwaFormuła ASUS 9
NVIDIA SLI
AMD CrossFire
Fazy ​​VRM10
RGB
Zakup

Sprawdź cenę
#2
Zapowiedź
NazwaMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Fazy ​​VRM10
RGB
Zakup

Sprawdź cenę
#3
Zapowiedź
NazwaMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Fazy ​​VRMjedenaście
RGB
Zakup

Sprawdź cenę
#4
Zapowiedź
NazwaASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
Fazy ​​VRM10 + 2
RGB
Zakup

Sprawdź cenę
#5
Zapowiedź
NazwaGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
Fazy ​​VRMjedenaście
RGB
Zakup

Sprawdź cenę

Ostatnia aktualizacja 2021-01-05 o godzinie 22:02 / Linki partnerskie / Obrazy z Amazon Product Advertising API