S novými procesory Zen chce AMD zlomit nadvládu Intelu. Díky zcela nové architektuře by měly mít tyto procesory minimálně stejně vysoký výkon jako nejvyšší modely od konkurence.
V dobách, kdy bývaly desktopy jedinými počítači ve většině domácností, zuřila mezi Intelem a AMD napínavá bitva o to, kdo vyrobí výkonnější procesor. Lítý souboj přinesl řadu vylepšení architektury CPU, se kterými se dodnes setkáváme. Bohužel asi tak před pěti lety AMD vsadilo na špatnou kartu v podobě architektury Bulldozer a letitá bitva skončila totálním vítězstvím Intelu. Od té doby mají uživatelé prakticky jedinou volbu. Pokud si chtějí postavit stolní počítač, musí si pořídit procesor řady Intel Core-i, který nabízí o poznání vyšší výkon než jakýkoliv stávající CPU od AMD. AMD ale boj nevzdalo a v nejbližší době představí novou řadu procesorů, založených na architektuře Zen, která má překlenout technologický skluz AMD za Intelem. Jedna z příčin, proč nebylo AMD schopno nabídnout procesory srovnatelné s Intelem, spočívala v zastaralém výrobním procesu. Až do nynějška AMD ve své společnosti Globalfoundries vyrábělo své čipy starou, 32nm technologií, zatímco Intel již v roce 2012 přešel na 22nm technologii a dnes staví své procesory z tranzistorů o velikosti 14 nm. Každý miniaturizační krok s sebou přináší zvýšení efektivity CPU až o 40 %, což sice neplatí vždy, ale Intel měl v tomto ohledu před AMD každopádně náskok. To už ale nebude platit, protože Globalfoundries přešla na 14nm výrobní proces.
AMD: Zpátky do budoucnosti
Zásadními změnami prošla architektura procesoru. V roce 2013 přiznal tehdejší viceprezident AMD Andrew Feldman, že sázka na architekturu Bulldozer byla totálním neúspěchem firmy. U procesorů Bulldozer totiž AMD opustilo koncept CPU skládajících se z několika plnohodnotných jader a místo toho rozdělilo procesor na několik modulů. Tyto moduly se skládaly ze dvou výpočetních jader, která měla na starosti celočíselné operace i zpracování úloh s plovoucí čárkou. Problém spočíval v tom, že se obě jádra při práci s plovoucí čárkou přetahovala o hardwarové zdroje, což vedlo k výkonnostním výkyvům.
U architektury Zen AMD koncept modulárního CPU opustilo a navíc má každé jádro procesoru Zen celou řadu vlastních jednotek pro zpracování celočíselných operací a operací s plovoucí čárkou. AMD u Zenu dále využilo plnohodnotný hyperthreading, díky němuž budou jednotlivá jádra procesorů Zen umět stejně jako CPU řady Intel Core-i zároveň zpracovávat dvě výpočetní vlákna. AMD dále upravilo činnost vyrovnávacích pamětí, které posílají data do jádra a zaznamenávají výsledky zpracovaných úloh. Dvě vyrovnávací paměti typu L1 byly zvětšeny a L1 cache nově ukládá data principem „write-back“.
Na rozdíl od architektury Bulldozer nejsou data ukládaná v pomalejší L2 cache zrcadlená (write-through), ale tato vyrovnávací paměť slouží pouze jako záloha pro přetečení dat. I v tomto ohledu se Bulldozer potýkal s problémy, L1 cache navíc sdílela obě jádra každého modulu. Instrukční cache L1 a L2 (I-cache) má oproti Skylaku dvojnásobnou kapacitu, a díky tomu procesory Zen prakticky nemusí využívat nejpomalejší vyrovnávací paměť L3. I když zde AMD obětovala plochu procesoru, která mohla být lépe využita pro osazení čipu více výpočetními jednotkami, výsledkem je zrychlení přístupu do L1 a L2 cache. L3 cache je dostupná pro všechna jádra a na každé jádro je dedikována kapacita 2 MB, tedy stejně jako u Intel Skylake. Každá základní výpočetní jednotka Zen obsahuje čtyři fyzická jádra. Na plochu CPU pak lze umístit dvě takovéto jednotky nebo jednu čtyřjádrovou a jednu grafickou jednotku, takže Zeny mohou konkurovat jak čtyřjádrovým Skylakům 6700, tak osmijádrovým speciálům Broadwell-E.
Okopírovat a předběhnout Intel
AMD se Intelem inspirovalo i v dalším důležitém ohledu, a to při návrhu datových cest a práci s mikropříkazy. Instrukce přicházející z I-cache jsou příliš dlouhé na to, aby je dokázala výpočetní jednotka zpracovat, a tak je musí nejprve dekodér převést na kratší mikrooperace. AMD nově použilo pro ukládání dekódovaných mikrooperací tzv. MicroOp cache, kterou používá od generace procesorů SandyBridge i Intel. Pro případ, že by výpočetní jádro CPU potřebovalo tyto mikrooperace znovu vyvolat pro zpracování ve vylepšené predikci větvení, není potřeba je znovu dekódovat, protože jsou již v dekódovaném stavu uloženy ve frontě uvnitř MicroOp cache.
Tato fronta dokáže nezávisle obsluhovat dvě výpočetní jednotky. Dokáže zpracovat šest operací na takt, přičemž čtyři z nich jsou určeny pro jednotku zpracování operací s plovoucí čárkou. Stejně jako u architektury Skylake dokáže Zen vykonávat jednoduché příkazy jako MOV i během přejmenovávání registru. Největší deficit architektury Zen spočívá v jednotkách pro zpracování operací s plovoucí čárkou. Příkazy AVX2, se kterými přišel Intel, jsou 256bitové, takže je Zen musí na rozdíl od Skylaku rozkládat na dva. Pro tento účel slouží v Zenu tzv. Retire Queue, která v rámci jednoho taktu zpracovává osm výsledků z obou výpočetních jednotek, tedy dvakrát víc než u procesorů Core-i. AMD již zveřejnilo testy, ve kterých osmijádrový Zen předvádí stejný výkon jako osmijádrový Broadwell-E. Tento článek připravujeme krátce před oficiálním uvedením procesorů Zen na trh, které má podle informací od AMD přijít v polovině ledna, doposud tedy nevíme, jaké verze AMD v první řadě uvolní. První zákazníci by je ale mohli zakoupit už na jaře. AMD pro ně určila nový soket AM4. Desky s touto paticí mají podporovat nejmodernější rozhraní (jako M.2 a USB 3.1) a paměti typu DDR4.
***
Porovnání vyrovnávacích pamětí
Procesory Zen zásobují daty rychlé a dostatečně prostorné vyrovnávací paměti, které jsou srovnatelné s architekturou Skylake. V předchozí generaci Bulldozer sdílela dvě jádra jednoho modulu stejnou L1 cache, ze které však kvůli nízké asociativitě (nízký počet linek či datových cest) data často přetékala do pomalejší L2 cache.
Cache AMD Bulldozer (FX-8150) AMD Zen Intel Broadwell-E (i7-6950X) Intel Skylake (i7-6700K)
L1 instrukce
64 KB na modul 64 KB 32 KB 32 KB
2x asociativní 4x asociativní 8x asociativní 8x asociativní
L1 data
16 KB na modul 32 KB 32 KB 32KB
4x asociativní 8x asociativní 8x asociativní 8x asociativní
L2
2 MB na modul 512 KB 256 KB 256 KB
16x asociativní 8x asociativní 8x asociativní 4x asociativní
L3
1 MB na jádro 2 MB na jádro 2,5 MB na jádro 2 MB na jádro
64x asociativní 16x asociativní 16/20x asociativní 16x asociativní
Foto popis| Podrobný pohled do procesoru Zen Při vývoji nového CPU se AMD poučilo a opravilo nedostatky předchozích generací, několik nápadů si přitom vypůjčilo od Intelu (například MicroOp Cache). Řada inovací směřuje k tomu, aby procesory Zen předčily Intel v jednojádrovém výkonu.
Foto popis| Jednotku tvoří čtyři jádra ří Základní výpočetní jednotka procesorů Zen obsahuje čtyři Ze fyzická jádra a jejich paměti. Zatímco L2 cache vyrovnávací spolupracuje vždy s jedním jádrem, L3 cache je společná ední a ukládá data ze všech jader. Na plochu procesoru se vejdou dvě takové jednotky nebo jedna výpočetní a jedna grafická jednotka.
Foto popis| Inovace v jádru
Foto popis| Vstup Při vstupu 1 jsou instrukce dekódovány do podoby mikropříkazů, se kterými dokáže pracovat jádro procesoru. Nově použitá paměť pro nejčastěji užívané mikroinstrukce 2 obchází dekódování a zrychluje přísun dat do výpočetního jádra.
Foto popis| Výpočet Jádro procesoru Zen obsahuje dvě plnohodnotné výpočetní jednotky, určené pro zpracování celočíselných operací a operací s plovoucí čárkou 3 . V předchozí generaci CPU od AMD dvě jádra sdílela jednu společnou jednotku pro zpracování operací s plovoucí čárkou. Retire Queue 4 dokáže zpracovat dvakrát víc vypočítaných výsledků než Intel Core-i. ALU: Aritmetická logická jednotka AGU: Jednotka generování adres
Foto popis| Výstup Kromě vyrovnávacích pamětí AMD zvětšilo i fronty 5 pro ukládání zpracovaných operací.
Foto popis| Nová patice pro Zen Procesory Zen budou používat novou patici AM4. Základní desky s touto paticí budou podporovat paměti typu DDR4 a nejmodernější porty včetně M.2 a USB 3.1.
O autorovi| MARKUS MANDAU, MICHAL BAREŠ, autor@chip.cz