La Ejecucion de Instrucciones

Universidad Nacional de Ingeniería Facultad de Ingeniería Industrial y de Sistemas Área de Computación e Informática Cur

Views 141 Downloads 1 File size 432KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Nacional de Ingeniería Facultad de Ingeniería Industrial y de Sistemas Área de Computación e Informática Curso Profesor

: :

Arquitectura del computador – ST 314 V Lic. José Alberto Zamora Ramírez

La Ejecución de Instrucciones en el Computador 1. El Ciclo de una Instrucción La ejecución de una instrucción siempre conlleva realizar la misma secuencia de pasos independientes del Repertorio de Instrucciones (Set de Instrucciones) específicos que posea el procesador y de los campos y modos de direccionamiento que se hayan definido. De forma genérica, el ciclo de ejecución de una instrucción se puede dividir 2 fases o pasos principales, aunque luego veremos que estas 2 fases son equivalentes a 4 ciclos de forma general. En cada uno de estos pasos se lleva a cabo una serie de operaciones en los distintos elementos que constituyen la CPU que dan como resultado final la ejecución de la instrucción. Cada uno de estos pasos puede necesitar un número diferente de ciclos de reloj dependiendo de su propia complejidad y de los recursos que la CPU tenga para su realización. La temporización básica del computador viene dada por un reloj, que determina el tiempo mínimo que puede durar una operación elemental.

Por tanto, para que un programa pueda ser ejecutado por una computadora, éste ha de estar almacenado en la memoria central. La unidad central de

Arquitectura del Computador – Lic. José Zamora Ramírez

1

proceso tomará una a una sus instrucciones e irá realizando las tareas correspondientes. Veremos más detalladamente las 2 fases:  Fase de búsqueda (captación), en la que se transfiere la instrucción que corresponde ejecutar desde la memoria principal a la unidad de control.  Fase de ejecución, que es la realización de todas las acciones que conlleva a la propia instrucción.

1.1.

Fase de búsqueda (captación) de una instrucción

