artykuły

Test procesorów – AMD kontra Intel. 200 jednostek w 52 testach. Który CPU jest najszybszy?

Test na koniec świata

528
19 sierpnia 2013, 18:18 Radosław Stanisławski i Tomasz Niechaj

Rozszerzenia zestawu instrukcji

Kolejne rodziny procesorów stają się coraz bardziej nowoczesne pod względem funkcjonalności. Tradycyjny zestaw instrukcji architektury x86 (zachowywany ze względu na kompatybilność ze starszym oprogramowaniem) nie jest najlepszym sposobem na wykonywanie pewnych obliczeń. Dlatego producenci procesorów ciągle dodają nowe grupy wyspecjalizowanych instrukcji, najczęściej przeznaczonych do obrabiania większych porcji danych. Te rozszerzenia nazywa się na ogół multimedialnymi, bo przydają się najbardziej właśnie w cyfrowej obróbce dźwięku i obrazu. Ich podstawowym zadaniem jest wykonywanie operacji arytmetycznych na kilku argumentach jednocześnie, co określa się skrótem SIMD (Single Instruction, Multiple Data – 'jedna instrukcja, wiele danych'). W ten sposób często można zastąpić kilka instrukcji x86 jedną SSE lub AVX. Żeby procesor rozumiał i wykonywał takie instrukcje, powinien być od początku projektowany pod tym kątem. Nie tylko musi mieć odpowiednie, szerokie jednostki wykonawcze, ale też możliwość stałego dostarczania im odpowiedniej ilości danych.

  • SSE3 – Streaming SIMD Extensions 3. Grupa instrukcji operujących na 128-bitowych rejestrach; w jednym rejestrze mogą być nawet cztery argumenty. Obsługiwana przez wszystkie procesory Intela po 2004 roku i wszystkie AMD po 2005 roku.
  • SSSE3 – Supplemental Streaming SIMD Extensions 3. Względem SSE3 pozwala na szybsze obliczenia na kilku liczbach całkowitych zapisanych w jednym rejestrze. Obsługiwana przez wszystkie procesory Intela z rodziny Core 2 i nowsze oraz procesory AMD FX, serię A-4000 oraz serie Z, C i E.
  • SSE4 – Streaming SIMD Extensions 4. Zawiera dalsze wąsko wyspecjalizowane instrukcje SIMD. Ta grupa była implementowana w procesorach w kilku etapach, co spowodowało małe zamieszanie z nazwami:

    Intel zaimplementował część zestawu SSE4 w 45-nanometrowych Core 2 Duo, a resztę dodał w następnej generacji – rodzinie Nehalem, począwszy od Core i7-900. W tym czasie AMD wprowadziło w Phenomach cztery dodatkowe instrukcje, które planowano nazwać SSE4. Najnowsze układy Intela obsługują SSE4.1 i SSE4.2, a najnowsze AMD – wszystkie trzy grupy.
  • AVX – Advanced Vector Extensions. AVX to pierwsza duża zmiana w rozszerzeniach multimedialnych od czasu SSE. AVX operują na 256-bitowych rejestrach, czyli jedna instrukcja może przetwarzać dwa razy więcej danych niż w przypadku SSE. AVX dotyczy tylko liczb zmiennoprzecinkowych. Dwa razy szersze rejestry wymagały gruntownych zmian w architekturze procesorów. AVX są obsługiwane przez AMD FX oraz Intel Core i3, i5 i i7 z serii 3000.
  • AVX2 – Advanced Vector Extensions 2. Rozszerzenie funkcjonalności AVX na liczby całkowite. Na rynku nie ma jeszcze procesorów z obsługą tej techniki: pierwszy raz pojawi się ona w następnej generacji układów Core (w pierwszej połowie 2013 roku).
  • AES – nazwane tak od standardu szyfrowania AES. Wraz z odpowiednim usprawnieniem jednostek wykonawczych pozwalają niesłychanie szybko szyfrować i odszyfrowywać dane. W odpowiednio przygotowanych aplikacjach przyspieszenie sięga kilkuset procent! AES są obsługiwane przez wszystkie AMD FX i A-4000. Intel traktuje AES jako funkcję z lepszej półki: te instrukcje mają niemal wszystkie 32-nanometrowe i nowsze procesory, ale tylko z rodzin Core i5 i Core i7. Wikipedia podaje użyteczną (ale nie wyczerpującą) listę aplikacji kryptograficznych wykorzystujących instrukcje AES.
  • FMA – Fused Multiply-Add, czyli mnożenie połączone z dodawaniem. Jedna operacja pozwala pomnożyć dwie liczby i dodać wynik do trzeciej, zaokrąglając tylko wynik końcowy. FMA jest przydatne we wszelkiego rodzaju obróbce sygnałów, na przykład audio i wideo. AMD wprowadziło obsługę FMA4 w procesorach FX pierwszej generacji (Bulldozer), a FMA3 – w nowych FX-ach i APU A-4000. FMA3 i FMA4 to dwa sposoby kodowania tych samych instrukcji: Intel w przyszłym roku zamierza zaimplementować FMA3, które ze względu na szerszą kompatybilność prawdopodobnie stanie się dominującym standardem.

