jueves, 27 de enero de 2011


Todo computador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo este, lo que se conoce como “lenguaje máquina del computador”.

Estas instrucciones se encuentran codificadas de acuerdo a un formato específico del computador, y constituyen una opción más del diseño del mismo.

En general, el algoritmo de solución de cualquier problema consiste en varios pasos que deben realizarse en una secuencia específica. Para implantar tal algoritmo en un computador, estos pasos se descomponen en pasos más pequeños, cada uno de los cuales representa una instrucción del computador. La secuencia de instrucciones resultante es un programa en lenguaje máquina, que representa al algoritmo en cuestión.

Cada instrucción máquina del computador se ejecuta realizando una secuencia de operaciones elementales más rudimentarias. A su vez, cada operación elemental requiere la activación de un conjunto de señales de control por parte del secuenciador de la Unidad de Control. La activación de dichas señales se efectúa a “golpe” de reloj.


Unidad de control

La misión fundamental de esta unidad se centra en recoger las instrucciones que componen un programa, interpretarlas y controlar su ejecución. Dado que las instrucciones se encuentran almacenadas en la unidad de memoria, deberá encargarse en primer lugar de recibirlas en el orden establecido. En segundo lugar, deberá identificar de qué instrucción se trata en cada caso. Por último, tendrá que generar la secuencia adecuada de órdenes para el resto de elementos que constituyen el computador, de manera que cada instrucción se ejecute correctamente.



Elementos de una instrucción máquina

Código de operaciónReferencia de datos fuenteReferencia al operando resultadoReferencia a la siguiente instrucción

Representación de la instrucciones


ADD Sumar
SUB restar
MPY Multiplicar
DIV Dividir
LOAD Cargar datos a memoria
Número de direcciones

El número de direcciones para una instrucción depende del diseño del CPU
Van desde una , dos, tres y hasta cuatro. En el caso de cuatro los elementos son: dos operadores, un resultado y la dirección de la instrucción siguiente(en la mayoría de casos viene implícita).
La definición del número de direcciones varía mucho pues si el número de direcciones es de uno, esto implica una CPU menos compleja, instrucciones más cortas, lo mismo ocurre si son de tres o cuatro va subiendo la complejidad.



Ejecucion de Instruccion


La secuencia de operaciones realizadas en la ejecución de una instrucción constituye lo que se denomina ciclo de instrucción. Lo más cómodo es considerar que el procesamiento del ciclo de instrucción consta de dos fases:

a) Fase de Búsqueda

b)Fase de Ejecución

La culminación de cada una de estas fases necesita de uno a seis ciclos de reloj.

Representacion de las Fases de Una Instruccion en funcion del reloj del sistema



Fase de Búsqueda

  1. Transferir el contenido del Contador de Programa (CP) al registro de Direcciones (RD)
  2. Pasar a registro de Memoria (RM) el dato almacenado en la dirección de memoria indicada por RD.
  3. Transferir el dato leído desde el RM al registro de instrucción (RI).
  4. Incrementar el valor del Contador de Programa para apuntar a la instrucción siguiente.
Fase de Ejecución

Comprende el conjunto de operaciones elementales específicas de la instrucción en curso Decodificación de la Instrucción. Por ejemplo la Instrucción ADD (la instrucción es cambiada por su código máquina correspondiente)

Transferencia del campo “CD” de la instrucción en curso ( este campo contiene la dirección de memoria en la que se encuentra el operando, y que se encuentra en el registro RI desde que finalizó la fase de búsqueda), al registro RD. Se inicia, por tanto, un proceso similar al de la fase de búsqueda, pero en esta ocasión para buscar en memoria el operando de la instrucción


Lanzar un ciclo de lectura de memoria que ponga en RM el operando almacenado en la dirección indicada por RD.


Transferencia del dato leído desde el RM al registro intermedio ,Ro2, del Operador. Paralelamente se puede transferir el otro operando desde el acumulador, AC, (contenido en él un instante anterior), al registro intermedio Ro1.

Realizar la operación de SUMA (ADD) y almacenar el resultado en el AC.

Repertorio de Instrucciones


Las instrucciones de un lenguaje de programación se pueden clasificar en 4 grupos:


Instrucciones de transferencias de datos:

Son aquellas de entrada o lectura y de salida o escritura. En el caso de las instrucciones de entrada o lectura, se lleva el dato de entrada o lectura desde la unidad de entrada a la memoria. Si por el contrario es una instrucción de salida o escritura, se lleva el dato de la memoria a la unidad de salida.

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 de tratamiento

Se trata de las instrucciones aritmético-lógicas y las de desplazamientos. Así como suma de datos, comparaciones...

Instrucciones de flujo de control o de bifurcación y salto:

Las instrucciones de flujo de control son aquellas instrucciones que alteran el orden secuencial de la ejecución de un programa. También hay instrucciones que posibilitan la interrupción de la ejecución o saltar a ejecutar otro programa. Cuando termina cualquiera de estas instrucciones, el programa continúa ejecutándose desde el punto en el que se interrumpió.

Otras instrucciones

Por ejemplo, la detención del funcionamiento del computador a la espera de una acción del usuario.