Intel elimina TSX en más CPUs: más seguridad pero menos rendimiento

Los usuarios de Intel pronto volverán a cambiar rendimiento por mejor seguridad. Se ha informado que las actualizaciones recientes de microcódigo de los procesadores de Intel deshabilitarán TSX (Transactional Synchronization Extension) de forma predeterminada en las CPUs de 6ª, 7ª y 8ª generación de la compañía; se supone que deshabilitar esta función hará que los procesadores sean más seguros, pero también se espera  que resulte en un peor rendimiento en las tareas que se beneficiaban del uso de TSX.

En teoría, se supone que estas actualizaciones del microcódigo fueron provocadas por un problema de orden de memoria en TSX. Un documento técnico sugiere que Intel ha estado al tanto del problema desde 2018, y aunque la compañía lanzó medidas de mitigación en octubre de ese mismo año parece que no fueron suficientes, motivo por el que ahora, tres años después, han decidido lanzar una nueva actualización que directamente deshabilita TSX. Esta actualización se incluyó en el Intel Platform Update 2021.1 cuando debutó el 8 de junio.

Más CPUs de Intel que pierden TSX y con ello, rendimiento

Intel Core i7 8700K TSX

«Las cargas de trabajo que se beneficiaban de Intel TSX podrían experimentar un cambio en términos de rendimiento»-, dijo Intel el 12 de junio.- «Algunas aplicaciones avanzadas para supervisión de rendimiento (perfmon) podrían necesitar una modificación en sus scripts y metodologías de recopilación de datos debido a las actualizaciones del microcódigo».- La empresa no ofreció más información al respecto del impacto que este cambio tiene en el rendimiento de sus procesadores.

Sin embargo, hay buenas noticias: Intel dijo que no espera que estas actualizaciones de microcódigo afecten a usuarios que no usan la unidad de monitorización de rendimiento, o a los que solo usan controladores y herramientas PMU actualizados, aunque sí recomienda que los desarrolladores de controladores PMU y los de herramientas de rendimiento sigan las instrucciones del documento que han proporcionado. Esto significa que es poco probable que un usuario normal experimente algún cambio, básicamente.

Los desarrolladores ya han preparado el kernel de Linux para estas actualizaciones de microcódigo, y se ha señalado que los parches destinados a Linux 5.14 ya hicieron ese cambio. Sin embargo, para los usuarios de Windows todavía no hay noticias, aunque a buen seguro que se implementarán estos cambios en futuras actualizaciones del sistema operativo.

Esta actualización del microcódigo afecta a las siguientes CPUs:

  • Todas las CPUs Xeon Skylake anteriores al Stepping 5 (incluyendo Xeon D y la primera generación Xeon Scalable).
  • Todas las CPUs de 6ª generación Xeon E3-1500M v5 / E3-1200 v5.
  • Todas las CPUs de 7ª y 8ª generación Core y Pentium anteriores al Stepping 0x8.
  • Todas las CPUs de 8ª y 9ª generación Core y Pentium anteriores al Stepping 0xC.
  • Las instrucciones TSX también vienen eliminadas ya de los procesadores Comet Lake y Ice Lake de 10ª generación.

¿Cómo se actualiza el microcódigo?

Micro código CPU

El microcódigo de un procesador es una capa de organización que se inserta entre las instrucciones del mismo y las instrucciones de los programas, por lo que estamos hablando de una capa de instrucciones en código máquina de muy alto nivel que sirven para controlar el funcionamiento interno del procesador. Inicialmente, cuando se creó el concepto de microcódigo éste se almacenaba en la memoria ROM del sistema, pero actualmente se guardan en la memoria NAND Flash.

Por lo tanto, el microcódigo no es un firmware en sí mismo, no es algo que podáis descargar e instalar de manera directa, sino que suele venir acompañado de actualizaciones de la BIOS de la placa base y, en ocasiones (dependiendo del nivel de las instrucciones), en las actualizaciones del sistema operativo; a este respecto hay que tener en cuenta que son actualizaciones a nivel de kernel, por lo que solo suelen incluirse en actualizaciones muy grandes.