x86-S: Intel chce z procesorů vyčistit nánosy legacy kompatibility

Mnoho let už se spekuluje nad tím, zda by jednoho dne Intel nemohl zahodit zpětnou kompatibilitu a vytvořit novou verzi procesorů x86 okřesanou o různou „legacy zátěž“. Opět to bylo oživeno diskuzemi okolo procesorů ARM a domnělých či skutečných výhod, které těží z toho, že podobnou „bagáž“ nenesou. Teď Intel přestavil projekt zjednodušené čistě 64bitové architektury x86-S, která by takovou revoluci mohla přinést.

Intel teď vydal dokumenty navrhující architekturu označenou x86-S, což je do budoucna plánovaná revize instrukční sady a platformy procesorů x86, zatím ovšem stále ve fázi navrhování. Nemusí tedy jít o nic definitivního. Ono označení by mělo znamenat „simplified“ čili zjednodušená. Nejde tedy o zcela novou instrukční sadu, ale nějaké změny, které přeruší desetiletí dlouhou kompatibilitu, v ní budou učiněné.

Architektura x86-S by měla být pouze 64bitová, nebo aspoň zčásti. Dnešní procesory x86 jsou sice 64bitové, ale mají zachovanou kompletní kompatibilitu nejen s 32bitovým, ale i 16bitovým režimem. Při spuštění (resetu) nabíhají v 16bitovém režimu a až poté je firmware při zavádění přepíná do 64bitů. Toto by architektura x86-S odstranila, procesory by již nativně pracovaly jen jako 64bitové.

Nešlo by ale o úplnou eliminaci 32bitové kompatibility, jakou provedli výrobci procesorů ARM. Čipy založené na architektuře x86-S by již nebyly schopné provozovat nativně 32bitový operační systém, zůstane ale zachována podpora pro běh 32bitového softwaru v uživatelském prostoru nad 64bitovým systémem. Jde o to, že by úroveň privilegií ring 0 už nebyla pro 32bitový režim dostupná.

Zjednodušené bootování procesoru přímo v 64bitovém režimu (zdroj: Intel)

Kompatibilitu s legacy 32bitovými OS (jako třeba Windows XP nebo ještě staršími systémy) by ovšem mělo být možné realizovat na úrovni virtualizace. Přímo na hardwaru by tedy 32bitový OS nefungoval, ale měl by jít spustit s vhodným hypervizorem, který nekompatibilitu x86-S s původní platformou x86 překlene.

Podle toho, co Intel říká, nicméně budou muset být upravené i 64bitové operační systémy, takže na x86-S nejspíš budou potřeba nové verze Windows a aktualizace Linuxu. I zde ale přinejhorším má pomoci virtualizace, s níž starší 64bitové OS poběží. Naopak se úplně ztratí schopnost provozu jakéhokoli 16bitového kódu přímo na hardwaru. Takovéto aplikace se tedy již budou muset jen a pouze emulovat.

Tyto změny pomohou o něco zjednodušit návrh procesoru a ušetří nějaké tranzistory a teoreticky i spotřebu. Nepůjde asi o příliš velké úspory, ale zjednoduší se velmi náročná validace (ověřování správného fungování) CPU. Také se eliminují některé chyby, které mohou do těchto obskurnějších částí procesorů být zaneseny. Intel podotýká, že tyto legacy režimy a funkcionalita bývají v praxi jen velmi málo využívány mimo onu krátkou dobu při bootování.

Spolu s 16bitovým a 32bitovým režimem Intel navrhuje odstranit další věci. Eliminovány mají být například úrovně privilegií ring 1 a ring 2 (moderním softwarem nepoužívané) a přístup k I/O portům z uživatelského prostoru (ringu 3 – to by znamenalo, že některý software by musel být přepsán na použití MMIO). Také by zřejmě mělo dojít na změny ve zpracování přerušení. V architektuře x86-S by také bylo možné přepnout mezi čtyřúrovňovou a pětiúrovňovou tabulkou stránek bez toho, aby se CPU muselo přepnout do unpaged módu (nyní to nutné je).

