Komputery

Co daje Hyper-Threading i Turbo Boost?

Hyper-Threading jest jedną z unikatowych cech procesorów z rodziny Core i7. Zarówno testowana seria 800, jak i przedstawiona w październiku zeszłego roku seria 900 zostały wyposażone w unowocześnioną wersję znanej jeszcze ze starych Pentium 4 technologii.

W dużym uproszczeniu: HT umożliwia uruchomienie na jednym rdzeniu procesora dwóch niezależnych zadań. Ponieważ obliczeniowo bardzo trudno obciążyć rdzeń procesora w 100%, jeśli dana jednostka wykonuje obliczenia na segmencie ALU (stałoprzecinkowe), to FPU (zmiennoprzecinkowe) najczęściej leży odłogiem i vice versa. HT powinno umożliwić wykorzystanie tej leżącej odłogiem mocy obliczeniowej.

Taki dodatkowy „wątek” widziany jest przez system operacyjny jako dodatkowy rdzeń procesora, dlatego do jego wykorzystania nie potrzeba ani dedykowanych aplikacji, ani jakichkolwiek modyfikacji systemu operacyjnego. Oczywiście, jeśli w HT wyposażono procesor czterordzeniowy, to gratis dostajemy cztery dodatkowe „wirtualne rdzenie”. System w takiej konfiguracji „widzi” osiem procesorów. W teorii, jeśli testowana aplikacja jest w stanie pracować wielowątkowo, powinna przyspieszyć o kilka lub nawet kilkanaście procent.

Cała seria Core i5/7 jest wyposażona w jeszcze jedną unikatową cechę. W technologię TurboBoost. O ile przedstawiony wcześniej HT zwielokrotnia rdzenie procesora, to TurboBoost działa zupełnie inaczej – podkręca jeden, dwa lub cztery rdzenie procesora w momencie gdy limit TDP na to pozwoli. Jak to działa?

Wyobraźmy sobie sytuację, w której czterordzeniowy procesor obsługuje aktualnie aplikację pracującą na jednym wątku. Pozostałe trzy rdzenie procesora są bezczynne, nie zużywają w danym momencie energii. Zatem procesor o nominalnym współczynniku TDP wynoszącym w tym przykładzie 95 W zużywa jej faktycznie znacznie mniej. Dlaczego by nie wykorzystać tego niedociążenia do czegoś pożytecznego? Zarówno układ zasilania, jak i chłodzenia, pracuje wtedy na luzie. Inżynierowie Intela wpadli na pomysł, jak wykorzystać to zjawisko.

Układ zarządzania energią CPU jest w stanie podkręcić jeden, dwa lub nawet cztery rdzenie, gdy tylko ma dostępne TDP. TurboBoost w procesorach Core i5 z serii 700 i Core i7 z serii 800 działa zdecydowanie agresywniej niż pierwotna implementacja tej technologii, w którą były wyposażone Core i7 z serii 900. Przy obciążeniu jednowątkowym procesor powinien zwiększyć taktowanie o 5 jednostek mnożnika. Przy magistrali taktowanej 133 MHz daje to już bardzo sensowne 667 MHz. Zatem Core i5 750 domyślnie taktowany zegarem 2,66 GHz w takiej sytuacji przyspiesza do 3,33 GHz.  Obrazowo działanie tej technologii powinien wyjaśnić poniższy zrzut ekranu:

Oczywiście to wszystko jest teoria, a jak te technologie sprawdzają się w praktyce? Czy faktycznie ich użycie coś daje? Sprawdziłem to na podstawie Core i7 870, którego przetestowałem w czterech stanach: gdy HT i TB były włączone, a więc w konfiguracji domyślnej, z wyłączonym HT, z wyłączonym TB, oraz gdy oba „wspomagacze” były wyłączone.  Wyniki wydajności możecie obserwować poniżej.

Na wykresach jako 100% oznaczyłem Core i7 870, następnie w kolejnych stanach na słupach widać spadki lub wzrosty – ponieważ i takie sytuacje się zdarzały – gdy dana opcja jest wyłączona.

3DMark'06: CPU Score
Intel Core i7 870 100%
Intel Core i7 870 NoHT 89%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 82%
   
3DMark'06: CPU1
Intel Core i7 870 100%
Intel Core i7 870 NoHT 86%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 80%
   
3DMark'06: CPU2
Intel Core i7 870 100%
Intel Core i7 870 NoHT 92%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 84%
   
Cinabench R10: Rendering 1 CPU
Intel Core i7 870 100%
Intel Core i7 870 NoHT 101%
Intel Core i7 870 NoTB 85%
Intel Core i7 870 NoHT-NoTB 87%
   
Cinabench R10: Rendering x CPU
Intel Core i7 870 100%
Intel Core i7 870 NoHT 88%
Intel Core i7 870 NoTB 95%
Intel Core i7 870 NoHT-NoTB 80%
   
Cinabench R10: SpeedUp  
Intel Core i7 870 100%
Intel Core i7 870 NoHT 87%
Intel Core i7 870 NoTB 112%
Intel Core i7 870 NoHT-NoTB 93%
   
Cinabench R10: OpenGL Standard
Intel Core i7 870 100%
Intel Core i7 870 NoHT 104%
Intel Core i7 870 NoTB 91%
Intel Core i7 870 NoHT-NoTB 93%
   
Crysis Warhead: High 1024x768 Min FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 117%
Intel Core i7 870 NoTB 93%
Intel Core i7 870 NoHT-NoTB 103%
   
