sábado, 25 de octubre de 2014

Instrucciones

Instrucciones



       Una instrucción es un conjunto de símbolos(que usualmente son caracteres) que representan una orden de operación o tratamiento de información para la computadora. Lasinstrucciones suelen realizarse con datos o actuar sobre estos. Un programa es un conjunto ordenado e instrucciones que se suministran al ordenador y le indican la tarea a realizar.

       

Las instrucciones se forman con elementos o símbolos de un repertorio determinado y se construyen siguiendo unas reglas precisas. Al conjunto de símbolos y reglas sintácticas con las que se redactan los programas, se le denomina lenguaje de programación. Los circuitos de la computadora solo pueden leer instrucciones formadas por bits 0 y 1, que conforman un conocido lenguaje llamado maquina. Estos bits están agrupados en bloques o campos. En todas las instrucciones maquina existe un bloque que contiene el código de operación(un conjunto de bits que identifican la operación a realizar), y en la mayoría de ellas existe un bloque de dirección que contiene información para acceder al dato sobre el que actúa el bloque de operació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 MIPStenemos 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 él 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:
  1. Determinación de las direcciones de origen y destino de memoria.
  2. Realización de la transformación de memoria virtual a memoria real.
  3. Comprobación de la caché.
  4. 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 elenlazado.
  • 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.



No hay comentarios :

Publicar un comentario