4

Click here to load reader

CICLO DE LOS PROCESOS DE EJECUCIÓN DE INSTRUCCIONES

Embed Size (px)

Citation preview

Page 1: CICLO DE LOS PROCESOS DE EJECUCIÓN DE INSTRUCCIONES

CICLO DE LOS PROCESOS DE EJECUCIÓN DE INSTRUCCIONES

La función básica que realiza un computador es la ejecución de un programa. Un programa consiste en un conjunto de instrucciones y datos almacenados en la unidad de memoria. La CPU es la encargada de ejecutar las instrucciones especificadas en el programa.

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úsqueda1. 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.

M E M O R IA

C P: 3F8h

R I

R M : 1001101

10011 01

R D

1 º

2 º

3 º

4 º

1 0 0 11 0 1

D ato o in strucc ió n

D a to o in strucc ió n

In c rem e n to

D ire c c ió n d e m e m o r ia

Registro deDirecciones

Registro de Instrucciones

Registro de Memoria

Registro Contador de Programa

5º Decodificación ...

Page 2: CICLO DE LOS PROCESOS DE EJECUCIÓN DE INSTRUCCIONES

b) Fase de Ejecución: comprende el conjunto de operaciones elementales específicas de la instrucción en curso.

1. Decodificación de la Instrucción. Por ejemplo la Instrucción ADD.

2. 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.

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

4. 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.

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

C O ADD n O P 1 M D M DC R C RC D C DO P 2 :

In s tru cc ió n

C ó dig o de o p era c ió n .

O p eran d o 1P arte d e la in s truc c ió n (o p e ran d o 2 )

M o d o d e d ire cc io n a m ie n toC a m p o d e r eg is t ro

C a m p o d e d ir ec c ió n : d e s p l az a m ie n to o d a to

Page 3: CICLO DE LOS PROCESOS DE EJECUCIÓN DE INSTRUCCIONES

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

Secuencia de acciones del ciclo de instrucción

Habitualmente son cuatro los eventos o pasos que se llevan a cabo en cada ciclo de instrucción, los cuales son:

(1) Buscar la instrucción en la memoria principal

Se vuelca el valor del contador de programa sobre el bus de direcciones. Entonces la CPU pasa la instrucción de la memoria principal a través del bus de datos al Registro de Datos de Memoria (MDR). A continuación el valor del MDR es colocado en el Registro de Instrucción Actual (CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser decodificada y ejecutada.

(2) Decodificar la instrucción

El decodificador de instrucción interpreta e implementa la instrucción. El registro de instrucción (IR) mantiene la instrucción en curso mientras el contador de programa (PC, program counter) guarda la dirección de memoria de la siguiente instrucción a ser ejecutada.

(3) Ejecutar la instrucción

A partir del registro de instrucción, los datos que forman la instrucción son decodificados por la unidad de control. Ésta interpreta la información como una secuencia de señales de control que son enviadas a las unidades funcionales relevantes de la CPU para realizar la operación requerida por la instrucción.

(4) Almacenar o guardar resultados

El resultado generado por la operación es almacenado en la memoria principal o enviado a un dispositivo de salida dependiendo de la instrucción. Basándose en los resultados de la operación, el contador de programa se incrementa para apuntar a la siguiente instrucción o se actualiza con una dirección diferente donde la próxima instrucción será recogida.

B Ú S Q U E D A

R e lo j

L e c tu ra d e O p eran d o s O p e ra c ió n D e co d if ic a c ión

1 2 3 4 5 6 7 8 9 10

R epresen tac ión de las fases de una instrucción en func ión de l relo j de l sistem a.