Intel zaradi napake onemogočil TSX v novih procesorjih

Matej Huš

15. avg 2014 ob 09:10:31

Intel je potrdil, da vsebujejo vsi procesorji iz družin Haswell, Haswell-E/EP in Broadwell-Y napako v izvedbi novih ukazov TSX (tisti, ki seveda TSX podpirajo), zato so jih s posodobitvijo mikrokode onemogočili.

TSX (Transactional Synchronization Extensions) je razširitev ukazov v arhitekturi x86, ki jo je Intel napovedal predlani in lani uvedel z arhitekturo Haswell. TSX omogoča hitrejše izvajanje ustrezno napisanih programov, saj odpravlja zaklepe (lock) dela predpomnilnika, ki ga jedro vzpostavi med izvajanjem kosa kode, da prepreči drugim jedrom spremembo podatkov v zaklenjenem delu predpomnilnika. Poenostavljeno povedano TSX omogoča hkratno izvajanje ukazov v več jedrih brez zaklepa, kar prinese pohitritev.

Toda izkazalo se je, da je v ukazih TSX napaka (erratum), ki po Intelovih besedah pod ustreznimi pogoji povzroči nestabilno delovanje sistema. Podrobneje Intel ni želel komentirati napake, a zgovorno je dejstvo, da so TSX v vseh procesorjih Haswell in Broadwell, ki so ga imeli, onemogočili.

Napake v ukazih (errata) niso nič posebnega in le redko pridejo na prve strani. Najbolj znan tovrstni hrošč je zagotovo FDIV, zaradi katerega je moral Intel pred dvajsetimi leti prizadete Pentiume celo vpoklicati. Tedaj je šlo za napako pri deljenju s plavajočo vejico zaradi napačnih tabel v procesorju. Podobna je še napaka F00F, ki pa ni terjala vpoklica, ker jo je bilo mogoče preprečiti na programski ravni. Za primerjavo povejmo, da ima na primer E3-1200 v3 Xeon kar 140 napak. Običajno se rešijo s posodobitvijo mikrokode, obvodom (workaround) ali preprečitvijo v operacijskem sistemu ali na nivoju BIOS-a.

Precej redkeje je treba uporabiti radikalnejše možnosti, kot sta vpoklic ali odstranitev celotne funkcionalnosti. To priča, da je napaka s TSX resna. Intel jo je v novih načrtih že popravil, a Haswelli-E/EP in Broadwelli-Y v proizvodnji so za to prepozni in TSX ne bodo imeli. Kdor to funkcijo nujno potrebuje - tu gre večidel za strežnike - mora počakati na Haswella-EX. Haswelli-E in EP pa bodo popravek bržkone dobili v naslednjem steppingu. (Intel je zapisal, da lahko proizvajalci matičnih plošč tudi za prizadete procesorje dodajo možnost prisilnega vklopa TSX prek BIOS-a, da lahko testirajo aplikacije s podporo TSX.)