Přiznám se bez nátlaku kubánskými kleštěmi nebo albánskou rukavicí, že o vypnutém SGX jsem doposud netušil. Zdá se ale, že je tomu tak, Intel totiž nyní vydal tzv. dokument o změně produktu („Produkt Change Notification“), v němž uvádí, že SGX bude aktivní až v novějších verzích procesorů Skylake, které mají být dostupné někdy od konce října. Přesněji řečeno, tyto nové verze procesorů „umožní uživatelům zapnout SGX“. Z čehož by vyplývalo, že ve starších/aktuálních tato možnost není a rozšíření chybí. Toto se podle všeho týká všech deseti dnes dostupných modelů Core i7 a Core i5 a také od Skylake odvozených Xeonů E3-1200 v5 pro socket LGA 1151.
Podle Intelu u nich bude zpřístupnění funkce SGX jen drobnou změnou, která se nijak nepodepíše na obecném fungování, takže změna mezi dvěma verzemi čipů nemá mít žádné rušivé dopady. Nebude třeba změn v BIOSech, také stepping čipů je stejný (R-0). Procesory tím pádem také budou mít nadále úplně stejná modelová označení a kódy, takže nebude snadné poznat, zda SGX mají, či nikoliv. Stejné mají být i z pohledu softwaru, tedy signatura CPUID bude u obou verzí identická, lišit se tedy asi budou čistě v signalizaci přítomnosti instrukcí SGX konkrétním „feature bitem“.
Procesor poznáte podle kódu S-Spec
Uživatel či kupující bude moci tyto dva druhy procesorů od sebe odlišit pomocí tzv. „S-spec“ kódu. To je řetězec uvedený na rozvaděči tepla a také u čárového kódu na štítku balení. Jde o pět znaků na druhém řádku, na fotografii námi testovaného Core i7-6700K jsou to písmena SR2BR. Ta by jinak podle dokumentu od Intelu měla znamenat, že CPU instrukce SGX nemá – pokud byste je vyžadovali, musíte se poohlédnout po exempláři označeném kódem „SR2L0“.
Kód S-spec (SR2BR) na rozvaděči CPU a na štítku krabice.
Tento hlásí, že se jedná o starší verzi čipu
Tyto kódy pro všechny desktopové modely můžete vidět níže v dokumentu od Intelu – nalevo je stará revize, vpravo nová s instrukcemi SGX:
S-spec kódy pro jednotlivé modely Skylake pro LGA 1151
Zda vás má absence instrukcí SGX v procesoru trápit, toť komplikovaná otázka. V tuto chvíli je asi ještě žádná aplikace nepotřebuje; uplatnění by měly nacházet hlavně v tzv. „trusted computingu“. Umožňují vytvářet chráněné enklávy v paměti, do nichž procesor nepustí nikoho jiného, než autorizovaný podepsaný kód – jedno z možných použití je tak například uschování šifrovacích klíčů. V tuto chvíli budete mít problém asi hlavně tehdy, pokud jste programátoři a chtěli jste na Skylake tyto instrukce zkoušet a vyvíjet s nimi. Obecný výkon každopádně neutrpí.
IDF 2015: Architektura procesorů Skylake
Je důvodem zpožděná validace nebo „předčasný porod“?
Důvody, proč první procesory neměly SGX zapnuté, neznáme. Nezdá se mi, že by bylo toto rozšíření u nich nefunkční či chybové, neboť jak již bylo řečeno, nové várky CPU s tímto rozšířením aktivovaným používají stejný křemík. Nabídnout asi můžu jenom spekulativní vysvětlení: je možné, že funkci se nepodařilo zavčasu protlačit formálním testováním. Podle některých názorů Intel uvedení Skylake uspíšil proti původním harmonogramům a srpnové vydání prvních modelů nebylo původně plánováno (dokladem čehož je možná špatná dostupnost Core i5-6600K a i7-6700K v tomto období).
Funkčnost rozšíření SGX byla možná v době, kdy měly první modely jít na trh, ještě stále předmětem ověřování a Intel tedy neměl úplnou záruku, že tuto funkci může vypustit na trh. Možná, že se firma rozhodla raději rozšíření v prvních čipech zablokovat, než aby riskovala případnou pozdější erratu, tedy mediálně atraktivní blamáž s dodatečným patchováním nebo vypínáním funkcí kvůli chybě. O dva měsíce později se zřejmě už situace mohla změnit a SGX by teď dostalo zelenou. Zda ale mohlo za celou věcí být něco podobného, jistě nevíme, jde skutečně jen o spekulativní dohad.
Zdroje: The Tech Report, Intel