-
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.
-
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.
-
Recogida de datos desde la memoria principal.
-
También se lee la dirección efectiva de la memoria principal si la instrucción tiene una dirección indirecta, y
se recogen los datos requeridos de la memoria principal para ser procesados y colocados en los registros de datos.
-
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.
-
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.
-
Ciclo de búsqueda.
-
Los pasos 1 y 2 del ciclo de instrucción se conocen como ciclo de búsqueda (fetch). Estos pasos son idénticos en todas las instrucciones.
-
El ciclo de búsqueda procesa la instrucción a partir de la palabra de instrucción, que contiene el código de operación y el operando.