Grafické jádro Haswellu
Již z dřívějška víme, že grafické jádro Haswellu bude architektonicky vycházet z IGP procesorů Ivy Bridge. Intel se ale nyní chlubí podporou DirectX 11.1 a OpenCL 1.2 (oproti verzím 11, respektive 1.1 u Ivy Bridge). Jak hned uvidíme, zcela beze změn grafická architektura nezůstane, byť radikálnější inovace přijde až s 14nm Broadwellem.
Zřejmě již víte, že Haswell přidá k současným dvěma výkonnostním třídám grafického jádra ještě jednu vyšší (grafiky budou mít údajně 10, 20 a 40 shaderů). Její výkon by potenciálně měl být velmi slušný, neboť bude mít integrovánu svou vlastní paměť s velmi vysokou propustností (pokud se potvrdí zprávy o 512bitové šířce). Z konference IDF nyní probublala informace, že velikost této paměti má být 128 MB (nejsou ale vyloučeny ořezané varianty). To je možná méně než jsme doufali, takže půjde spíše o (velmi štědrou) cache, než o skutečnou grafickou paměť. I tak by ale měla mít slušný výkonnostní dopad. Zrychlit by IGP mělo i díky hardwarovému „resource streameru“, který převezme úlohu dříve vykonávanou ovladačem a odlehčí tak CPU.
Grafická jádra HD 2500 a HD 4000 měla stejnou konfiguraci (co se týče rasterizačních jednotek, teselátorů, Z a Stencil bufferů, geometrických jednotek atd.) a lišila se pouze různým počtem univerzálních EU, čili programovatelných shaderů. Nová špička nabídky u Haswellu (jádro s interním označením GT3) však toto omezení odstraní a oproti chudším příbuzným bude mít zdvojené i prakticky všechny ostatní součásti. Tyto hardwarové prostředky však nebudou sloužit pouze pro dosažení vyššího výkonu. Jejich cílem je i srazit spotřebu čipů pro ultrabooky, neboť s větším množstvím jednotek budou grafice stačit nižší takty. Haswell má tak údajně při stejné spotřebě dosáhnout dvojnásobného grafického výkonu.
Multimediální hardware
S integrovanou grafikou půjde opět ruku v ruce specializovaný hardware pro multimediální úlohy. Integrovaný dekodér bude podporovat video o rozlišení 4K (mělo by jít o 3840 × 2160 bodů, možná i o něco víc), přibude také dekódování formátu JPEG. Rozšířeny byly možnosti post-processingu: nově lze konvertovat gamut a snímkovou frekvenci. Dále se Intel chlubí „vylepšením“ pleťových tónů a také stabilizací třesoucího se videa. Tyto funkce nyní zřejmě budou mít svůj vyhrazený hardware (důvodem je opět snížení spotřeby).
V mnoha ohledech je ale možná zajímavější integrovaný enkodér. Přibyla mu podpora nových formátů, a sice klasického MPEG-2, a (což je zajímavější) také SVC. To je formát založený na H.264, který umožňuje jeden stream dekódovat v několika různých rozlišeních. Video produkované enkodérem je tedy zároveň použitelné v široké škále různě výkonných zařízení. Tedy pokud formát SVC podporují. Formát by se však mohl uplatnit ve videokonferenčním softwaru. Dle dostupných testů není Quick Sync již dnes z nejhorších hardwarových enkodérů; v Haswellu se však má kvalita výstupního videa o něco polepšit. (Rozdíl proti kvalitě enkodéru x264 však jistě zůstane veliký.)
TSX: paralelní výpočty bez zbytečného strachu
Potenciálně revoluční novinkou může být hardwarová podpora konceptu zvaného transakční paměť. Tato technologie se bude skrývat pod značkou TSX (Transactional Synchronization Extensions). Jejím cílem je odstranit překážky pro paralelizaci úloh, vyplívající ze synchronizace jednotlivých vláken programu. Při vícevláknovém programování je totiž nutno hlídat, aby dvě vlákna najednou nepřistupovala do stejné oblasti paměti. Mohla by si totiž navzájem přepsat data, případně přečíst nesprávná data, protože ta byla jiným vláknem změněna.
Konvenčním řešení těchto synchronizačních problémů je použití zámků, které zajistí, aby ke konfliktům nedošlo. To však má negativní dopad na výkon, neboť vlákna musí čekat na uvolnění zámků a procesor není plně využit. Místo paralelní práce často jedno vlákno musí počkat, až první skončí.
TSX dokáže tyto problémy podchytit na hardwarové úrovni. Procesor umožní paralelní spuštění dvou či více potenciálně konfliktních vláken bez zamykání a sleduje, zda se někde nevyskytne problém. Pokud ke konfliktu v přístupu k paměti či registrům skutečně dojde, výpočet se zruší a neslučitelné transakce jsou provedeny znovu, ovšem s uzamčením, které konfliktu předejde. Ve velké části případů se však riskování vyplatí a všechny úlohy v pořádku proběhnou paralelně – zatímco dříve by některé musely preventivně čekat. Díky tomu procesor stihne vykonat více práce.
Sledování paměťových přístupů se děje prostřednictvím L1 cache. Jde sice o hardwarovou funkci, vyžaduje ale softwarovou podporu ze strany programu. Pokud dobře chápu, bude mít TSX dvě podoby. Ta jednodušší, kterou Intel označuje jako Hardware Lock Elision (hardwarové ignorování zámku), by měla umožňovat běh kódu s podporou TSX i na starších CPU. Druhá metoda, Restricted Transactional Memory, bude dávat programátorům širší možnosti, ovšem za cenu nekompability kódu (TSX bude zřejmě vyžadováno pro spuštění programu).
Dodatek: "out-of-order" buffery Haswellu
Tolik tedy zatím o Haswellu. Na závěr ještě přidám jednu zajímavou informaci, která nezazněla v minulé novince o CPU části. Možná vás zajímá, jak Haswell zvětšil různé buffery používané při vykonávání instrukcí „out-of-order“. Jak se schopnosti procesoru (a tedy potenciální výkon) rozhojnily, můžete posoudit na následujícím slajdu, který snad nepotřebuje komentář.
Zdroje: X-bit labs, AnandTech (1, 2, 3)