Crisis en los microprocesadores

Como bien es sabido, crisis es cambio. Y sin darnos apenas cuenta estamos viviendo un cambio bastante profundo. Tan profundo, como fue el salto del 80486 a la arquitectura Pentium, radicalmente diferente al menos internamente (más que nada por la ejecución fuera de orden y especulativa).

Y el primer aviso (ahora nos podemos dar cuenta, no entonces) fue el éxito de la plataforma Centrino. Luego vino la gran escalada de AMD con su Athlon64. Finalmente, el anuncio de Intel que su Prescott no llegaría a los 4 GHz, y abortaban el proyecto Tejas (el sucesor directo de Prescott).

Estos días Intel está celebrando su IDF (Intel Developer Forum). Ya se empieza a perfilar el futuro... se abandona la búsqueda del procesador con mayor frecuencia, centrándose un poco más en conseguir altos IPC (instrucciones por ciclo) como el Pentium M (Centrino) o el Athlon.

Pero eso es un apaño temporal. Como también nos hemos ido enterando, ahora vamos a por procesadores con doble nucleo y luego multinucleo. ¿Hasta donde? Bueno, el problema está en el software.

Intel ya se ha equivocado varias veces intentando ir más rápido que el desarrollo del software. Por ejemplo, el Pentium Pro, un procesador que salió poco después del Pentium y antes del Pentium II era un procesador ideal para ejecutar aplicaciones de 32 bits. En la epoca de Windows 95 o 98... ¿quien ejecutaba aplicaciones de 32 bits? Algunos servidores de gama alta...

Lo volvió ha hacer con el Itanium, un procesador de 64 bits, que salió demasiado pronto, aunque haya encontrado su nicho en los servidores. AMD ha logrado una mucho mejor estrategía con su Athlon64 y las extensiones de 64 bits (hasta el punto que Intel la ha tenido que copiar en los últimos Pentium 4).

Por lo tanto, está claro que Intel no puede empezar a diseñar un procesador con 16 pequeños nucleos con bajo consumo, aunque sea una solución muy buena, porque la mayoría de software no está pensado para ejecutarse en paralelo. ¿Quien aprovecharía algo así? De nuevo aplicaciones de servidor, que ejecutan muchos hilos simultáneamente.

La solución pasa por acostumbrar gradualmente al mercado a este cambio. Así, ya habiamos empezado con la tecnología Hyper-Threading (un tanto para Intel) que provocó que algunos programas de uso intensivo de CPU (como por ejemplo de compresión de audio o video, algun juego, etc.) se modificaran para hacer uso de esta capacidad. Lo siguiente son nucleos dobles, algunos también con HT, con lo que ya tenemos 4 CPUs.

De manera que los desarrolladores de software a partir de ahora tendrán más en cuenta el paralelismo, no como algo destinado a servidores, sino como algo que encontraremos en los equipos domésticos, y de manera masiva, en los próximos años.