3DNy!
3DNy! je zastaralé rozšíření instrukční sady x86 vyvinuté společností Advanced Micro Devices . K základní instrukční sadě x86 přidává další instrukce SIMD , což umožňuje provádět vektorové zpracování s pohyblivou řádovou čárkou pomocí vektorových registrů , což zlepšuje výkon mnoha graficky náročných aplikací. Prvním mikroprocesorem implementujícím 3DNow byl AMD K6-2 , který byl představen v roce 1998. Při použití instrukcí ve vhodných úlohách se rychlost zpracování zvýšila 2-4krát [1] .
3DNy ! představil 21 nových instrukcí procesoru a schopnost pracovat na 32bitových reálných typech ve standardních MMX registrech. Byly také přidány speciální pokyny pro optimalizaci přechodu na MMX/3DNow! (femms, která nahradila standardní instrukci emms) a pracujte s mezipamětí procesoru . Takže 3DNow! rozšířil možnosti technologie MMX bez nutnosti zavádění nových režimů procesoru a nových registrů.
Počínaje mikroarchitekturou Bulldozer není rozšíření podporováno (kromě příkazu prefetch). [2]
Kontrola 3DNow! procesor
Než začnete pracovat s 3DNow! ujistěte se, že je CPU podporuje. To se provádí pomocí instrukce CPUID . Obecný postup ověření je následující:
- Ujistěte se, že procesor podporuje instrukci CPUID . Pokud ne, pak CPU nepodporuje 3DNow! .
- Proveďte instrukci cpuid s EAX = 0 – to je vyžadováno pro další krok.
- Proveďte CPUID s hodnotou EAX = 80000000h. Pokud má po provedení instrukce EAX hodnotu menší než 1, pak 3DNow! není podporováno.
- Proveďte CPUID s EAX = 80000001h. Pokud je bit 31 registru EDX po provedení nastaven na 1, pak 3DNow! podporováno. Jinak ne.
3DNy!
- PAVGUSB - průměr 8bitových celočíselných hodnot
- PI2FD - převod 32bitových celých čísel na reálná čísla
- PF2ID - převod reálných na 32bitová celá čísla
- PFCMPGE - porovnání reálných čísel, větších nebo rovných
- PCMPGT - porovnání reálných čísel, větší než
- PFCMPEQ - porovnání reálných čísel, rovno
- PFACC - akumulace součtu reálných čísel
- PFADD - sčítání reálných čísel
- PFSUB - odčítání reálných čísel
- PFSUBR - Inverzní odečítání reálných čísel
- PFMIN - nalezení minima reálných čísel
- PFMAX - nalezení maxima reálných čísel
- PFMUL - násobení reálných čísel
- PFRCP - zjištění přibližné hodnoty převrácené hodnoty reálných čísel (1/x)
- PFRSQRT - nalezení přibližné hodnoty převrácené k druhé odmocnině (1/sqrt(x)) reálných čísel
- PFRCPIT1 - první krok výpočtu hodnoty, inverzní (1 / x) reálných čísel
- PFRSQIT1 - první krok výpočtu převrácené hodnoty odmocniny (1/sqrt(x)) reálných čísel
- PFRCPIT2 je druhá koule pro výpočet hodnoty inverzní nebo inverzní k druhé odmocnině reálných čísel
- PMULHRW - Násobení 16bitových celých čísel se zaokrouhlením
- FEMMS - Rychlé přepínání stavu FPU/MMX
- PREFETCH / PREFETCHW - předběžné načtení řádku mezipaměti procesoru z paměti
- FEMCA - nalezení integrálního vektoru
Procesory podporující 3DNow!
Viz také
Poznámky
- ↑ Efektivní využití 3DNow v Linuxu . Linux Journal (1. prosince 1999). Získáno 3. října 2010. Archivováno z originálu 7. června 2011.
- ↑ [1] Archivováno 28. března 2017 na stránce Wayback Machine , strana 207: "19 potrubí AMD Bulldozer, Piledriver, Steamroller and Excavator: Instrukce 3DNow již nejsou podporovány, s výjimkou pokynů pro předběžné načtení."
Odkazy