AMD Bulldozer – procesory FX-8150 a 8120 v testu (1/2) | Kapitola 5
Seznam kapitol
Po dlouhých rocích vývoje a několika odloženích nám AMD dnes představuje řadu procesorů FX. Jde o zcela novou dosud nevyzkoušenou architekturu vytvořenou zejména pro vícevláknové úlohy a serverové nasazení. Obstojí žhavá novinka proti konkurenci současných procesorů? A jak si poradí ve hrách i běžných aplikacích?
Bulldozer má osm výpočetních jader ve čtyřech modulech. V každém modulu jsou dvě jádra, jež společně sdílejí prostředky, FPU jednotku, cache a další obvody. Jak se projeví na výkonu situace, kdy zatížíme čtveřici jader ve čtyřech modulech, kdy mají tato čtyři jádra veškeré prostředky jen pro sebe a nesdílí je s tím druhým a naopak, kdy zatížíme čtyři jádra ve dvou modulech kdy bude výkon omezen sdílením prostředků mezi sebou?
Ještě než vám rozdíly ve výkonu ukáži, podívejme se ještě na jednu zajímavou věc. Pokud jste viděli naše video Turba, tak vám jistě neušel fakt, že při zátěži jednoho nebo dvou jader operační systém stále vlákno „stěhuje“ po procesoru. Přijde mi to až divné a nechápu, proč se to tak děje. Má to totiž dopad na výkon. Na levém obrázku je situace, kdy jsem spustil SuperPi a nechal systém vše na jeho uvážení. Výsledný čas je 20,717 vteřin. Pokud jsem ale ručně uzamkl vlákno na jednom jádru, čas se o kousek zlepšil na 20,670 vteřin. Rozdíl je sice jedno procento, i tak je ale rozdíl znát.
Pokud spustíme zátěž na čtyři jádra a necháme systém bez zásahu, tudíž sám rozděluje vlákna dle svého uvážení, je výsledek 8197 bodů. Pokud ale tuto náročnou úlohu ručně uzamkneme na čtyři jádra ve dvou modulech, kdy spolu sdílí prostředky, klesne skóre na 7425 bodů. Jde o propad výkonu o 10 procent. Co se ale stane pokud uzamkneme tato vlákna na čtyři jádra ve čtyřech modulech? Výkon značně stoupne. Je jedno, zdali zamknete vlákna na první nebo druhá jádra v modulech, výsledek je stejný – jádra jsou opravdu rovnocenná. Skóre se zvýšilo na 8793 bodů.
Rozdíl mezi čtyřmi zatíženými jádry ve dvou a čtyřech modulech je téměř 19 procent. Platí tedy skutečnost, že výkon dvou jader v modulu je 80 procent dvou plnohodnotných jader. Rozdíl mezi čtyřmi zatíženými moduly a automatickým přidělováním vláken systémem je 7 procent. Jak je to možné? Odpověď není složitá. Operační systém neví, že procesor má nějaká jádra sdílená a slabší, tedy když přehazuje vlákna často se stane, že je přehodí na jádra v jednom modulu. Tím samozřejmě nějaký výkon ztratíme. Druhým faktorem je Turbo a jeho pomalý nástup. Pokud je nějaké jádro uspané v C6 a Windows na něj přehodí vlákno, od spánku do nejvyšší frekvence uplyne nějaký čas, po který opět výkon není maximální. Celkově jde tedy o deficit vyjádřený sedmi procenty (dle našeho testu). Tento problém se dá částečně eliminovat a dopad na výkon snížit ručním přetaktováním všech jader na konstantní hodnotu.