Szerző: Bodnár Ádám

2014. augusztus 14. 12:12

Hiba miatt letiltja a TSX-et chipjeiben az Intel

Az Intel Haswell generációs processzoraiban debütált a TSX (Transactional Synchronisation Extension) utasításkészlet-kiterjesztés, amely a tranzakcionális memóriakezelést hivatott gyorsítani. Egy most kikerült dokumentum szerint a Haswell és a Broadwell chipekben is hibás az implementáció, így az Intel kikapcsolja ezt a képességet.

A 22 nanométeres Haswell mikroarchitektúrában debütált Transactional Synchronization Extensions (TSX) két új utasításpárral bővíti az x86 ISA-t a többszálú programfuttatás gyorsítása érdekében. Egy külső, tehát nem az Intelnél dolgozó szoftverfejlesztő a közelmúltban azonban azt találta, a TSX implementációja a piacra került processzorokban hibás és ezt az Intel is megerősítette a tesztelés után. A vállalat által nemrég frissített, a Xeon E3-1200v3 processzor specifikációit tartalmazó dokumentum szerint "komplex belső időzítési körülmények és rendszeresemények együttes bekövetkezésekor az Intel TSX utasításokat használó szoftverek megjósolhatatlan rendszerműködést okozhatnak".

BIOS-ból kikapcsolja a TSX-et az Intel

Az Intel úgy határozott, hogy a processzorok mikrokódjának frissítésével kikapcsolja a TSX-et a processzoraiban, ehhez BIOS-frissítés szükséges. Ennek eredményeképp az érintett chipek többé nem hajtják végre a TSX utasításokat, cserébe stabilan működnek. Azok a szoftverfejlesztők, akik TSX-et támogató alkalmazásokat írnak vagy tesztelnek Haswell processzoros rendszereken, ne telepítsék az új BIOS-okat a gépeikre - igaz, ebben az esetben a rendszerük stabilitása kerülhet veszélybe.

A chipgyártó azt is elismerte, a hibát az első, már gyártás alatt levő Broadwell processzorok is tartalmazzák, ezeknél egy stepping segítségével javítja a hibát a cég (nem tudni, mikorra futnak át ezek a gyártósorokon), de a hibás chipeket tartalmazó gépekben BIOS-ból a TSX támogatása ugyanúgy le lesz tiltva mint a haswelles konfigurációk esetében. Az első Broadwell-alapú processzor a Core M lesz, amely az ünnepi szezonban érkezik a boltok polcaira vékony és könnyű noteszekben, illetve (hibrid) tabletekben.

Fejlesztő vagy? Segíts! Hack the Crisis. Gyere hétvégén fejleszteni, csatlakozz a hazai fejlesztői közösséghez!

A Haswell-generációs processzorral szerelt PC-k vásárlóinak, felhasználóinak nincs oka az aggodalomra, a TSX-et használó szoftverek egyelőre nem terjedtek el PC-s környezetben, az utasításkészlet-kiterjesztés jellegéből adódóan elsősorban szerverfeladatoknál hasznos. Hogy a jelenségre a Haswell processzorok megjelenése után majdnem egy évvel derült fény, arra utal, hogy mennyire ritkán fordul elő a hiba.

Haswell-alapú Xeonok egyelőre nem kerültek piacra, az első példányok (Haswell-E) megjelenése azonban a közeljövőben esedékes - értelemszerűen ezekben is le fogja tiltani a TSX-et az Intel, mivel a hibát tartalmazzák. A hamarosan érkező Haswell-EP kódnevű Xeonoknál viszont a felhasználók választhatnak, hogy aktiválják vagy tiltják a TSX-et: az Intel szerint az utasításkészket-kiterjesztés alapesetben BIOS-ból ki lesz kapcsolva, de igény szerint bekapcsolható, hogy a felhasználók a TSX-et támogató alkalmazásokat fejleszthessenek és tesztelhessenek. Éles környezetben a TSX engedélyezése semmiképp sem ajánlott.

Nem ritka a bug a processzorokban

A modern processzorok rendkívül komplex áramkörök és egyáltalán nem ritka, hogy hibákat tartalmaznak - ezeket a problémákat a gyártók a legtöbbször kezelni tudják és szoftveres "workaroundot" adnak ki hozzájuk. Vannak esetek azonban - mint amilyen most a TSX problémája is - amikor a szoftveres megoldás nem elérhető, ekkor drasztikusabb lépésre van szükség. Hasonló eset már számos történt korábban, az AMD például a Barcelona kódnevű Opteronjait volt kénytelen visszahívni egy ilyen bug miatt, az Intel pedig a Pentium processzor megjelenése után az összes, piacra dobott példányt kicserélte egy hibásan működő lebegőpontos osztás miatt.

a címlapról