¿Qué es el conjunto de instrucciones de un procesador?

PC repair
Copyright Getty

Cualquier aplicación o programa que tengas en tu PC estará formada por instrucciones y datos. Con datos se entiende todo aquello sobre lo que vamos a trabajar o reproducir. Por ejemplo, una foto, un video musical, una canción. Las instrucciones serán las encargadas de decirle al procesador que hacer con esos datos, a veces los transformaran, otras se encargara de enviarlo a la tarjeta gráfica o a la de sonido.

El conjunto de instrucciones que un procesador soporta definirá que aplicaciones entiende y por tanto cuales puede llegar a ejecutar. Esta diferencia es la que hace, entre otras cosas que las aplicaciones que tienes en tu PC de sobremesa y el que encuentras en un Smartphone.

Cuando un nuevo conjunto de instrucciones aparece tenemos que esperar a que sea implementado en los nuevos programas y a veces que el sistema operativo los soporte. Es decir, la mejora prometida, puede tardar años en verse. Los continuos cambios en las tecnologías de fabricación de los micros hacen que cada vez sea más sencillo para los fabricantes cambiar la arquitectura de estos para que sean capaces de soportar un mayor número de ellas. Es una de las razones por la cual es interesante tener siempre tu sistema operativo y tus programas actualizados.

¿Qué tipos de instrucciones para procesador existen?

Aritméticas. Una de las más sencillas, estoy hablando de sumas, restas, multiplicaciones.

Desde hace mucho tiempo el coprocesador matemático se incluye dentro del procesador y por lo tanto son capaces de trabajar con número reales y con operaciones mucho más complejas.

Lógicas. Estas incluyen las comparaciones. Muy importantes para cualquier tipo de programa.

Control de flujo. Permiten saltar a otra parte a veces se combinan con las anteriores para permitir el salto en caso de ser necesario.

¿Cuáles conjuntos de instrucciones podemos encontrar en un PC?

x86. Es la mínima necesaria para ser capaz de ejecutar el sistema operativo Windows. En concreto estas instrucciones trabajan con datos de 32 bits. También es conocido como IA-32.

x64. Es una extensión de la anterior para permitir trabajar con datos de 64 bits. También conocida por sus variantes AMD64Intel 64IA-64.

MMX. Las aplicaciones multimedia necesitan instrucciones que sean capaces de procesar muchos datos al mismo tiempo. Por ejemplo puedes sumar 8 números enteros de 8 bits con una sola instrucción.

3d Now. Es la respuesta de AMD a las MMX de Intel. Esta más avanzada que la anterior. Su objetivo es acelerar las aplicaciones que trabajan con sonido, video, etc.

SSE. Este conjunto y todos los que vienen después, SSE2, SSE3, SSE4, SSE4a vienen a añadir más posibilidades de aceleración a las aplicaciones multimedia. Están basadas en la experiencia dada por los creadores de esas aplicaciones que conocen aquellas instrucciones que más se usan.

AVX. Los registros son tan grandes que se trabaja con vectores en vez de con datos individuales. Estamos hablando de 256 bits. La nueva versión AVX2 la implementan los procesadores Bulldozer y Haswell.

AES. Este conjunto de instrucciones permite trabajar a tu procesador con aplicaciones criptográficas. Estas son utilizadas para que los datos y tu equipo estén más seguros que nunca.

TSX. Creadas por Intel permiten gestionar de forma más eficiente los recursos compartidos entre los distintos procesos que tienes a la vez funcionando en un PC. Están pensadas para sacar el mayor provecho posible al incremento en el número de núcleos que encuentras en el procesador.

Otros tipos de conjuntos de instrucciones

Quizás la más popular en la actualidad es el conjunto de instrucciones ARM en sus distintas versiones debido a que están implementadas en gran cantidad de teléfonos móviles y tablets.