⚡ Tecnología
La instrucción de CPU más lenta de la historia: 198 mil millones de ciclos
¿Y si en vez de competir por cuál instrucción corre más rápido, compitiéramos por cuál tarda más? Suena absurdo. Pues existe: se llama Assembly Hall of Shame, y el campeón actual congeló un AMD Ryzen 7 durante 62 segundos completos con una sola instrucción.
El proyecto, creado por el investigador Chris Domas (conocido por sus ataques a microcódigo y su proyecto smiii de SMM), invierte por completo la ingeniería de rendimiento: en vez de exprimir ciclos, los mide al mínimo absoluto. La meta es encontrar el piso de rendimiento de una instrucción individual.
El campeón: fxrstor64, 198 mil millones de ciclos
El récord vive aquí al detalle. La instrucción fxrstor64 restaura 512 bytes de estado FPU/MMX/XMM desde una dirección de memoria de alta latencia en el fabric PCIe. Los concursantes saturan el root complex con tanto tráfico que la carga queda atrapada tras una cola interminable de transacciones.
El conjunto: 198.002.498.236 ciclos — en un Ryzen 7 5800H a ~3.2GHz, eso son 62 segundos. Sí, leíste bien: una sola instrucción puesta en pausa por el hardware casi un minuto completo.
La tabla de vergüenza
La liga ordena cada instrucción del peor (más rápida) al campeón (más lenta). Algunas joyas:
nop— 1 ciclo. La referencia del "hago nada".idivcon dividendo de 128 bits — 77 ciclos de microcódigo.enter $0, $31— 112 ciclos forzando la ruta de display-pointer.fsincon QNaN — 257 ciclos para un cálculo trigonométrico envenenado.mfencevictima de write-combining saturado — 326 ciclos.lock xaddsobre una cache line partida — 865 ciclos, el famoso split lock.
Todas las entradas cumplen reglas estrictas: una sola instrucción elegible, sin interrupciones, sin hardware modificado. Nada de rep movs, nada de trampas.
El detalle que rompe sistemas
Pero la joya no es el récord: es la primera mención honorífica. Un vmovdqu %ymm0 sin alinear de 32 bits que viola la especificación, disparando transacciones no publicadas desde registros de GPU bloqueados en PCIe, logró romper los cimientos de System Management Mode — el modo más privilegiado del x86. De ahí nace el proyecto smiiiiiiiiiiiiiiii, un ataque real al SMM.
La investigación de rendimiento negativo no es solo un chiste: entiende cómo el microcódigo reacciona ante entradas al límite — subnormales, denormales, particiones de memoria, coherencia de cache. Cada campeón es una lección de microarquitectura que nadie enseña.
Opinión: esto es lo mejor del hardware
En la era en la que la IA escribe código, nadie lee manuales de microcódigo. Y este proyecto demuestra que todavía hay ingeniería en las entrañas del silicio que no se resuelve con un par de líneas en Python.
El rendimiento no solo se gana optimizando; también se aprende observando los abismos. Decir que "nop tarda 1 ciclo" parece trivial, pero saber por qué fxrstor64 puede tardar 62 segundos enteros es entender que una CPU no es siempre la máquina determinista que creemos.
¿Sabías que podías congelar tu procesador con una sola línea de assembly? Cuenta en comentarios si alguna vez has visto (o sufrido) un split lock o un acceso MMIO de locura.
Comparte esto con alguien que todavía piensa que la CPU siempre ejecuta "en un ciclo" — y se va a enterar de que hasta las instrucciones pueden tener su propia cilindrada.