Crysis Warhead: High 1024x768 Avg FPS  
Intel Core i7 870 100%
Intel Core i7 870 NoHT 102%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 100%
   
Crysis Warhead: High 1024x768 Max FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 102%
Intel Core i7 870 NoHT-NoTB 98%
   
Crysis Warhead: High 1280x1024 Min FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 97%
Intel Core i7 870 NoTB 93%
Intel Core i7 870 NoHT-NoTB 93%
   
Crysis Warhead: High 1280x1024 Avg FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 103%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 100%
   
Crysis Warhead: High 1280x1024 Max FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 102%
Intel Core i7 870 NoTB 106%
Intel Core i7 870 NoHT-NoTB 102%
   
Crysis Warhead: High 1680x1050 Min FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 90%
Intel Core i7 870 NoHT-NoTB 90%
   
Crysis Warhead: High 1680x1050 Avg FPS  
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 100%
   
Crysis Warhead: High 1680x1050 Max FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 102%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 102%
   
Crysis Warhead: Very High 1280x1024 Min FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 93%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 93%
   
Crysis Warhead: Very High 1280x1024 Avg FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 100%
   
Crysis Warhead: Very High 1280x1024 Max FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 97%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 97%
   
Crysis Warhead: Very High 1680x1050 Min FPS  
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 88%
Intel Core i7 870 NoHT-NoTB 94%
   
Crysis Warhead: Very High 1680x1050 Avg FPS  
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 100%
   
Crysis Warhead: Very High 1680x1050 Max FPS
Intel Core i7 870 100%
Intel Core i7 870 NoHT 103%
Intel Core i7 870 NoTB 100%
Intel Core i7 870 NoHT-NoTB 100%
   
Sandra Processor Arithmetic: Dhrystone iSSE4.2
Intel Core i7 870 100%
Intel Core i7 870 NoHT 93%
Intel Core i7 870 NoTB 96%
Intel Core i7 870 NoHT-NoTB 85%
   
Sandra Processor Arithmetic: Whetstone iSSE3
Intel Core i7 870 100%
Intel Core i7 870 NoHT 60%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 55%
   
Sandra Processor Multi-Media: Int x8 iSSE4.1
Intel Core i7 870 100%
Intel Core i7 870 NoHT 81%
Intel Core i7 870 NoTB 93%
Intel Core i7 870 NoHT-NoTB 74%
   
Sandra Processor Multi-Media: Float x4 iSSE2
Intel Core i7 870 100%
Intel Core i7 870 NoHT 64%
Intel Core i7 870 NoTB 95%
Intel Core i7 870 NoHT-NoTB 59%
   
Sandra Processor Multi-Media: Double x2 iSSE2  
Intel Core i7 870 100%
Intel Core i7 870 NoHT 61%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 56%
   
TrueCrypt: AES
Intel Core i7 870 100%
Intel Core i7 870 NoHT 87%
Intel Core i7 870 NoTB 93%
Intel Core i7 870 NoHT-NoTB 80%
   
TrueCrypt: Twofish
Intel Core i7 870 100%
Intel Core i7 870 NoHT 80%
Intel Core i7 870 NoTB 93%
Intel Core i7 870 NoHT-NoTB 73%
   
TrueCrypt: Serpent
Intel Core i7 870 100%
Intel Core i7 870 NoHT 74%
Intel Core i7 870 NoTB 91%
Intel Core i7 870 NoHT-NoTB 67%
   
PCMark Vantage: PCMark Suite
Intel Core i7 870 100%
Intel Core i7 870 NoHT 96%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 88%
   
PCMark Vantage: Memories Siute
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 95%
   
PCMark Vantage: TV and Movies Suite
Intel Core i7 870 100%
Intel Core i7 870 NoHT 102%
Intel Core i7 870 NoTB 98%
Intel Core i7 870 NoHT-NoTB 98%
   
PCMark Vantage: Gaming Suite
Intel Core i7 870 100%
Intel Core i7 870 NoHT 95%
Intel Core i7 870 NoTB 96%
Intel Core i7 870 NoHT-NoTB 91%
   
PCMark Vantage: Music Suite
Intel Core i7 870 100%
Intel Core i7 870 NoHT 101%
Intel Core i7 870 NoTB 92%
Intel Core i7 870 NoHT-NoTB 93%
   
PCMark Vantage: Communication Siute
Intel Core i7 870 100%
Intel Core i7 870 NoHT 98%
Intel Core i7 870 NoTB 102%
Intel Core i7 870 NoHT-NoTB 87%
   
PCMark Vantage: Productivity Suite
Intel Core i7 870 100%
Intel Core i7 870 NoHT 100%
Intel Core i7 870 NoTB 96%
Intel Core i7 870 NoHT-NoTB 92%
   
PCMark Vantage: HDD Test Suite
Intel Core i7 870 100%
Intel Core i7 870 NoHT 97%
Intel Core i7 870 NoTB 93%
Intel Core i7 870 NoHT-NoTB 96%

Okazuje się, że w niektórych aplikacjach spadki wydajności po wyłączeniu obu wspomagaczy są bardzo duże i sięgają nawet 45%. Oczywiście zdarzają się także programy, które reagują odwrotnie, tj. wydajność w nich rośnie po wyłączeniu którejś z opcji – niemniej te wzrosty nie są duże i zazwyczaj nie przekraczają 5%. Jedynie dwa wyniki cząstkowe przedstawiają wzrost o ponad 10%. Moim zdaniem obie technologie należy uznać za spory plus wyposażonych weń procesorów i w takim układzie pozostawić je włączone.