Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Skrytá esa AMD: Bulldozer a Bobcat

20.10.2010, Petr Štefek, technologie
Skrytá esa AMD: Bulldozer a Bobcat
Dnes se podíváme, co na nás připravilo AMD pro konec tohoto roku a rok následující. Nebudu přehánět, pokud označím příchod nových architektur za revoluci pro celé AMD. Po mnoha letech se dočkáme něčeho opravdu nového a pravděpodobně také výkonného.
Phenom I/II nepředstavoval vzhledem k předešlé architektuře žádný podstatný krok kupředu a AMD trvalo docela dlouho, než představila konkurenceschopný výrobek, který by byl zajímavý pro běžné uživatele. Pokud se podíváme na architekturu K8, velmi rychle najdeme paralely. AMD mohlo bojovat proti poměrně masivnímu výkonu rodiny Core iX pouze navyšováním frekvence a zvyšováním počtu jader. Poslední 6jádra architektury Phenom II se již dají označit za velmi povedené. Bulldozer má být konečně změnou, na jakou AMD čekalo.

Bulldozer je do značné míry podobný architektuře Intel Westmere, která je pro Intel jakousi překlenovací dobou k Sandy Bridge. Bulldozer je vybaven „fetch“ jednotkou, která dokáže zpracovat instrukce ze dvou nezávislých vláken a poslat je do dekódovací jednotky. Každé ze zpracovávaných vláken může plně obsáhnout šířku front-endu modulu Bulldozeru. Celý proces využívá dvoucestnou cache o velikosti 64 kB, což je naprosto stejná velikost jako u předešlé architektury. Nutno podotknout, že větší cache by zde nenašla příliš užitku.



Dekodér Bulldozeru je „4-wide“, což je o navýšení o jednu jednotku oproti architektuře K8, kde stejný počet měla i prastará architektura K7. AMD zde pracuje na podobném principu jako Intel se slučování makro operací k zajištění větší efektivity (AMD sdružuje x86 branch instrukce). AMD technologicky tedy dohání architekturu Intelu, která je již více než rok stará. Disponuje ale 4 dekódovacími částmi, kde 2 obsluhují celočíselná výpočetní jádra a jedna FP (Floating Point) hardware, který je v rámci modulu pouze jediný.

Schedulery v celočíselných výpočetních jádrech jsou nově unifikované, což neznamená nic jiného, než že dokážou zastávat úlohu individuálních jednotek pro matematické a adresovací operace. Nejsou tedy potřeba dvě ale pouze jedna. V následující části kapitoly si srovnáme Bulldozer se stávajícím Phenomem II.

Bulldozer je jiný v další části. Každý ze schedulerů má 4 porty, kterými „krmí“ dvojici ALU (Arithmetic Logic Unit) a AGU (Address Generation Unit). Phenom II je jiný a v tomto případě jeho schedulery obsluhují trojici ALU a AGU. To je o jednu ALU a AGU méně než v případě Phenomu II. Nutno ovšem vzpomenout, že Bulldozer má ona celočíselná výpočetní jádra rovnou dvě. Není bez zajímavosti, že společnost už při návrhu Phenomu II považovala třetí AGU za zbytečnou a ponechala ji v čipu pouze kvůli symetrii v designu, čímž si ulehčila práci a v podstatě nic neztratila. U navýšení počtu ALU se již výkonnostního benefitu dočkat můžeme. Bulldozer by podle AMD měl být i přes svůj návrh výkonnější také v oblasti jednovláknových aplikací.



Každé z celočíselných jader (2) má svou 16kB L1 cache, kde pro každé jádro oddělená FPC si vybírá, kterou využije v závislosti na zpracovávaném vláknu. Podle AMD malá cache L1 nepředstavuje problém díky out-of-order architektuře, kde je poměrně snadné obejít poněkud vyšší latence k L2 cache, která je výrazně větší. V minulosti mělo AMD opačný přístup a snažilo se kvůli výkonu, aby velikost L1 cache byla co možná největší.

Jak už jsme si řekli, tak základní stavební jednotka procesorů na architektuře Bulldozer je modul skládající se ze dvou celočíselných výpočetních jader a jednoho sdíleného FP výpočetního jádra. Přestože je FP jádro pouze jedno, tak i zde došlo ke zdvojnásobení některých výpočetních zdrojů tak, aby bylo možné dvě vlákna zároveň vůbec obsluhovat. Funkčnost samostatných jader pro celočíselné operace je poměrně jasná a jediné FP jádro pracuje na principu HyperThreadingu.

Ve FP jádru má scheduler 4 porty k vlastním FP jednotkám. Dvě z nich jsou 128bitové FMAC a dvě 128bitové MMX (packed integer). AMD Bulldozer podporuje všechny verze SSE instrukčních sad (do 4.2) a také poslední současnou rozšiřující instrukční sadu AVX. 256bitové operace AVX jsou řešeny skrze dvojici 128bitových FMAC jednotek, což je nápadně podobné chytrému řešení v architektuře Intel Sandy Bridge.

Zbývá už dodat pouze fakt, že každý z modulů obsahující dvě jádra pro celočíselné operace a operace s plovoucí desetinnou čárkou má svou sdílenou L2 cache. Její velikost je 2048 kB, což není zrovna málo, a její velikost bude mít stěžejní vliv na velikost celého jádra. Proslýchá se, že celková kapacita 4jádrového Bulldozeru bude až 16 MB. V tuto kapacitu musíme započítat i obrovskou L3 cache o velikosti 8 MB.