Navrhované změny v architektuře x86-S (zdroj: Intel)

Dříve se při úvahách o eventuálním překopání platformy x86 procesorů předpokládalo, že by Intel mohl zrušit například podporu pro instrukce MMX a x87 (a jejich registry), což by také návrh procesorů zjednodušilo. Tímto by ale přestalo fungovat velké množství zkompilovaných aplikací na úrovni uživatelského prostoru, nejen a úrovni OS. Návrh x86-S snad proto zatím nic takového neobsahuje. Vypadá to, že čistě usermode softwaru by se nemusel dotknout moc, a tudíž by rozbitých starších programů nemuselo být tak moc.

Historické x86 procesory AMD a Intel (foto: Cnews)

Navrhované změny vypadají méně radikálně, než k čemu přistoupil ARM u architektur ARMv8 a ARMv9, které také začaly tím, že umožnily běh 32bitového softwaru jen v uživatelském prostoru (usermode), ale již ne 32bitových OS, aby pak zcela zpětnou kompatibilitu opustily. Ovšem 64bitová instrukční sada ARM je zcela separátní nová sada proti 32bitové. Naopak u x86 byla 64bitová verze vytvořena jako rozšíření 32bitového režimu, takže pokud by se řezalo hlouběji, vzniknou dalekosáhlé nekompatibility s existujícím i 64bitovým softwarem.

Každopádně je tento návrh asi zatím otevřený k diskusi a Intel chce mimo jiného získat nějakou zpětnou vazbu a podněty od uživatelů. Tudíž se finální verze „legacy-free“ architektury x86 nakonec může lišit i v dalších věcech.

Zdroje: Tom’s Hardware, Intel (1, 2)

Jan Olšan, redaktor Cnews.cz


⠀

Contents

Architekti z Nuvie teď chystají CPU, které umí Arm, RISC-V i x86

Začátkem roku prosáklo, že zakladatelé firmy Nuvia v čele s Gerrardem Williamsem III., kteří dříve navrhovali úspěšná procesorová jádra Applu, opustili Qualcomm, který jejich firmu o pět let dříve koupil a tím získal také velmi silná Arm jádra Oryon pohánějící jeho Snapdragony X, X2 a už i čipy pro mobily. Hned ale založili opět nový startup vyvíjející CPU: Nuvacore. Teď ale odhalili, že jeho strategie bude o hodně jiná než u Nuvie. Celý článok „Architekti z Nuvie teď chystají CPU, které umí Arm, RISC-V i x86“ »

Nejvýkonnější jádro Armu: C2-Ultra zvedá výkon až o 15 % [Rozbor]

Spolu s vydáním nových čipů Applu pro telefony (A20 Pro) teď uvádí novou generaci procesorových architektur také firma Arm, která stojí za touto instrukční sadou využívanou mobilními SoC, ale i za samotnými návrhy jader, které si licencují firmy jako MediaTek, Nvidia i další výrobci Arm čipů. Arm loni nahradil jádra Cortex sérií jader označených Lumex C1 a letos přichází nová generace C2, které opět posouvá hranici jednovláknového výkonu. Celý článok „Nejvýkonnější jádro Armu: C2-Ultra zvedá výkon až o 15 % [Rozbor]“ »

IBM má procesor podporující naráz dvě instrukční sady: Z a Arm

Včera jsme psali o tom, že AMD opět (už podruhé) zrušilo plán vyrábět Arm procesory. Ovšem zřejmě největší veterán světa počítačů IBM se teď naopak k instrukční sadě Arm přiklání a začíná ji používat. Ovšem zajímavým způsobem – nenahrazuje jí svou stávající architekturu (nebo aspoň zatím ne), ale představuje procesor, který má svou vlastní instrukční sadu, ale současně je také plně kompatibilní s architekturou Arm. Celý článok „IBM má procesor podporující naráz dvě instrukční sady: Z a Arm“ »

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *