Está en la página 1de 5

El ciclo de instrucción

“El Ciclo Instrucción” cuenta con dos fases, la primera es la obtención y la


segunda es la fase de ejecución:

2.3.1 Ciclo Fetch-Decode-Execute


Fase de Obtención donde:

 El registro Contador del Programa (PC) tiene la dirección de la siguiente


instrucción que va obtener.
 El procesador obtiene la siguiente instrucción de la localidad de memoria apuntada
por el PC.
 El PC se incrementa:
 A menos que se le indique otra cosa
 El PC queda apuntando a la siguiente instrucción
 La instrucción se carga en el Registro Instrucción (IR).
 El procesador interpreta la instrucción y realiza las acciones indicadas por ella.

Fase de Ejecución donde:


 Procesador-memoria
 Transferencia de datos entre CPU y memoria principal
 Procesador – E/S
 Transferencia de datos entre CPU y un módulo de E/S
 Procesamiento de datos
 Alguna operación aritmética o lógica sobre los datos
 Control
 Alteración de la secuencia de operaciones
 e.g. Salto (jump)
 Una combinación de las anteriores
 Una combinación de las anteriores
Ciclo instrucción más detallado:

Obtener la instrucción de la memoria de programa

Determinar el tamaño de la instrucción y las acciones ejecutar


Localizar y obtener los operandos (datos)

Procesar los datos y calcular el valor del resultado y el estado de la máquina


Escribir los resultados en memoria para un uso posterior

Determinar la instrucción que sigue

Diagrama de estados del ciclo de instrucción


Qué es un programa
 Una secuencia de instrucciones
 Por cada instrucción se realiza una operación (aritmética o lógica) o una
transferencia (de datos o control)
 Cada operación es ejecutada siguiendo los pasos dados en el ciclo instrucción
Ciclo indirecto
 Puede requerir acceso a memoria para extraer operandos
 El direccionamiento indirecto requiere más accesos a memoria
Flujo de datos (Obtención de la instrucción)
 Depende del diseño del CPU
 En general:
 PC contiene la dirección de la siguiente instrucción
 La dirección se mueve a MAR
 Se pone la dirección en el bus de direcciones
 La unidad de control solicita lectura a memoria
 El resultado se pone en el bus de datos, copiado a MDR, y después a IR
 Mientras tanto el PC se incrementa a 1
Flujo de datos (Obtención de los datos)
 Si es direccionamiento indirecto, se ejecuta el ciclo indirecto
 Los N bits más de la derecha de MDR se transfieren a MAR
 La unidad de control solicita lectura de memoria
 El resultado (dirección del operando) se mueve a MDR

Flujo de datos a: fase de obtención


Flujo de datos b: ciclo indirecto

Flujo de datos (Ejecución)


 Puede tomar varias formas
 Depende de la instrucción que se está ejecutando
 Puede incluir:
 Lectura/Escritura de la memoria
 Entrada/Salida
 Transferencias de registros
 Operaciones en la ALU

También podría gustarte