En esta fase se realiza la búsqueda en memoria de la instrucción cuya dirección guarda el registro contador de programa y se almacena en el registro de instrucción. El contenido del contador de programa se incrementa de manera que almacena la dirección de la siguiente instrucción en secuencia. Para su estudio, vamos a suponer un ejemplo de instrucción aritmética de suma con tres direcciones y direccionamiento directo, es decir, la instrucción contiene el código de operación correspondiente a la suma, los dos sumandos están en las direcciones de memoria correspondientes a los dos primeros operandos y el resultado ha de 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). Código de operación (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 realizan los siguientes pasos: 1. La unidad de control envía una microorden para que el contenido del registro contador de programa que contiene la dirección de la siguiente instrucción, sea transferido al registro de dirección de memoria.

Arquitectura del Computador – Lic. José Zamora Ramírez

2

2. La posición de memoria que figura en el registro de dirección de memoria es utilizada por el selector para transferir su contenido al registro de intercambio de memoria. 3. Se transfiere la instrucción desde el registro de intercambio de memoria al registro de instrucción. 4. Posteriormente el decodificador procede a interpretar la instrucción que acaba de llegar al registro de instrucción, en este caso SUMAR, quedando dispuesto para la activación del circuito sumador de la ALU e informando al secuenciador. 5. El registro contador de programa se auto incrementa con un valor 1 (en el caso de que sea ésta la longitud de la palabra), de tal forma que quede apuntado a la siguiente instrucción situada consecutivamente en memoria. Si la instrucción en ejecución es de ruptura de secuencia, el contador de programa se cargará con la dirección que corresponda. La figura 24 ilustra la fase de búsqueda de una instrucción.

1.2.

Fase de ejecución de una instrucción

En ésta fase se realiza la operación indicada por la instrucción y si ésta lo precisa se almacena el resultado en los registros internos de la CPU o en la memoria. La fase de ejecución se realiza en los siguientes pasos, pero hay que tener en cuenta que si la instrucción no tuviese operandos, los pasos del 1 al 6 y el paso 8 se omitirían. 1. Se transfiere la dirección del primer operando desde el registro de instrucción al registro de dirección de memoria.

Arquitectura del Computador – Lic. José Zamora Ramírez

3

2. El selector extrae de la memoria dicho dato depositándolo en el registro de intercambio de memoria. 3. Se lleva este operando desde este registro al registro de entrada 1 de la ALU. 4. Se transfiere la dirección del segundo operando desde el registro de instrucción al registro de memoria. 5. El selector extrae de la memoria dicho dato y lo deposita en el registro de intercambio de memoria 6. Se lleva este operando desde este registro al registro de entrada 2 de la ALU. 7. El secuenciador envía una microorden a la ALU para que se ejecute la operación. El resultado de la operación queda almacenado en el acumulador. 8. Este resultado se envía desde el acumulador al registro de intercambio de memoria. 9. Se transfiere desde el registro de instrucción al registro de dirección de memoria la dirección donde ha de almacenarse el resultado en la memoria. 10. Se transfiere el resultado desde el registro de intercambio de memoria a la dirección de memoria indicada en el registro de dirección de memoria. La figura 25 ilustra la fase de ejecución de una instrucción.

2.

Detalle del Ciclo de Ejecución de una Instrucción Si bien es cierto el Ciclo de Ejecución de una Instrucción se puede revisar en 2 grandes fases, veremos que existen 4 subciclos que detallan estas 2 grandes fases:  Captación  Indirecto

Arquitectura del Computador – Lic. José Zamora Ramírez

4

 

Interrupción Ejecución

Cada uno de estos subciclos conllevan a ejecutar un conjunto de microoperaciones, para hacer realidad la Ejecución de la Instrucción.

Arquitectura del Computador – Lic. José Zamora Ramírez

5

2.1.

El ciclo de captación

Tiene lugar al principio de cada ciclo de instrucción, y hace que una instrucción sea captada de la memoria. En este ciclo hay 4 registros implicados:  Registro de dirección de memoria ( “Memory Address Register – MAR”) : Esta conectado a las líneas de dirección del bus del sistema. Especifica la dirección de memoria de una operación de lectura o escritura.  Registro intermedio de memoria (“Memory Buffer Register – MBR”) : Esta conectado a las líneas de datos del bus del sistema. Contiene el valor a almacenar en memoria o el ultimo valor leido de memoria.  Contador de Programa (“Program Counter – PC”) : Contiene la dirección de la siguiente instrucción a captar.  Registro de instrucción (“Instruction Register – IR”) : Contiene la ultima instrucción captada.

Consideremos la secuencia de eventos del ciclo de captación desde el punto de vista de su efecto sobre los registros del procesador. Arquitectura del Computador – Lic. José Zamora Ramírez

6

MA R MB R PC IR AC

MAR 0000101000101010 MBR 0000101000101010

PC IR AC

Inicio MA R MB R PC IR AC

0000101000101010

Primer Paso

0000101000101010

MAR 0000101000101010

0010000000100000

MBR 0010000000100000

0000101000101011

PC IR AC

Segundo Paso

0000101000101011 0010000000100000

Tercer Paso

Al comienzo del ciclo de captación, la dirección de la siguiente instrucción a ejecutar está en el contador del programa (PC), en este caso la dirección : 0000101000101010. El primer paso es llevar esa dirección al Registro de Dirección de Memoria (MAR), ya que este es el único registro conectado a las lineas de dirección del bus del sistema. El segundo paso es traer la instrucción. La dirección deseada (en MAR) se coloca en el bus de direcciónes ; la unidad de control emite una orden READ por el bus de control; el resultado aparece en el bus de datos y se copia en el Registro Intermedio de Memoria (MBR). Es necesario, además, incrementar PC según la longitud de la instrucción para que este preparado para la siguiente instrucción. Como estas dos acciones : leer una palabra de memoria y sumar a PC, no interfieren entre si, podemos hacerlas simultáneamente para ahorrar tiempo. El tercer paso es transferir el contenido de MBR al registro de instrucción (IR) , lo cual libera al MBR para su uso durante otro ciclo. De este modo el ciclo de captación consta de 3 pasos y 4 microoperaciones. Cada microoperación implica la transferencia de datos hacia dentro o hacia afuera de un registro. Con tal de que estas transferencias no interfieran entre si, varias de ellas pueden tener lugar durante un paso, ahorrando tiempo, luego la secuencia simbólicamente sería: t1 : MAR