Załóżmy, że zastanawiasz się nad zakupem nowego procesora i nagle musisz wybrać między dwoma produktami, które są prawie takie same na papierze, ale jeden z nich ma funkcję o nazwie hyperthreadingi drugi nie.
Wyraźnie hyperthreading jest dobrą rzeczą, ponieważ musisz za to dodatkowo zapłacić, ale co to robi? Co najważniejsze, czy to typowinno Cię obchodzić? Aby odpowiedzieć na te palące pytania, musimy krótko omówić, w jaki sposób procesory robią swoje.
Nieograniczona moc!
Nawet jeśli nie interesują Cię drobne szczegóły techniczne technologii komputerowej, prawdopodobnie słyszałeś o Prawo Moore'a wcześniej. To nie jest tak naprawdę naturalne prawo, ale spostrzeżenie, że podstawowe elementy układów scalonych podwajają gęstość co dwa lata.
W efekcie oznaczało to, że wydajność procesora podwajałaby się co dwa lata, co stanowi wykładniczy wskaźnik poprawy. Gdyby najszybszy samochód na świecie był dwa razy szybszy niż ten, który pojawił się dwa lata temu, a trend ten utrzymywałby się przez dziesięciolecia, mielibyśmy pojazdy o prędkościach statków kosmicznych science fiction. Jest to właściwie jedna z najbardziej rewolucyjnych rzeczy w technologii komputerowej.
Problem polega na tym, że wydajność procesora nie zależy tylko od gęstości jego komponentów. Ważna jest oczywiście prędkość zegara, czyli ile pełnych cykli obliczeniowych może wykonać w ciągu sekundy. Jeśli weźmiesz procesor i podwoisz jego szybkość zegara, będzie on działał dwukrotnie lepiej. Przynajmniej teoretycznie.
Problem polega na tym, że bez względu na to, jak szybko działa ten procesor, może on wykonywać tylko jedną czynność na raz. To, co postrzegamy jako „wielozadaniowość”, to tak naprawdę procesor szybko przeskakujący między tysiącami różnych zadań. Kilka lat temu zaczęliśmy uderzać w kilka ceglanych ścian, gdy chodziło o to, aby pojedynczy procesor był coraz szybszy.
Jednym z rozwiązań było umieszczenie więcej niż jednego procesora w każdym procesorze, aby różne zadania mogły zostać podzielone między nimi. Obecnie czterordzeniowe procesory są w zasadzie główną konfiguracją.
Hyperthreading(HT) to nazwa Intela dla jednoczesnego wielowątkowości. Zasadniczo oznacza to, że jeden rdzeń procesora może pracować na dwóch problemach jednocześnie. Nie oznacza to, że procesor może wykonać dwa razy więcej pracy. Wystarczy, że może zapewnić wykorzystanie całej swojej pojemności, radząc sobie jednocześnie z wieloma prostszymi problemami.
W twoim systemie operacyjnym każdy prawdziwy krzemowy rdzeń procesora wygląda jak dwa, więc zasila każdą pracę tak, jakby były osobne. Ponieważ tak wiele z tego, co robi procesor, nie wystarcza do jego maksymalnego wykorzystania, HT upewnia się, że zyskujesz pieniądze z tego układu.
O kogo należy dbaćHyperthreading?
To jest kolejne pytanie, które może być trochę skomplikowane, ale w rzeczywistości jest dość proste, gdy je rozbicie. Po pierwsze, wypowiedzmy jedną rzecz dotyczącą hiperwątkowości, która jest prawie zawsze prawdziwa. Jeśli musisz wybrać jeden z dwóch procesorów, które mogą obsługiwać tę samą liczbę wątków, ale nie mają takiej samej liczby rdzeni, wybierz procesor z większą liczbą rdzeni fizycznych.
Na przykład, jeśli masz dwurdzeniowy, hiperwątkowy procesor i czterordzeniowy procesor inny niż HT, opcja czterordzeniowego jest lepszym wyborem. Biorąc pod uwagę, że są one blisko siebie w zakresie wydajności jednego wątku i jednego rdzenia. Dlaczego? Ponieważ czterordzeniowy procesor ma więcej fizycznego sprzętu do przetwarzania.
Prawdziwa zaleta pojawia się, gdy masz dwa procesory o takich samych parametrach fizycznych, ale jeden ma HT, a drugi nie. Teraz nasze pytanie naprawdę musi zrobić z oprogramowaniem, które chcesz uruchomić. Jeśli masz oprogramowanie, które może odrodzić wystarczającą liczbę wątków, aby użyć również wątków HT, zauważysz znaczny wzrost liczby wyborów dla procesora z hiperwątkiem. Po prostu dlatego, że nie marnujesz żadnej mocy obliczeniowej, a komponent pracuje blisko swojego pełnego potencjału, ponieważ jak najwięcej czasu.
Jeśli oprogramowanie, które chcesz uruchomić, nie odradza wystarczającej liczby wątków, aby również korzystać z wirtualnych rdzeni HT, zobaczysz dosłownie różnicę w wydajności.
Tradycyjne operacje, takie jak renderowanie 3D procesora, kodowanie wideo i zdjęcie Dzięki manipulacji powstanie tyle wątków, ile może znieść twój słaby procesor. Innymi słowy, wiele nowoczesnych profesjonalnych aplikacji jest głodnych wątków. Właśnie dlatego Hyperthreading został ograniczony do procesorów profesjonalnych, takich jak i7 i nowsze.
Aplikacje głównego nurtu, takie jak edytory tekstu i przeglądarki internetowe, nie będą działały lepiej z tym wątkiem, nawet jeśli mogą spawnować więcej wątków. Po prostu dlatego, że potrzeby tych aplikacji, z których korzysta większość ludzi, nawet nie przyspieszają procesorów podstawowych.
Wielkie pytanie dotyczące gier
Gry wideo to kolejna aplikacja z głównego nurtu, która była dość apatyczna do Hyperthreading. W chwili pisania tego tekstu, w roku 2019, najnowsze silniki do gier wideo stają się coraz bardziej wątkowe, co oznacza, że procesory z obsługą HT będą w nich działały lepiej. Starsze tytuły w ogóle nie będą miały żadnej przewagi, z wyjątkiem kilku gier typu symulacyjnego, które intensywnie wykorzystują sztuczną inteligencję lub inne procesy zorientowane na procesor.
Czy to oznacza, że twój następny komputer do gier powinien mieć funkcję Hyperthreading? Chodzi o to, że teraz wchodzimy na główny rynek procesorów, gdzie sześcio-, ośmio- i dwunastordzeniowe procesory są normą. O wiele lepiej jest więc mieć więcej rdzeni fizycznych tam, gdzie to możliwe.
Prosta odpowiedź
Mam nadzieję, że powyższe wyjaśnienie jest jasne, ale podzielmy to do dolnej linii:
Hyperthreading to świetna technologia, ale nie jest warta premii dla wszystkich. Teraz powinieneś wiedzieć, czy to „ktoś” jest tobą, czy nie!