Con la tecnología de Blogger.

Búsqueda y Ejecución de Instrucciones

martes, 9 de agosto de 2011

Bus del Sistema

Se denomina bus del sistema al conjunto de circuitos encargados de la conexión y comunicación entre la CPU y el resto de las unidades de a computadora.

Para ello utiliza un conjunto de varias líneas eléctricas que permiten la transmisión de los datos en paralelo. Un bus de 16 bits transfiere simultáneamente esa cantidad de bits entre dos unidades cualesquiera. Además de las líneas de datos, el bus consta de otras líneas especializadas en las funciones que se indican a continuación:

Líneas de control: mediante ellas se transfieren las órdenes procedentes de la unidad de control a las otras unidades.

Líneas de direcciones: contienen la dirección del destino al que van dirigidos los datos que se están transmitiendo por las líneas de datos.

En el siguiente esquema general simple, no se dibujó el bus de control, ya que el mismo se dirige hacia todos los elementos.
Instrucciones

Las instrucciones que es capaz de realizar la CPU se denominan instrucciones de maquina. El lenguaje que se utiliza para su codificación es el lenguaje de máquina y de acuerdo con su función, se clasifican en: instrucciones de cálculo (aritmético y lógico), de transferencia de datos, de ruptura de secuencia, etc.
Una segunda clasificación de las instrucciones de máquina hacen referencia a su formato y al número de operandos que intervienen en ellas, teniendo en cuenta que todas tienen, en primer lugar, el código de operación y, además, los operandos relativos a los datos que son necesarios para realizar su misión.
Instrucciones sin operandos (o instrucciones sin dirección): se utiliza generalmente en computadoras cuya arquitectura tiene filosofía de pila.

Una pila esta formada por datos almacenados en orden consecutivo en la memoria, existiendo un registro especial, denominado puntero de pila, que nos indica la dirección del último dato introducido en ella. Cuando se saca un dato de la misma, el puntero decrece apuntando al dato que está a continuación, hasta llegar al fondo de la pila.

Es decir, hasta llegar al dato que se introdujo en primer lugar. Cuando se trata de introducir un dato en ella, el puntero toma la dirección de memoria siguiente en orden ascendente y se introduce en dicha dirección. Estas instrucciones sólo llevan código de operación, de tal forma que, cuando se trata de una operación de cálculo, se sacan los operandos de la pila (previamente introducidos) y el resultado se introduce en ella.


Instrucciones de un operando (o una dirección): se utiliza generalmente en máquinas cuya arquitectura funciona con filosofía de acumulador. El acumulador de la UAL contiene previamente el primer argumento de la operación, el segundo es el contenido de la propia instrucción, y después de ser operados, ambos, por el circuito operacional, el resultado queda depositado nuevamente en el acumulador.


Instrucciones de 2 operandos (o 2 direcciones): contiene el código de operación y 2 operandos. Uno de ellos actúa, además, como receptor del resultado de la operación.


Recordemos que una computadora puede tener instrucciones de los varios tipos expuestos, según sea su arquitectura.

Instrucciones de 3 operandos (o 3 direcciones): constan, en primer lugar, de un código de operación al que le siguen 3 operandos; los dos primeros son las direcciones de los argumentos que hay que operar y el tercero es la dirección donde se depositará el resultado.

Este formato de instrucción es el más cómodo de trabajar pero es el que precisa mayor número de bits.


Métodos de Direccionamiento (MD)

Son los modos que se utilizan en la instrucción para indicar la posición de memoria en que está situado el dato y constituyen los operandos intervinientes en la misma. Los principales métodos son:
Direccionamiento Inmediato: el dato que hay que utilizar forma parte de la propia instrucción; por lo tanto, no es necesario el acceso a memoria.


Direccionamiento Directo: la instrucción contiene la dirección de la memoria central, donde se encuentra situado el dato; aquí sí es necesario un acceso a memoria para trasladar el dato hasta la UAL o hasta la unidad asignada por la instrucción.


