“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