Nvidia poprvé poodhalila projekt Denver. 64bitový ARM je potomkem Transmety

12. 8. 2014

Sdílet

 Autor: Redakce

Již dlouho je známo, že Nvidia, jinak jeden z dvou hlavních výrobců GPU, chystá také vlastní architekturu CPU s instrukční sadou ARM. Tato procesorová jádra známá jako projekt Denver se zatím stále teprve chystají na trh v 64bitové verzi Tegry K1, Nvidia už ale uvolnila první zajímavé detaily jejich architektury. Ukazuje se, že firma šla na rozdíl třeba od Applu dosti netradiční cestou.

Jak již bylo známo, Denver je architektura stavěná na vykonávání až sedmi operací za jeden takt (tzv. 7-issue), jedná se tedy o superskalární návrh. Tato informace se nyní potvrzuje; navíc se dozvídáme, že jádra poběží na taktu až 2,5 GHz. Co ovšem může být jistým zklamáním je, že Denver nepoužívá technologie out-of-order vykonávání instrukcí, která je obvykle klíčovou vlastností nejvýkonnějších CPU.

Project Denver, první detaily

Nvidia místo toho sáhla k netradičnímu řešení. Denver dokáže přímo vykonávat instrukce ARM bez úprav, pro zvýšení výkonu však obvykle používá softwarovou JIT rekompilaci kódu v reálném čase pojmenovanou Dynamic Code Optimization. Ta by již měla generovat přímo operace v interní instrukční sadě Denveru a zároveň supluje technologii out-of-order, neboť eliminuje nepotřebné instrukce, přejmenovává registry, vybírá operace, které lze konat paralelně a vůbec se stará o optimální vytížení sedmi jednotek jádra. Optimalizace a řazení instrukcí probíhá údajně nad poměrně velikým „oknem“, které má čítat stovky instrukcí.

Tento optimalizovaný kód lze navíc poté používat opakovaně, takže teoreticky lze dosahovat i lepšího výkonu než při nativním běhu. Tedy za určitých podmínek, samozřejmě. Pro potřeby Dynamic Code Optimization je vyhrazeno 128 MB operační paměti, spolupracuje ale samozřejmě i s instrukční L1 cache.

Project Denver, první detaily

Pokud si pamatujete procesory Crusoe firmy Transmeta, už jste jistě doma. Nvidia má na technologie této firmy licenci a údajně po ní také podědila množství zaměstnanců. Nízkoúrovňová softwarová optimalizace s překladem instrukcí byla právě charakteristikou čipů Transmeta a Nvidia nyní jde stejnou cestou. Zajímavé na tom je, že Denver by tím pádem měl být schopen i emulace sady x86 jako Crusoe, pokud by o to firma měla zájem a Intel to strpěl...

 

Podle Nvidie je toto řešení efektivní z hlediska výkonu i spotřeby, absence logiky out-of-order by také měla značně zjednodušit a zmenšit celé jádro Denver. Překlad kódu ovšem znamená práci navíc, což se ale údajně má bohatě vrátit. Podle Nvidie má být výkon vysoký jak v jednovláknové, tak ve vícevkláknové zátěži a překonávat i různá mobilní osmijádra. CPU má i hardwarový dekodér ARM, takže v případě potřeby je možno Dynamic Code Optimization přeskočit.

Project Denver, první detaily

Co dalšího jsme se o Denveru dozvěděli? Jádro má 128KB instrukční L1 cache a 64KB L1 pro data, obojí s čtyřcestnou asocitivitou. L2 cache o velikosti 2 MB je sdílená (v Tegře K1 mezi dvěma jádry) a její asociativita je šestnácticestná. Denver má mít také značně agresivní prefetch. Nvidia zatím příliš nespecifikovala další detaily, zdá se však, že jádro obsahuje dvě jednotky typu ALU (IEU), dvě FPU, dvě jednotky load/store, takže ve výsledku vlastně nejde o zas tak široký návrh. K čemu je přesně sedmá jednotka JSR vám nepovím, mohla by sloužit pro větvení, skoky a podobně.

bitcoin_skoleni

64bitová Tegra K1 s jádry projekt Denver je pinově plně kompatibilní s tou 32bitovou. To znamená, že výrobci zařízení mohou nový procesor vrhnout na trh již poměrně záhy, neboť vyřešit je třeba jen softwarovou stránku. Uvidíme, zda to někdo stihne už letos.

Zdroje: ExtremeTech, Nvidia