Set de instrucciones arquitectura


En informática , una arquitectura de conjunto de instrucciones ( ISA ), también llamada arquitectura informática , es un modelo abstracto de una computadora . Un dispositivo que ejecuta instrucciones descritas por ese ISA, como una unidad central de procesamiento (CPU), se denomina implementación .

En general, una ISA define las instrucciones admitidas , los tipos de datos , los registros , el soporte de hardware para administrar la memoria principal , las características fundamentales (como la consistencia de la memoria , los modos de direccionamiento , la memoria virtual ) y el modelo de entrada/salida de una familia de implementaciones . del ISA.

Una ISA especifica el comportamiento del código de máquina que se ejecuta en implementaciones de esa ISA de una manera que no depende de las características de esa implementación, proporcionando compatibilidad binaria entre implementaciones. Esto permite múltiples implementaciones de un ISA que difieren en características como el rendimiento , el tamaño físico y el costo monetario (entre otras cosas), pero que son capaces de ejecutar el mismo código de máquina, de modo que una máquina de menor rendimiento y menor costo puede reemplazarse con una máquina de mayor costo y mayor rendimiento sin tener que reemplazar el software. También permite la evolución de las microarquitecturas.de las implementaciones de esa ISA, de modo que una implementación más nueva y de mayor rendimiento de una ISA pueda ejecutar software que se ejecuta en generaciones anteriores de implementaciones.

Si un sistema operativo mantiene una interfaz binaria de aplicación (ABI) estándar y compatible para un ISA en particular, el código de máquina se ejecutará en implementaciones futuras de ese ISA y sistema operativo. Sin embargo, si una ISA admite la ejecución de varios sistemas operativos, no garantiza que el código de máquina de un sistema operativo se ejecutará en otro sistema operativo, a menos que el primer sistema operativo admita la ejecución de código de máquina creado para el otro sistema operativo.

Un ISA se puede ampliar agregando instrucciones u otras capacidades, o agregando soporte para direcciones y valores de datos más grandes; una implementación de la ISA extendida aún podrá ejecutar código de máquina para versiones de la ISA sin esas extensiones. El código de máquina que usa esas extensiones solo se ejecutará en implementaciones que admitan esas extensiones.

La compatibilidad binaria que proporcionan hace de las ISA una de las abstracciones más fundamentales de la informática .


Una instrucción puede tener varios campos, que identifican la operación lógica, y también puede incluir direcciones de origen y destino y valores constantes. Esta es la instrucción MIPS "Add Immediate", que permite la selección de registros de origen y destino y la inclusión de una pequeña constante.