Intel Larrabee: detaily o připravované grafice

Intel zveřejnil některé detaily o plánované řadě akcelerátorů, které mají využívat jádra odvozená od první generace Pentií. Larrabee tak může fungovat i jako mnohojádrový procesor.
Kapitoly článku

Už za pět dní má v Los Angeles odstartovat konference Siggraph 2008, na níž se předvádí novinky z oblastí počítačové grafiky a interaktivních technologií. Při této příležitosti se Intel rozhodl zveřejnit detaily o chystané architektuře s Larrabee, která má být první mnohojádrovou x86 architekturou Intelu.

Přestože by se mohlo zdát, že Intel o architektuře Larrabee prozradil hodně podrobností, prakticky nevíme stále nic – jakkoliv mohou vypadat obrázky čipů a uspořádání jejich součástí a popis toho, jak to má fungovat, zajímavě, nevypovídá to o reálném výkonu ve hrách či aplikacích, spotřebě, dostupnosti, ani ceně tohoto řešení. Právě to nás u většiny komponent zajímá mnohem víc, než to, co je na pozadí a jak se dané řešení liší od toho, co se používá a nakolik je revoluční.

lbpage1.jpg

Intel se kdysi k výrobě grafických karet dostal koupí společnosti Real3D. Se svými Intel 740 pro AGP ale díru do světa neudělal. Poznatky z konstrukce samostatných grafických karet pak Intel zúročil u integrovaných grafik ve vlastních čipových sadách, které ale co do výkonu ve 3D ve srovnání s konkurenčními produkty pokulhávají.

Mnohojádrový procesor nebo grafika?

Připravovaný Larrabee ale nemá být čistokrevný grafický čip, spadá spíše do oblasti tera-scale architektury, se kterou Intel vyrukoval před dvěma lety na IDF. Má jít o mnohojádrový CPU optimalizovaný pro paralelní zpracování dat, doplněný jednotkami používanými u grafických karet, jejichž realizace pomocí softwaru pro procesory by nebyla efektivní.

Zatímco klasické GPU prodělávají vývoj, při němž se z jednodušších jednoúčelových čipů a jader stávají univerzálnější řešení s programovatelnými částmi (jako jsou stream procesory), Intel na to chce jít z opačné strany a nabídnout komplexní čipy sestavené z velkého počtu složitějších jednotek podobných historickým procesorům.

larrabee convergence.jpg

Co to znamená v praxi? Zatímco u klasických GPU je spousta funkcí čipu „zadrátovaná“, v případě mnohojádrových CPU je možné dovednosti a funkce čipu do velké míry ovlivňovat úpravou softwaru. To, co je dnes běžnou praxí, tedy že téměř každá změna specifikace DirectX či OpenGL vyžaduje novou generaci GPU, by šlo do velké míry řešit softwarovou cestou a jediným omezením by byl výkon procesoru.

Larrabee má využívat velké množství x86 jader, která nemají svůj původ u složitých moderních procesorů s out-of-order vykonáváním instrukcí, ale vycházejí z první generace Pentií s dual issue in-order architekturou. Jsou ale upravena tak, aby mohla díky podpoře multithreadingu (hyperthreadingu) počítat až čtyři vlákna najednou, dovybavena širokou vektorovou jednotkou (zvládne šestnáct 32bitových operací za takt), instrukcemi pro 64bitové výpočty, mají větší L1 cache (32 kB pro data a 32 kB pro instrukce) a navíc 256 kB L2 cache, která byla v éře Pentií ještě mimo procesor na základní desce a přibyly i sofistikované prefetch algoritmy, které mají pomáhat inteligentnějšímu rozkládání zátěže mezi jednotlivá jádra.

x86_vec.jpg 

Obdobnou strategii zvolil Intel u procesorů Atom. Od Atomů se ale Larrabee také liší – zatímco Atom je optimalizovaný na rychlé provádění jednoho vlákna a má šestnáctistupňovou pipeline, jádro Larrabee má mít mnohem blíže k pětistupňové pipeline prvních Pentií. Larrabee navíc podporuje SMT pro čtyři vlákna, zatímco Atom zvládá současný běh dvou vláken a Pentium jen jedno.

Srovnání toho, jak by vypadal hypotetický desetijádrový procesor z jednotek Larrabee o zhruba stejné velikosti, a při zhruba stejné spotřebě, jako současné Core 2 Duo, vyráběný stejnou architekturou, je v následující tabulce.

larrabee00413-31-16_05-08-08.png

Uvedené srovnání ale není přesné – na hypotetickém čipu není započítán prostor nutný na zmiňované specializované hardwarové jednotky pro grafické výpočty.

CPU v Larrabee má softwarově provádět operace jako rasterizaci, interpolaci či alpha blending aplikovaný po operacích se shadery. Některé operace jako filtrování či dekomprese textur ale nelze na použitých CPU efektivně provádět (Intel uvádí, že by filtrování trvalo dvanáctkrát a v případě nutnosti dekomprese textur až čtyřicetkrát déle), proto Larrabee obsahuje i samostatnou logiku podobnou typickým GPU. Ta se bude využívat pro operace, jako je komprese textur, mipmapping, anizotropní filtrování apod. a bude schopná přistupovat k datům v L2 cache jednotlivých jader. Komunikace mezi jádry a jednotkami má přes cache probíhat pomocí dvousměrné 512bitové sběrnice s topologií ringbus, jíž jsou všechna jádra propojena.

diagram.jpg 

Funkce druhé „fixed“ jednotky na schématu není blíže specifikovaná, spekuluje se o tom, že by mohlo jít o teselátor (zjednodušeně jednotka, která zjemní polygonovou síť 3D modelů rozdělením plošek na několik menších trojúhelníků a vyhlazením modelu), který by měl být součástí specifikace DirectX 11.tesselator.png

 

Kapitoly článku

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,