Set de instrucciones arquitectura


En ciencias de la computación , una arquitectura de conjunto de instrucciones ( ISA ), también llamada arquitectura de computadora , es un modelo abstracto de una computadora . Un dispositivo que ejecuta instrucciones descritas por esa 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. de la 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 rendimiento , tamaño físico y 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 ser reemplazado por una máquina de mayor costo y rendimiento sin tener que reemplazar el software. También posibilita 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 ejecute en generaciones anteriores de implementaciones.

Si un sistema operativo mantiene una interfaz binaria de aplicación (ABI) estándar y compatible para una ISA en particular, el código de máquina se ejecutará en futuras implementaciones de esa ISA y del 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 ejecute 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.

Una 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 que las ISA sean 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 pueden 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.