- Instrucción (informática)
-
Instrucción en informática, se le llama a un conjunto de datos insertados en una secuencia estructurada o específica que el procesador interpreta y ejecuta.
Los tipos de instrucción permitidos están definidos y determinados dentro de cada plataforma en el conjunto de instrucciones (en inglés ISA, instruction set architecture), que también determina los registros de origen y destino de la CPU, y en ocasiones un dato inmediato (aquellos que son especificados explícitamente en la instrucción).
Campos
Normalmente una instrucción se divide en dos campos:
- Código de operación: Designa la operación que va a ser realizada. En lenguaje ensamblador, se asigna a su valor numérico un mnemónico. Por ejemplo, en el MIPS tenemos una instrucción con el código de operación 0224x en lenguaje ensamblador es la operación
add
. - Datos de la operación: Dependiendo del tipo de instrucción, este campo puede estar dividido en otros o ser único, incluso no existir. En el se suelen indicar los registros y datos con los que trabajar.
El tamaño (longitud en bits) de la instrucción depende de cada arquitectura, pudiendo variar de 4 hasta 128 bits.
La instrucción debe almacenarse temporalmente (en el registro de instrucción, RI) para que la CPU analice su contenido y extraiga los datos que la forman. A este paso se le llama decodificación.
Tipos
- Instrucciones de transferencia de datos: en este tipo de instrucciones, se transfieren datos desde una localización a otra. Los pasos que se siguen para realizarlo son:
- Determinación de las direcciones de origen y destino de memoria.
- Realización de la transformación de memoria virtual a memoria real.
- Comprobación de la caché.
- Inicio del proceso de lectura/escritura en la memoria.
- Instrucciones aritméticas: pueden implicar transferencia de datos antes y/o después. Realizan operaciones aritméticas de las que se encarga la ALU. Se pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos (suma, resta).
- Instrucciones lógicas: al igual que las aritméticas, la ALU se encarga de realizar estas operaciones, que en este caso son de tipo lógico.
- Instrucciones de Conversión: similares a las aritméticas y lógicas. Pueden implicar lógica especial para realizar la conversión.
- Instrucciones de transferencia de control: actualizan el contador de programa (PC). Administran las llamadas/retornos a las subrutinas, el paso de parámetros y el enlazado.
- Instrucciones de E/S (entrada/salida): administran los comandos de entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la dirección de este mapa de memoria.
Véase también
- Código de operación: Designa la operación que va a ser realizada. En lenguaje ensamblador, se asigna a su valor numérico un mnemónico. Por ejemplo, en el MIPS tenemos una instrucción con el código de operación 0224x en lenguaje ensamblador es la operación
Wikimedia foundation. 2010.