Direccionamiento Indirecto: la dirección contenida en la instrucción no es la del dato implicado, sino la de una posición de memoria que contiene la dirección de ese dato. Esto implica que se necesita un ciclo de memoria más para acceder al dato.


Direccionamiento relativo: la dirección de memoria central donde se encuentra el dato, se consigue sumando la dirección contenida en la propia instrucción con una magnitud fija contenida en un registro especial.


Ciclo de Instrucción: para que un programa pueda ser ejecutado por una computadora, éste debe estar almacenado en la memoria principal. La CPU tomará una a una sus instrucciones e irá realizando las tareas correspondientes.

Denominamos ciclo de instrucción al conjunto de acciones que se llevan a cabo en la realización de una instrucción. Se compone de dos fases:

Fase de búsqueda de una instrucción: en esta fase se transfiere la instrucción que corresponde ejecutar desde la memoria central a la UC.

Ejemplo: supongamos un ejemplo de instrucción aritmética de suma con tres direcciones y direccionamiento directo; es decir, la instrucción contiene el CO de la suma, los dos sumandos estáan en las direcciones de memoria de los dos primeros operandos y el resultado quedará en la dirección indicada por el tercer operando.

SUMAR 033 992 993 (Sumar los contenidos de las posiciones de memoria 033 y 992, almacenando el resultado en la posición 993)

CO: SUMAR

Dirección del primer sumando (OP1): 033
Dirección del segundo sumando (OP2): 992
Dirección del resultado (OP3): 993


En la fase de búsqueda de la instrucción se realizarán los siguientes pasos:

1) La UC envía una microórden para que el CP que contiene la dirección de la siguiente instrucción, sea transferido al RDM.

2) La posición de memoria que figura en el RDM, es utilizada por el selector para transferir su contenido (instrucción) al RIM.

3) Se transfiere la instrucción del RIM al RI.

4) El decodificador interpreta la instrucción al RI, en este caso SUMAR, quedando dispuesto para la activación del circuito sumador de la UAL e informando al secuenciador.

5) El CP se auto incrementa con un valor 1 (o n en el caso de que esta sea la longitud de la palabra de memoria), de tal forma que quede apuntando a la siguiente instrucción situada consecutivamente en memoria.

Si la instrucción es de ruptura de secuencia, el CP se cargará con la dirección que corresponda.

Fase de ejecución de una instrucción: consiste en la realización de todas las acciones que conlleva la propia instrucción. Realiza los siguientes pasos:


1) Se transfiere la dirección del primer operando desde RI al RDM.

2) El selector extrae dicho dato de la memoria y lo deposita en el RIM.

3) Se lleva este operando desde el RIM al registro de entrada 1 (REN1) de la UAL.

4) Se transfiere la dirección de segundo operando desde el RI al RDM.

5) El selector extrae de la memoria dicho dato depositándolo en el RIM.

6) Se lleva este operando desde el RIM al registro de entrada 2 (REN2) de la UAL.

7) El secuenciador envía una microonda a la UAL para que se ejecute la operación (en este caso una suma).
El resultado de la operación queda almacenado en el RA.

8) Este resultado es enviado desde el RA al RIM.

9) Se transfiere desde el RI al RDM la dirección donde se almacenara el resultado en la memoria.

10) Se transfiere el resultado desde el RIM a la dirección de memoria indicada en el RDM.

Si en la instrucción no se hubiese necesitado operando, no se ejecutarían los pasos 1 a 6, ni el 8.

Las siguientes fases se explican en forma dinámica en las diapositivas del esquema general (que se pueden bajar de la página http://vistosiblog.blogspot.com/:

Fase de búsqueda de la instrucción
Fase de Ejecución de la Instrucción de Almacenamiento
Fase de Ejecución de la Instrucción de Carga
Fase de Ejecución de la Instrucción de Salida

Publicar un comentario en la entrada

About Me

Mi foto
Mauricio Vistosi
Ver todo mi perfil

  © Blogger template The Professional Template II by Ourblogtemplates.com 2009

Back to TOP