Rozszerzenia zestawu instrukcji, podobnie jak biblioteki programistyczne takie jak DirectX, nie powiększają możliwości procesora. Każdą z tych operacji matematycznych i logicznych można wykonać za pomocą prostszych instrukcji, ale prawdopodobnie będzie to wolniejsze i bardziej skomplikowane.

Niemal wszystkie wymienione rozszerzenia wciąż są słabo wykorzystywane. Wyjątkami są SSE3 (które jest na rynku już bardzo długo i rozpowszechniło się w większości programów multimedialnych i gier) oraz AES, z którego korzysta każda poważna aplikacja szyfrująca. Pozostałe nie są jeszcze na tyle powszechne, żeby twórcy oprogramowania decydowali się ich użyć w krytycznych częściach kodu. Poza tym mniej instrukcji nie zawsze oznacza szybszy program: w dzisiejszych procesorach (w których dana technika została zaimplementowana dopiero po raz pierwszy albo drugi) instrukcje AVX czy FMA często są wykonywane niewiele szybciej niż ta sama operacja zakodowana kilkoma prostszymi. Do tego programy, w których wydajność jest ważna (np. kodery wideo), są często dość dobrze zoptymalizowane z wykorzystaniem SSE3 lub SSE4 i zastosowanie nowszych instrukcji daje niewielki wzrost wydajności. Ostatecznie zawsze warto wybrać nowoczesny procesor (im więcej ludzi je ma, tym szybciej powstaną programy napisane pod kątem ich możliwości), ale nie jest to na tyle ważna sprawa, aby głównie na tej podstawie decydować o zakupie.

Sprzętowa wirtualizacja

Nowoczesne procesory mają mechanizmy ułatwiające uruchamianie maszyn wirtualnych (VirtualBox, Microsoft Virtual PC, Android SDK itp.). Można je podzielić na dwie kategorie: wirtualizację procesora i wirtualizację urządzeń wejścia-wyjścia. Ta pierwsza (Intel – VT-x, AMD – AMD-V) pozwala na szybkie przejścia między wykonywaniem kodu należącego do maszyny wirtualnej a wykonywaniem kodu systemu gospodarza oraz zabezpiecza system gospodarza przed ewentualnym niebezpiecznym oprogramowaniem z maszyny wirtualnej. W praktyce znacząco powiększa wygodę pracy z maszynami wirtualnymi. Druga kategoria, wirtualizacja wejścia-wyjścia, polega na ułatwianiu maszynom wirtualnym bezpośredniego dostępu do fizycznych urządzeń peryferyjnych. Intel nazywa tę technikę VT-d, AMD zaś – AMD-Vi. Jest to funkcja chipsetu, a nie procesora. W procesorach z kontrolerem PCI Express (wszystkich do podstawek LGA1155, FM1, FM2) ta część chipsetu jest zintegrowana. W innych (np. wszystkich do podstawek LGA1366, AM3 i AM3+) tę funkcję realizuje kontroler PCI Express na płycie głównej.

