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 utilizan un tipo especial de software conocido como compilador que traduce el código de programación en instrucciones de máquina. La mayoría de las computadoras personales utilizan un conjunto de instrucciones que se utilizó por primera vez en la década de 1970, mientras que los teléfonos inteligentes, tabletas y otros dispositivos utilizan conjuntos de instrucciones más simples optimizados para entornos de bajo consumo de energía.
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í sola, cada instrucción es relativamente simple, tal vez diciéndole al procesador que sume dos números o 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 el conjunto de instrucciones sea un elemento crítico en el éxito o el fracaso comercial de cualquier diseño nuevo.
Una CPU solo puede realizar funciones que son parte de su conjunto de instrucciones, pero muy pocos programadores de computadoras integran estos comandos en su software. En su lugar, se utiliza un paso intermedio conocido como compilación. En este proceso, un programa conocido como compilador traduce el código amigable 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 microprocesadores modernos 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 utilizan 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 usan microprocesadores basados en el conjunto de instrucciones ARM, que es más simple y más eficiente que x86. Los servidores de gama alta, las supercomputadoras y otros dispositivos especializados como las consolas de juegos pueden utilizar diferentes conjuntos de instrucciones.