¿Qué es un conjunto de instrucciones?
Un conjunto de instrucciones, o una arquitectura de conjunto de instrucciones, es el conjunto colectivo de comandos que puede ejecutar un procesador de computadora. Todo lo que hace una computadora, desde ejecutar una aplicación de procesamiento de texto hasta codificar archivos de video, se puede reducir a una combinación de estos comandos. Los programadores no crean programas directamente a través de estas instrucciones, sino que usan un tipo especial de software conocido como compilador que traduce el código de programación en instrucciones de la máquina. La mayoría de las computadoras personales usan un conjunto de instrucciones que se usó por primera vez en la década de 1970, mientras que los teléfonos inteligentes, tabletas y otros dispositivos usan conjuntos de instrucciones más simples optimizados para entornos de baja potencia.
Las computadoras pueden parecer capaces de realizar tareas ilimitadas, pero los microprocesadores dentro de ellas solo son capaces de ejecutar un número limitado de comandos predefinidos, conocidos como instrucciones. Por sí solo, cada instrucción es relativamente simple, tal vez indicando al procesador que agregue dos números o que mueva un dato de una ubicación a otra. Cuando se combinan, estas instrucciones básicas se vuelven bastante poderosas y se utilizan como base para todo tipo de software. El rendimiento y la compatibilidad de una CPU están directamente relacionados con la cantidad y el tipo de instrucciones que admite la CPU, lo que hace que la instrucción sea un elemento crítico en el éxito o el fracaso comercial de cualquier nuevo diseño.
Una CPU solo puede realizar funciones que forman parte de su conjunto de instrucciones, pero muy pocos programadores informáticos incorporan estos comandos en su software. En cambio, se usa un paso intermedio conocido como compilación. En este proceso, un programa conocido como compilador traduce el código amigable para los humanos utilizado por los programadores en un "código de máquina" que el procesador entiende. Dado que diferentes procesadores de computadora admiten diferentes conjuntos de instrucciones, se debe diseñar un compilador para el tipo de procesador en el que se pretende ejecutar el programa. Con modernos microprocesadores capaces de ejecutar cientos de millones o incluso miles de millones de instrucciones en un solo segundo, los compiladores se han convertido en el único medio práctico de crear software para computadoras.
Los microprocesadores utilizados en casi todas las computadoras personales vendidas desde la década de 1980 usan un conjunto de instrucciones llamado x86, que fue diseñado originalmente para un procesador Intel® que debutó a mediados de la década de 1970. El deseo de compatibilidad con versiones anteriores ha ayudado a mantener x86 dominante en el mercado de PC, aunque ocasionalmente se agregan nuevas instrucciones a través de extensiones. Muchos teléfonos inteligentes, tabletas y otros tipos de productos electrónicos de consumo utilizan microprocesadores basados en el conjunto de instrucciones ARM, que es más simple y más eficiente en energía que x86. Los servidores de gama alta, las supercomputadoras y otros dispositivos especializados, como las consolas de juegos, pueden usar diferentes conjuntos de instrucciones.