Większość oprogramowania do wirtualizacji umie wykorzystać VT-d i AMD-V i z obu technik robi dobry użytek. Wirtualizacja I/O nie jest jeszcze powszechnie stosowana, głównie dlatego, że nie rozwiązuje ona wszystkich problemów z wirtualizacją karty graficznej.

 

Następna strona: Rdzenie i wątki (szczegółowe informacje)

 

Strona:
  1. Test procesorów - AMD kontra Intel
  2. Ważne informacje na temat procesorów
  3.     Taktowanie, turbo, stany energetyczne i FSB, BCLK, HTT
  4.     Rozszerzenia instrukcji: SSE, AVX
  5.     Rdzenie, moduły wątki. Kontroler pamięci
  6. AMD - opis procesorów
  7. Intel - opis procesorów
  8. Procedura testowa - lista aplikacji i gier
  9.     Platforma testowa i ustawienia
  10.     Testy procesorów w grach - metody, miejsca testowe
  11. Testy - podsumowanie testów wydajności w grach
  12. Testy - podsumowanie testów wydajności w multimediach i aplikacjach biurowych
  13. Testy - podsumowanie testów wydajności w aplikacjach dla profesjonalistów
  14.     Testy - Assassin's Creed: Revelations
  15.     Testy - ARMA 2
  16.     Testy - Battlefield 3
  17.     Testy - Crysis 2
  18.     Testy - Cywilizacja V
  19.     Testy - DiRT Showdown
  20.     Testy - Flight Simulator X
  21.     Testy - GTA IV
  22.     Testy - Max Payne 3
  23.     Testy - Metro 2033
  24.     Testy - Shogun 2 Total War
  25.     Testy - Skyrim
  26.     Testy - StarCraft 2
  27.     Testy - Wiedźmin 2
  28.     Testy - World of Tanks
  29.     Testy - 3ds Max 2013
  30.     Testy - 7-Zip 4.65
  31.     Testy - Adobe After Effects
  32.     Testy - Adobe Photoshop CS6
  33.     Testy - Adobe Premiere Pro
  34.     Testy - AutoCAD 2013
  35.     Testy - Blender 2.6
  36.     Testy - Catia
  37.     Testy - Cinebench R11.5
  38.     Testy - Flash
  39.     Testy - HTML5
  40.     Testy - internet (Google Chrome)
  41.     Testy - kompresja wideo x264 (2.5)
  42.     Testy - kompresja wideo do *.mp4
  43.     Testy - MS Word 2010
  44.     Testy - obróbka zdjęć (masowa zmiana rozmiarów)
  45.     Testy - PDF
  46.     Testy - TrueCrypt 7.1a
  47. Pobór energii - spoczynek (bez obciążenia)
  48. Pobór energii - obciążenie typowe i maksymalne
  49. Pobór energii - gry
  50. Podsumowanie testów wydajności w kontekście poboru energii - gry
  51. Podsumowanie testów wydajności w kontekście poboru energii - internet, biuro, multimedia
  52. Podsumowanie testów wydajności w kontekście poboru energii - zaawansowane zastosowania
  53. Podkręcanie procesorów
  54.     Podkręcanie - podsumowanie testów wydajności w grach
  55.     Podkręcanie - podsumowanie testów wydajności w multimediach i aplikacjach biurowych
  56.     Podkręcanie - podsumowanie testów wydajności w aplikacjach dla profesjonalistów
  57.     Podkręcanie - Assassin's Creed: Revelations
  58.     Podkręcanie - ARMA 2
  59.     Podkręcanie - Battlefield 3
  60.     Podkręcanie - Crysis 2
  61.     Podkręcanie - Cywilizacja V
  62.     Podkręcanie - DiRT Showdown
  63.     Podkręcanie - Flight Simulator X
  64.     Podkręcanie - GTA IV
  65.     Podkręcanie - Max Payne 3
  66.     Podkręcanie - Metro 2033
  67.     Podkręcanie - Shogun 2 Total War
  68.     Podkręcanie - Skyrim
  69.     Podkręcanie - StarCraft 2
  70.     Podkręcanie - Wiedźmin 2
  71.     Podkręcanie - World of Tanks
  72.     Podkręcanie - 3ds Max 2013
  73.     Podkręcanie - 7-Zip 4.65
  74.     Podkręcanie - Adobe After Effects
  75.     Podkręcanie - Adobe Photoshop CS6
  76.     Podkręcanie - Adobe Premiere Pro
  77.     Podkręcanie - AutoCAD
  78.     Podkręcanie - Blender
  79.     Podkręcanie - Catia
  80.     Podkręcanie - Cinebench R11.5
  81.     Podkręcanie - Flash
  82.     Podkręcanie - HTML5
  83.     Podkręcanie - internet (Google Chrome)
  84.     Podkręcanie - kompresja wideo x264
  85.     Podkręcanie - kompresja wideo do *.mp4
  86.     Podkręcanie - MS Word 2010
  87.     Podkręcanie - obróbka zdjęć (masowa zmiana rozmiarów)
  88.     Podkręcanie - PDF
  89.     Podkręcanie - TrueCrypt 7.1a
  90. Podkręcanie - pobór energii - spoczynek (bez obciążenia)
  91. Podkręcanie - pobór energii - obciążenie typowe i maksymalne
  92. Podkręcanie - pobór energii - gry
  93. Podkręcanie - podsumowanie testów wydajności w kontekście poboru energii - gry
  94. Podkręcanie - podsumowanie testów wydajności w kontekście poboru energii - internet, biuro, mult.
  95. Podkręcanie - podsumowanie testów wydajności w kontekście poboru energii - zaawans. zast.
  96.     Podsumowanie testów wydajności w kontekście ceny - gry
  97.     Podsumowanie testów wydajności w kontekście ceny - internet, biuro, multimedia
  98.     Podsumowanie testów wydajności w kontekście ceny - zaawansowane zastosowania
  99.     Podkręcanie - podsumowanie testów wydajności w kontekście ceny - gry
  100.     Podkręcanie - podsumowanie testów wydajności w kontekście ceny - internet, biuro, multimedia
  101.     Podkręcanie - podsumowanie testów wydajności w kontekście ceny - zaawansowane zastosowania
  102. Podsumowanie - jaki procesor za mniej więcej 200 zł?
  103. Podsumowanie - jaki procesor za mniej więcej 350 zł?
  104. Podsumowanie - jaki procesor za mniej więcej 500 zł?
  105. Podsumowanie - jaki procesor za mniej więcej 700 zł?
  106. Podsumowanie - jaki procesor za mniej więcej 900 zł?
  107. Podsumowanie - jaki procesor za 1 tys. zł i więcej?
  108. Każdy z każdym - porównaj procesory (ustawienia domyślne)
  109.     Każdy z każdym - wyniki cząstkowe (ustawienia domyślne)
  110. Każdy z każdym - porównaj procesory (podkręcanie)
  111.     Każdy z każdym - wyniki cząstkowe (podkręcanie)
  112. Najlepsze procesory do gier - domyślne ustawienia (1 lutego 2013 r.)
  113. [OC] Najlepsze podkręcone procesory do gier (1 lutego 2013 r.)
  114. Każdy z każdym - porównaj procesory
  115.     Każdy z każdym - wyniki cząstkowe
4