Instrucción
De Wikipedia, la enciclopedia libre
Son un conjunto de datos insertados en una secuencia estructurada o especifica que el procesador interpreta y ejecuta.
En Informática, una instrucción normalmente se refiere a una operación simple que se le da a un procesador y que este llevará a cabo.
Los tipos de instrucción permitidos están definidos y determinados dentro de cada plataforma en la arquitectura del repertorio de instrucciones (ISA, instruction set architecture), que también determina los registros de origen y destino de la CPU, y en ocasiones un dato inmediato.
Normalmente una instrucción se divide en dos campos:
- Código de Operación: campo que 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 o largo 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.
[editar] Tipos de Instrucciones
- 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.
- 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 I/O (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.