IA-64: Porovnání verzí

Smazaný obsah Přidaný obsah
JAnDbot (diskuse | příspěvky)
m robot přidal: en:Itanium#Architecture
Gugux (diskuse | příspěvky)
Bez shrnutí editace
Řádek 4:
 
Každý procesor architektury IA-64 musí implementovat nejméně 128 obecných (přirozeně 64 bitů širokých) registrů. Pokud jich implementuje více, jsou tyto díky mechanismu RSE posouvány v cyklickém bufferu tak, že programátor vždy vidí 32 nepohybujících se registrů a okno do zmíněního bufferu 96 registrů široké. (Pokud by procesor implementoval pouze 96 pohyblivých registrů, budou tyto pouze rotovat.) Toto umožňuje efektivně předávat parametry funkcím téměř výhradně pomocí registrů oproti předávání zásobníkem. Pokud již nemohou být splněny požadavky na alokaci prázdných registrů z cyklického bufferu, zajistí RSE jejich odložení do předem připraveného bufferu v paměti.
 
Podmíněný výpočet probíhá v případě IA-64 odlišně než u většiny ostatních architektur. Registr flags je nahrazen sadou jednobitových predikátových registrů, které jsou vpříslušných (porovnávacích) instrukcích nastavovány dle potřeby programátora. Každá taková instrukce nastavuje dva z těchto registrů - jeden podle pravdivostní hodnoty porovnání, druhý podle její negace. Provádění většiny instrukcí je potom přímo v jejich operačním kůdu možné podmínit nastavením libovolného z predikátových registrů. Takto lze bez nutnosti větvení vypustit celé bloky za daných podmínek nežádoucích instrukcí.
 
Procesory Itanium obsahují podporu i pro vykonávání instrukcí [[IA-32]]. Výkon je však v porovnání s nativní IA-64 nižší a dosahuje přibližně 50% výkonu serverů postavených na architektuře IA-32.